我面临着一个恼人的问题。这真是令人沮丧。我正在学校使用计算机来学习 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权限的用户是否无法更改权限?我将不胜感激任何形式的帮助。
可能与最初的问题无关,但可能有用。 (特别是对于像我这样的 Unix 新手)
如果您不是资源所有者,Chmod 将不起作用。
你应该先运行 chown:
$ sudo chown -R $(whoami) .
然后
$ sudo chmod -R +rwX .
第一个命令将更改当前文件夹中所有内容的所有者以登录用户,第二个命令授予他们读写执行权限。 举例来说,您可能不应该如此大胆地更改所有权和权限。
请注意,当您想运行“chflags nouchg”时,您的终端可能会收到“不允许操作”的消息。因此,首先您应该在此处为您的终端提供“完整磁盘访问权限”:
系统设置 --> 隐私和安全 --> 全磁盘访问 --> 检查终端
然后关闭并重新打开您的终端。
现在,运行“chflags nouchg PathToYourFolder”
最后:
chmod 400 你的文件
完成!
我将该文件复制到我的
~/.ssh
文件夹,然后使用 chmod
更改权限。就这样完成了。
只是为了提供更多信息,ssh 文件夹的权限,
drwx------ 8 roh21 108 272 Jun 26 17:26 .ssh
以及我最初使用的文件夹的权限
drwxrwxrwx 2 roh21 108 2048 Jun 23 06:32 startup
我很好奇为什么即使在多次尝试使用
startup
选项后也无法更改 chmod -R
文件夹的权限。
另请注意,我在学校图书馆使用的是 Mac OS X。
看起来您已经发现 Macintosh 并不严格同意 UNIX 权限位。
最终,MacOS 设置并且 Macintosh Finder 遵守 ACL 位。
要快速解决您的问题,请在终端命令行中输入“
open .
”(或“startup
”文件夹的路径),这将在 Macintosh Finder 中打开该文件夹。
然后对文件执行“获取信息”:
您可以在此处更改您的权限。
看到模式标志旁边的“@”了吗?这意味着存在与该文件关联的扩展元数据。使用
ls -l@
查看它。 xattr
命令可让您查看和修改它们。那里可能有某些东西阻止您修改文件。
还可能有其他文件标志。使用
ls -lO
(大写-O)查看这些内容。可能性是这些标志之一是“uchg”标志,这意味着您的文件是不可变的。您可以按照 ÙÀÀÀ 建议使用 chflags nouchg <filename>
删除它。
最后,该文件可能附加了 ACL。使用
ls -le
查看。
一般来说,如果您确实想了解与 Mac 上的文件关联的所有元数据,命令是
ls -leO@
。
你好,它会起作用的
chflags nouchg /path/folder/
如果有人仍然遇到这个问题(我今天就是这样) 在 MacBook Pro 上,我单击“查看文件”图标,弹出窗口显示文件已锁定。取消选中该框,然后可以从那里进行 chmod。