标签: posix

bash中的双方括号和单方括号有什么区别?

我只是想知道两者之间到底有什么区别

[[ $STRING != foo ]]
Run Code Online (Sandbox Code Playgroud)

[ $STRING != foo ]
Run Code Online (Sandbox Code Playgroud)

除此之外,后者是符合 POSIX 的,可在 sh 中找到,而前者是在 bash 中找到的扩展。

scripting shell bash posix

509
推荐指数
5
解决办法
24万
查看次数

Linux 的安全网络文件系统:人们在做什么?

NFSv3 很普遍,但默认的安全模型是... quaint。CIFS 可以使用 Kerberos 身份验证,但如果没有 POSIX 语义,它就无法启动。AFS 从未对线路上的流量进行加密,它是 krb4 — 基本上是一个死项目。花哨的新实验文件系统要么永远不会实现,要么专注于速度(如果幸运的话,还有数据可靠性)——例如,Lustre 使用与 NFSv3 相同的客户端信任模型。对于家庭使用,sshfs 非常好用,但这肯定不能扩展。

当然还有 NFSv4,sec=krb5p。理论上很好,但十年后,它似乎在现实世界中令人不安地未使用。Linux 客户端刚刚删除了实验标签。如果你看看 EMC Celerra、Isilon 等,它们都是 NFSv3。(Celerra 支持 NFSv4,但它确实隐藏在文档中。Isilon 显然致力于将 RPCGSS 支持添加到 FreeBSD,所以也许它即将到来,但现在还没有。)我什至不能将这篇文章标记为“nfsv4”,因为我我是新来的,那将是一个新标签

所以,真的。你们都在做什么?

security linux network-filesystem posix nfs4

26
推荐指数
2
解决办法
7360
查看次数

为某个目录中的新文件指定默认组和权限

我有一个目录,其中有一个由多个用户共享的项目。这些用户使用 SSH 访问此目录并修改/创建文件。

这个项目应该只对特定的用户组是可写的:我们称之为“mygroup”。在 SSH 会话期间,当前用户创建的所有文件/目录默认应归组“mygroup”所有,并具有组可写权限。

我可以解决权限问题umask

$ cd project
$ umask 002
$ touch test.txt
Run Code Online (Sandbox Code Playgroud)

文件“test.txt”现在是组可写的,但仍然属于我的默认组(“mislav”,与我的用户名相同)而不是“mygroup”。我可以chgrp递归地设置所需的组,但我想知道是否有一种方法可以隐式设置某些组,例如 umask 在会话期间更改默认权限。

这个特定目录是一个带有工作副本的共享 git 存储库,我希望git checkoutgit reset操作为在工作副本中创建的新文件设置正确的掩码和组。操作系统是 Ubuntu Linux。

更新:一位同事建议我应该查看POSIX ACL 的getfacl/setfacl,但下面结合umask 002当前会话中的解决方案对我来说已经足够了,而且要简单得多。

unix permissions posix umask chgrp

16
推荐指数
3
解决办法
2万
查看次数

Interix 和 Cygwin 之间的实际区别是什么?

InterixCygwin似乎都在 Windows 中提供了类似 Unix 的用户环境。两者之间的实际区别是什么,例如:

  • 类Unix的“感觉”
  • 表现
  • 软件包可用性/易于编译从互联网下载的随机软件
  • 与 Windows 应用程序和工具集成
  • 与虚拟机的集成/兼容性(例如,Interix 和 Ubuntu 虚拟机是否可以共享相同的“主目录”)
  • 用户群规模/社区支持水平

我知道的一个区别是 Interix 需要 Windows 7 企业版或旗舰版;Cygwin 可以在任何东西上运行。

windows unix cygwin posix interix

14
推荐指数
1
解决办法
6334
查看次数

setgid 目录的目的是什么?

我知道setgid是如何工作的,但我不知道它是为什么设计的,有没有例子可以说明它解决了什么问题?

linux unix setgid posix

13
推荐指数
2
解决办法
2万
查看次数

Samba 能否支持完整的 Windows-ACL?

我已经设置了一个带有 AD 集成和一个启用了 ACL 的文件系统的 Samba 3 主机。使用 Windows 客户端,我可以设置用户和组权限。

到目前为止,Samba 只是映射到 POSIX ACL 的 rwx 权限,这阻止我在 Windows 上使用“修改”或“完全控制”权限。我还阅读了一些关于 xattrs 和 ZFS ACL 支持的内容。

