本文解决如下图所示问题,文件夹被加了锁或加了叉号,导致打开文件(夹)时提示:打开文件夹失败,您没有该目录的权限!这种情况一般出现在重装系统后访问原系统用户建的文件,或者使用过的USB设备时。方法很简单,就是修改文件或文件夹的读写权限,有很多种方法,这里使用了设置文件和文件夹对系统所有的用户都有读写执行权限,即:777。设置步骤为(1)在当前文件夹下右键鼠标,弹出上下文菜单后,选择“打开终端”。(2)在打开的终端里,输入命令:sudo chmod -R 777 ./ 输入入命令后回车,按提示输入管理员密码,如下图:输入密码后,按回车,即可看到所有文件夹都去掉了图标。如果想去掉某个文件夹的图标也可以输入命令:sudo chmod -R 777 Qt 就可以设置Qt的读写权限。这里的命令chown(change owner)是 Linux 系统中修改文件 / 目录所有者和所属组的核心命令,麒麟系统作为基于 Linux 内核的发行版,用法与通用 Linux 完全一致,常用于解决 “权限不足”“文件归属错误” 等问题,sudo 为提权操作,需要输入管理员密码,-R是递归操作,要同时修改文件夹下的子文件夹。其中,权限数字(777/755)用来表示文件或目录对三类用户的访问权限,对应3位数字:
第一类用户:文件或目录的所有者(User,对应chown设置的所有者)。
第二类用户:所有者所属的用户组(Group),即同一组用户。
第三类用户:其他所有用户(Other)
每个数字(0-7)由 3 个基础权限位组成,对应:r读权限,用4表示、w写权限用2表示、x执行权限用1表示,3个基础权限组合在一起就是对应的数字,常见权限设置如下图:
如果数字记不清,可以使用以下方式。
1. 仅修改文件 / 目录的所有者,只提供用户名
sudo chown 用户名 文件夹或文件名
# 麒麟系统常见场景:修改应用配置文件所有者为 root(解决权限不足)
sudo chown root 文件夹或文件名
2. 同时修改所有者和所属组
sudo chown 用户名:用户组 文件夹或文件名
3. 仅修改所属组(简化写法,只提供用户组,注意前面的冒号)
sudo chown :用户组 文件夹或文件名
4. 递归修改目录及所有子文件夹或文件(最常用)
sudo chown -R 用户名:用户组 文件夹或文件名
5. 查看文件属性可以使用命令,写文件时只显示文件属性,不写文件显示当前文件夹下所有问题件的属性:
sudo ls -l test.tx
# 输出示例:-rw-r--r-- 1 user1 group1 0 Jan 7 10:00 test.txt
6.增加用户对文件和文件夹的操作权限,常用于处理脚本或程序无法执行,提示“Permission denied”时
sudo chown 用户名:用户所在组 文件位置
sudo chmod +x 脚本或程序文件位置
需要注意:
【0】只有 root 用户或拥有 sudo 权限的用户才能修改文件的所有者;普通用户只能修改自己文件的所属组(且需是该组的成员)。
【1】麒麟系统中修改系统目录(如 /etc、/usr)的归属前,务必确认必要性,错误修改可能导致系统异常。
【2】递归修改(-R)时,避免对 / 根目录操作,否则会导致系统完全崩溃。