Answers:
有两种方法:将目录设置为可写的“世界”,或为两个用户创建一个新组,并使该目录可写至该组。
显然使它在世界范围内可写是一件坏事,因此第二种选择是可取的。
Linux中的用户可以属于多个组。在这种情况下,您想创建一个全新的组,我们称它为tomandruser
:
sudo groupadd tomandruser
现在该组已存在,将两个用户添加到其中:
sudo usermod -a -G tomandruser tomcat6
sudo usermod -a -G tomandruser ruser
现在剩下的就是在目录上设置权限了:
sudo chgrp -R tomandruser /path/to/the/directory
sudo chmod -R 770 /path/to/the/directory
现在,只有tomandruser组的成员才能读取,写入或执行目录中的任何内容。注意chmod和chgrp命令的-R参数:这告诉它们递归到目标目录的每个子目录中,并修改它找到的每个文件和目录。
您可能还希望将770更改为类似以下内容:774
如果您希望其他人能够读取文件,775
如果您希望其他人能够读取和执行文件,等等。组分配更改要等到用户注销并返回后才会生效在。
如果您还希望(也许愿意)由一个用户在目录内创建的新文件可以由该组中的其他人自动写入,则请参见此处。
chmod -R g+w
添加写权限的方式,而不用掩盖其他所有内容。
SELECT INTO OUTFILE
),它将为其主要组设置权限(mysql
在这种情况下),并且其他用户也无法访问该文件。如何解决这个问题?
例如脚本示出了示例,得到w (write)/ r (read) / x (execute)
许可给定的文件夹路径/path/to/the/directory
为USER1
和USER2
。如果您只想授予写权限,请替换rwx
为w
。
#!/bin/bash
# Block others and people in the same group to do read/write/execute on give folder:
sudo chmod 700 /path/to/the/directory
#Give read/write/execute access to USER1 on give folder:
sudo setfacl -R -m user:USER1:rwx /path/to/the/directory
#Give read/write/execute access to USER2 on give folder:
sudo setfacl -R -m user:USER2:rwx /path/to/the/directory
sudo find /path/to/the/directory -type d -exec chmod 2770 '{}' \;