我想在 linux 下创建一个目录(或挂载一个目录,例如:nfs),其中:
- 每个用户都可以创建文件
- 但只有 root 用户可以修改创建的文件(覆盖、删除或移动它们)
如何做到这一点,这些解决方案的安全性如何?(例如:sentinel script、umask等?)
谢谢,克里斯
我想在 linux 下创建一个目录(或挂载一个目录,例如:nfs),其中:
如何做到这一点,这些解决方案的安全性如何?(例如:sentinel script、umask等?)
谢谢,克里斯
我会尝试使用inotifywait创建后更改文件权限。这个(未经测试的)片段可能会有所帮助,但绝对不是很优雅。它将 root 设置为 /path/to/dir 中所有创建文件的所有者,并删除组和其他人的写权限。
while true; \
do inotifywait -e create /path/to/dir/ && \
chown root /path/to/dir/* && \
chmod g-wo-w /path/to/dir/*; \
done
希望对您有所帮助 *jost
如果创建文件的用户也可以更改它们,则可以使用粘性位。如果您给 chmod 一个 4 位参数,这是第一个数字。
su -
mkdir stickydir
chmod 1775 stickydir
chown user.group stickydir
现在组的所有成员都可以写入目录,但只有创建文件的用户或 root 才能更改文件
su - user1 #member of group
touch stickydir/stickytest-user1 #ok
su - user2 #member of group
touch stickydir/stickytest-user2 #ok
rm stickydir/stickytest-user1 #permission denied
rm stickydir/stickytest-user2 #ok