在 Linux 中,如何设置目录权限以防止用户在其中列出、删除或创建文件?

In Linux how do I set permissions for a directory that prevent a user from listing, deleting or creating files within?

我正在为我正在参加的 Linux class 做家庭作业,我需要完成作业,以便所有者以外的用户无法在其中列出、删除或创建任何文件一个目录。他们还必须仍然被允许访问文件(假设他们知道目录和文件名,因为他们不允许列出它),但不允许修改或执行。我已经有了它,因此用户无法修改或使用 chmod 执行,但我不确定如何阻止用户列出或删除目录中的文件。

如果您的用户名是 alex,文件夹名称是 homework,

  1. 尝试
    chmod -R 700 作业

来自您的登录

  1. 确保所有者是亚历克斯。否则使用命令更改所有权

chown alex:alex 作业

现在使用另一个用户名登录并执行

作业

你应该得到权限被拒绝的错误

"Users other than the owner"

所以我们在谈论团体和其他

"Cannot delete, create [...] modify or execute it"

删除其他人和群组的 wx 权限:

chmod -R g-wx o-wx  /path/to/your/file

chmod 快速回顾:

  1. u = 文件的所有者(用户)
    g = 组所有者(组)
    o = 系统上的任何其他人(其他)

  2. 添加权限(+)
    删除权限 (-)

  3. r = 读取权限
    w = 写权限
    x = 执行权限

关于阻止他们列出目录,我不知道是否可行,但您可能可以通过阅读此处找到您要查找的内容:
http://www.penguintutor.com/linux/file-permissions-reference
在这里:https://askubuntu.com/questions/200911/how-to-prevent-access-to-a-folder-by-other-users