开发者社区 问答 正文

Ubuntu 更改文件夹权限及chmod详细用法


Ubuntu的许多操作是在终端中进行的,通过sudo命令管理的文件是由root持有权限的,一般用户是无法改变的。在图形界面上,我们可以通过属性中的权限选项夹进行操作。但是一旦文件的属性显示当前用户没有读写权力时,无法在图形界面上修改权限。

常用方法如下:

sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

其中×××指文件名(也可以是文件夹名,不过要在chmod后加-ld)。

解释一下,其实整个命令的形式是
sudo chmod -(代表类型)×××(所有者)×××(组用户)×××(其他用户)

三位数的每一位都表示一个用户类型的权限设置。取值是0~7,即二进制的[000]~[111]。

这个三位的二进制数的每一位分别表示读、写、执行权限。

如000表示三项权限均无,而100表示只读。这样,我们就有了下面的对应:
0 [000] 无任何权限
4 [100] 只读权限
6 [110] 读写权限
7 [111] 读写执行权限

现在看上面的几个常用用法就非常清楚了。试着自己来修改权限吧

最后同时附上查询文件(或文件夹)权限的命令
ls -l 文件名称 (文件夹将-l改为-ld)。
ubuntu 在某个文件夹不能新建文件


文件夹的权限里是这样写的:您不是所有者,所以您不能更改这些权限。


解决方法:首先进入命令行 输入 sudo su
然后chmod 777 文件夹名 就行了

展开
收起
寒喵 2018-12-29 19:34:09 9254 分享 版权
阿里云 AI 助理回答

您描述的情况很常见,当用户在Ubuntu系统中遇到无法在特定文件夹内新建文件的问题时,通常是因为该文件夹的权限设置限制了当前用户的操作。您给出的解决方法是正确的,这里我再稍微详细解释一下步骤和原理:

  1. 使用sudo su命令:这一步是为了切换到超级用户(root)模式。sudo命令允许有权限的用户执行超级用户权限的命令,而su命令用于切换到另一个用户,通常默认为root。结合在一起,sudo su命令让你暂时以root身份登录,从而拥有对系统所有文件和设置的完全控制权。

  2. 执行chmod 777 文件夹名:接下来,你使用chmod命令修改文件夹的权限。777这个数字表示给所有用户(所有者、所属组用户和其他用户)赋予读、写和执行的权限。这是一种非常开放的权限设置,通常只在特定情况下或测试环境中使用,因为这样的设置可能会带来安全风险。在生产环境中,更推荐根据实际需要精确设置权限,比如仅给予必要的用户或组写入权限。

请注意,直接将文件夹权限设置为777是一种临时且较为粗放的解决方式,它可能不符合最佳的安全实践。在多数情况下,你应该考虑以下几点来更安全地解决问题:

  • 确定需要的最小权限:只给予每个用户或组完成其任务所需的最小权限级别。
  • 使用用户和组管理:如果可能,将需要访问该文件夹的用户添加到一个共同的组中,然后只对该组赋予权限。
  • 具体权限设置:例如,如果你只需要给特定用户写权限,可以使用如sudo chmod 750 文件夹名,其中所有者有全部权限,组用户只有读和执行权限,其他用户没有任何权限。或者,你可以用sudo chmod g+w 文件夹名单独给组用户增加写权限。

最后,确保在调整完权限后,通过ls -l 文件夹名命令检查更改是否生效,并确认新的权限设置符合你的预期和安全要求。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答