有人可以暗示超越 POSIX ACL 以完全类似于 Windows ACE 的最佳方法是什么吗?

active-directory samba access-control-list file-permissions posix

12
推荐指数
2
解决办法
2万
查看次数

使用 ACL 设置每个目录的 umask

我们想在某个目录上模拟系统范围 002 umask 的行为,foo以确保以下结果:

  1. 在下面创建的所有子目录foo将具有 775 权限
  2. 在下面创建的所有文件foo和子目录都将具有 664 权限
  3. 1 和 2 将发生在所有用户(包括 root 和所有守护进程)创建的文件/目录中。

假设在我们的分区上启用ACL,这是我们想出的命令:

setfacl -R -d -m mask:002 foo
Run Code Online (Sandbox Code Playgroud)

......但这不起作用。在目录中创建的新文件最终看起来像:

-rw--wr--+

当我运行getfacl新文件时,我得到:

# file: newfile.py
# owner: root
# group: agroup
user::rw-
group::rwx #effective:-w-
mask::-w-
other::r--

换句话说,施加mask:200与ACL是一样的涂敷umask 200

那么没有办法通过 ACL 应用每个目录的 umask?

linux permissions access-control-list posix umask

6
推荐指数
1
解决办法
1万
查看次数

有谁知道哪里可以找到 NFS4 ACL 的好资源?

我正在尝试在已经使用 POSIX ACL 的环境中使用 NFS4 ACL。我在互联网上找到了一些网站,它们解释了有关 NFS4 ACL 的一些技术细节以及它们是如何创建的,但是当我尝试执行这些工具时,这些工具似乎对我来说失败了。

有没有人有很好的资源/教程来解释如何设置 NFS4 ACL?

当我尝试从服务器更改 ACL 集时:

[root@ny-bar01 foo_server]# nfs4_setfacl -e /nfs/obfuscate/
Operation to request attribute not supported.
Failed to instantiate ACL.
Run Code Online (Sandbox Code Playgroud)

当我尝试从客户端更改 ACL 集时:

[root@ny-baz02 foo_client]# nfs4_setfacl -R -e .
Failed setxattr operation: Operation not permitted
An error occurred during recursive file tree walk.
Run Code Online (Sandbox Code Playgroud)

linux nfs access-control-list posix

5
推荐指数
1
解决办法
3224
查看次数

如何让多个用户访问 chmod() 同一个文件?

我有一个系统,其中多个用户正在运行chmod相同文件的应用程序。我尝试使用setacl将两个用户添加为文件的用户所有者来执行此操作,但它不起作用。由于chmod系统调用失败,应用程序出错。

见示例:

[jacob@macbook-debian ~/Projects/test] getfacl bin/testfile
# file: bin/testfile
# owner: root
# group: root
user::rwx
user:jacob:rwx
user:jason:rwx
group::r-x
group:www-data:rwx
mask::rwx
other::r-x


[jacob@macbook-debian ~/Projects/test] chmod 0755 bin/testfile
chmod: changing permissions of 'bin/testfile': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

linux chmod gnu posix setfacl

3
推荐指数
1
解决办法
1823
查看次数

无法在 CentOS 6 上安装 php-posix

我正在尝试在 CentOS 6 上安装 php-posix,但没有成功:

$ yum install php-posix
Run Code Online (Sandbox Code Playgroud)

得到以下错误:

Loaded plugins: downloadonly, fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nluug.nl
 * epel: nl.mirror.eurid.eu
 * extras: ftp.nluug.nl
 * updates: ftp.nluug.nl
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-process.x86_64 0:5.3.3-27.el6_5 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.3-27.el6_5 for package: php-process-5.3.3-27.el6_5.x86_64
--> Finished Dependency Resolution
Error: Package: php-process-5.3.3-27.el6_5.x86_64 (updates)
           Requires: php-common(x86-64) = 5.3.3-27.el6_5
           Installed: php-common-5.4.30-1.el6.remi.x86_64 (@remi)
               php-common(x86-64) = 5.4.30-1.el6.remi
           Available: php-common-5.3.3-26.el6.x86_64 (base)
               php-common(x86-64) …
Run Code Online (Sandbox Code Playgroud)

php centos posix

2
推荐指数
1
解决办法
2万
查看次数