【问题标题】:chmod unable to change permissionschmod 无法更改权限
【发布时间】:2013-06-19 18:30:42
【问题描述】:

我遇到了一个烦人的问题。这很令人沮丧。我在学校使用计算机来学习 Coursera Startup 课程。我正在尝试连接到 Amazon EC2 实例。我下载了密钥对。我检查权限。

mac5-library:startup roh21$ ls -l
total 6
-rw-rw-rw-@ 1 roh21  108  1692 Jun 22 16:45 startup-class-key.pem

所以,它不安全。所以我需要更改权限。我试试:

mac5-library:startup roh21$ chmod 400 startup-class-key.pem
mac5-library:startup roh21$ ls -l
total 6
-r--r--r--@ 1 roh21  108  1692 Jun 22 16:45 startup-class-key.pem

仍然对所有人拥有读取权限。只是为了演示会发生什么,我这样做:

mac5-library:startup roh21$ chmod 600 startup-class-key.pem
mac5-library:startup roh21$ ls -l
total 6
-rw-rw-rw-@ 1 roh21  108  1692 Jun 22 16:45 startup-class-key.pem

没有root权限就不能更改用户的权限吗?如果能提供任何帮助,我将不胜感激。

【问题讨论】:

  • 文件是在外部磁盘上,还是在亚马逊服务器上,或者类似的东西上?
  • 戈登,两者都没有。有什么帮助是,我将文件复制到我的 ~/.ssh 文件夹中,然后使用 chmod 更改了权限。做到了。我不知道为什么。如果您能解释一下,我将不胜感激。
  • 我唯一能想到的是文件是否位于某种不完全支持权限的卷上。如果它不是一个外部卷,也许是一个磁盘映像,某种其他类型的远程卷,不是 Mac OS 扩展格式的东西,......类似的东西。

标签: macos permissions amazon-web-services amazon-ec2 pem


【解决方案1】:

Looks like you've discovered that the Macintosh doesn't strictly agree with the UNIX permission bits

最终,MacOS 设置了 ACL 位,Macintosh Finder 遵循这些位。

要快速解决您的问题,请在终端命令行中输入“open .”(或“startup”文件夹的路径),然后在 Macintosh Finder 中打开该文件夹。

然后对文件执行“获取信息”:

您可以在此处更改您的权限。

【讨论】:

  • Michael,您的详细回复。但这并没有帮助 - 它没有让我选择更改获取信息中的权限。我看到的只有i.imgur.com/8mGsHeO.png 编辑:有什么帮助是,我将文件复制到我的 ~/.ssh 文件夹,然后用chmod 更改了权限。做到了。我不知道为什么。如果你能在你的帖子中解释这一点,我很乐意接受它作为答案。
  • 似乎设置了uchg 扩展标志,这会阻止您更改有关文件的任何内容。您可以使用 chflags nouchg <file> 从命令行中删除它
【解决方案2】:

我将文件复制到我的~/.ssh 文件夹,然后使用chmod 更改了权限。做到了。

只是为了提供更多信息,ssh文件夹的权限,

drwx------    8 roh21  108      272 Jun 26 17:26 .ssh

以及我最初使用的文件夹的权限

drwxrwxrwx    2 roh21  108     2048 Jun 23 06:32 startup

我很好奇为什么即使在多次尝试使用chmod -R 选项后我也无法更改startup 文件夹的权限。

另外,请注意,我在学校的图书馆中使用的是 Mac OS X。

【讨论】:

    【解决方案3】:

    可能与初始问题无关,但可能有用。 (尤其是像我这样的 Unix 新手)

    如果您不是资源的所有者,

    Chmod 将不起作用。

    你应该先运行chown

    $ sudo chown -R $(whoami) .
    

    然后

    $ sudo chmod -R +rwX .
    

    第一个命令将更改当前文件夹中所有内容的所有者以登录用户,第二个命令授予他们读写执行权限。 例如,您可能不应该如此大胆地更改所有权和权限。

    【讨论】:

    • 非常感谢!比其他人更好的解决方案
    • 这太棒了。在项目目录中运行sudo chown -R $(whoami) . 为我解决了这个问题。谢谢!
    • 太棒了。解决了我的整个 sudo 问题
    【解决方案4】:

    你好,它会工作的

    chflags nouchg /path/folder/
    

    【讨论】:

      【解决方案5】:

      看到模式标志旁边的“@”了吗?这意味着存在与文件关联的扩展元数据。使用ls -l@ 来查看。 xattr 命令将允许您查看和修改它们。可能存在阻止您修改文件的内容。

      可能还有其他文件标志。使用ls -lO(大写-O)查看这些。奇怪的是这些标志之一是“uchg”标志,这意味着您的文件是不可变的。您可以按照 أحمد طه 的建议使用 chflags nouchg <filename> 删除它。

      最后,文件可能附加了 ACL。使用ls -le 来查看。

      一般来说,如果你真的想知道与 Mac 上文件相关的所有元数据,命令是ls -leO@

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-15
        • 2016-01-16
        • 2016-01-20
        • 1970-01-01
        • 1970-01-01
        • 2017-05-08
        • 2013-02-16
        相关资源
        最近更新 更多