【问题标题】:In Linux how do I set permissions for a directory that prevent a user from listing, deleting or creating files within?在 Linux 中,如何为目录设置权限以防止用户在其中列出、删除或创建文件?
【发布时间】:2017-09-13 06:20:24
【问题描述】:

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

【问题讨论】:

    标签: linux permissions ls


    【解决方案1】:

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

    1. 试试
      chmod -R 700 作业

    来自您的登录

    1. 确保所有者是 alex。否则使用命令更改所有权

    chown alex:alex 作业

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

    功课

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

    【讨论】:

    • 好的,谢谢。要允许 Alex 以外的用户访问该文件,但仍然不能修改或执行,我只需要 chmod 744 吗? -R 有什么作用?还有一件事,我需要从 alex 获得执行权限,但是在这样做之后,即使读取或写入仍然打开,我也不允许(作为 alex)列出甚至修改目录。所以我想这里的问题是执行能力究竟允许一个人做什么?
    • @Alex5775 是的,744 应该可以工作。 -R 是递归的,这意味着 700 适用于文件夹作业中的所有文件。仅在 rwx 中启用 'x' 时,您只能执行,但不能读/写。
    • 再次感谢,到目前为止,您确实帮助我更好地理解了操作系统,但是在我给出的示例中,我取消了执行,并允许读写,所以我只是想知道为什么当我只取消执行权限时,我无法列出项目、cd 进入作业或在可读范围内创建新文件或目录。
    • 希望它应该可以工作。检查文件夹的所有权和权限。你可以尝试一下
    【解决方案2】:

    “所有者以外的用户”

    所以我们谈论的是组和其他

    “无法删除、创建 [...] 修改或执行它”

    删除其他人和组的 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

    【讨论】:

      猜你喜欢
      • 2010-10-30
      • 1970-01-01
      • 2023-02-11
      • 2015-07-28
      • 2016-01-17
      • 2019-12-03
      • 2015-03-01
      • 1970-01-01
      • 2018-08-18
      相关资源
      最近更新 更多