Tomcat
我正在我的部署目录中工作。该目录下的文件具有以下权限:
drwxrwsr-x. 10 tomcat www 4.0K Mar 15 15:14 webapps
其中的示例子目录webapps
如下所示:
drwxr-sr-x. 6 tomcat www 4.0K Mar 15 15:19 oldApps
虽然我是组的成员www
,但我可以在 中创建目录oldApps
。尽管该组www
没有oldApps
.
我的文件中有一行sudoers
允许组mkdir
成员www
。我无法理解如何oldApps
在没有该文件夹的任何写入权限的情况下写入该文件夹。
更新:
好的,我知道我可能mkdir
以 root 身份运行该命令,从而允许我创建文件夹。如何删除该行sudoers
并仍然能够创建目录?
答案1
您实际上回答了自己的问题:您可以在您的组中创建一个没有写权限的子目录的原因是因为您的sudoers
文件中有一行允许mkdir
您的组的成员访问。
sudoers
也许您对文件和命令的用途感到困惑sudo
:您不需要明确允许您打算让某人运行的每个命令;事实上你不应该做这个。
sudo
是为了跑步特权命令。您应该只授予某人sudo
访问您希望他们能够运行的命令的权限作为根用户。通过任何命令的完全sudo
访问权限,用户可以执行以下操作任何事物,无论单个文件和目录的权限设置如何。
答案2
您可以创建该目录的原因是您正在使用sudo
.实际的mkdir
命令(最有可能)运行为tomcat
.由于设置了 set-gid 属性,新目录上的组仍然是www
更新:
要向其他用户和/或组添加权限,您可以使用扩展 ACL:
setfacl -d -m g:www:rwx oldApps
setfacl -m g:www:rwx oldApps