我可以在Bash中为特定组/用户添加权限而不修改现有所有者/组吗?

我可以在Bash中为特定组/用户添加权限而不修改现有所有者/组吗?,bash,file,ubuntu,permissions,Bash,File,Ubuntu,Permissions,这可能是一个奇怪的问题,但是:是否有任何方法可以在不更改列出的所有者/组权限的情况下,为一些文件添加特定用户和/或组的读、写和执行权限 我在Ubuntu 10.10上运行,使用bash安装了一组程序。其中包括Apache2、PHP5。执行初始安装的代理是root。将代码发送到机器上的代理是非root(我们称之为“cap”)。Root当然可以访问/var、/etc等等。Cap没有。但是,Cap需要启动和关闭Apache,将web应用程序放在/var/www中,等等 Op担心使用chmod或chow

这可能是一个奇怪的问题,但是:是否有任何方法可以在不更改列出的所有者/组权限的情况下,为一些文件添加特定用户和/或组的读、写和执行权限

我在Ubuntu 10.10上运行,使用bash安装了一组程序。其中包括Apache2、PHP5。执行初始安装的代理是root。将代码发送到机器上的代理是非root(我们称之为“cap”)。Root当然可以访问/var、/etc等等。Cap没有。但是,Cap需要启动和关闭Apache,将web应用程序放在/var/www中,等等

Op担心使用chmod或chown更改组权限。例如,他们不希望看到以下示例:

-rw-r--r-- 1 root root 3784 2013-03-29 15:45 file
改为:

-rw-r--r-- 1 cap non-root 3784 2013-03-29 15:45 file
我能看到的唯一选择是ACL,它似乎对允许谁使用rwx访问哪些文件有更细粒度的控制。但它似乎需要您重新安装分区,而ops将不赞成这样做


这能实现吗

我认为ACL是你唯一的选择。卷所在的装载类型是什么?我非常确定,如果不是NFS,它在默认情况下是启用的。getfacl/path/to/file的输出是什么


此外,如果/当您设置ACL时,如果文件/文件夹包含在用户或组对正常目录遍历没有读取/执行权限的层次结构中,您可能还希望创建指向该文件/文件夹的软链接。

如何使用
sudoers
?为什么不以root或sudo身份运行安装?如果您不属于sudo组或没有计算机的根密码,请使用本地安装目录。谢谢您的评论。我将不得不与sudoers一起尝试,但ops显然不希望cap用户成为该列表的一部分。我可以以root用户身份运行安装,我也尝试过使用本地安装,但这涉及到编译我自己的二进制文件,但效果不好。我同意,ACL是一种方法。即使对于根卷,也可以通过
mount-o remount…
动态执行重新装载。我对装载不太熟悉,但
mount-l
告诉我:
/dev/mapper/ubuntu root on/type ext4(rw,errors=remount ro)proc on/proc type proc(rw,noexec,nosuid,nodev)rpc\u-pipefs on/var/lib/nfs/rpc\u-pipefs-rpc\u-pipefs(rw)/dev/sda1 on/boot type ext2(rw)
除了那些列为
无的以外
。setfacl告诉我:
setfacl-m g:deploy:rwx/var/www/setfacl:/var/www/:操作不受支持
软链接有意义,我必须尝试一下。但我希望有人能帮助我理解为什么这个问题是离题的。我已经阅读了FAQ,但可能我不明白什么是主题编程或软件开发问题。这很可能是服务器故障。