嵌入式Linux基础知识6(ubuntu16 下操作目录,出现Permission denied的解

2019-07-12 17:15发布

需求说明:IPC项目需要Linux系统,知识储备 来自:时间的诗 1、问题 在对目录(share_windows)进行操作的时候,出现这样一个提示Permission denied 查阅资料是权限没设好 解决的办法: $ sudo chmod -R 777 share_windows 注:-R 是指级联应用到目录里的所有子目录和文件
       777 是所有用户都拥有最高权限
2、基础知识 文件/目录权限设置命令:chmod 
这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。该命令有两种用法: 
用包含字母和操作符表达式的文字设定法 
其语法格式为:chmod [who] [opt] [mode] 文件/目录名 

其中who表示对象,是以下字母中的一个或组合: 
u:表示文件所有者 
g:表示同组用户 
o:表示其它用户 
a:表示所有用户 
opt则是代表操作,可以为: 
+:添加某个权限 
-:取消某个权限 
=:赋予给定的权限,并取消原有的权限 

而mode则代表权限: 
r:可读 
w:可写 
x:可执行 

例如:为同组用户增加对文件a.txt的读写权限: 
chmod g+rw a.txt 
用数字设定法 
而数字设定法则更为简单:chmod [mode] 文件名 
关键是mode的取值,一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为: 
111 101 100 
再将其每三位转换成为一个十进制数,就是754。 

例如,我们想让a.txt这个文件的权限为: 
自己 同组用户 其他用户 
可读 是 是 是 
可写 是 是 可执行 
那么,我们先根据上表得到权限串为:rw-rw-r--,那么转换成二进制数就是110 110 100,再每三位转换成为一个十进制数,就得到664,因此我 们执行命令: 
chmod 664 a.txt