Linux文件权限
程序员文章站
2022-03-02 23:44:02
linux中,常常会涉及到权限的问题。文件的权限有3组,owner,group,other,每一组都有rwx三种设置。r(4):可读;w(2):可写;x(1):可执行。我们在执行shell命令ls -l时,就会显示出文件的所有信息 第一组就是文件属性中的高级属性,权限。这一组总共有10格,每一格是一 ......
linux中,常常会涉及到权限的问题。文件的权限有3组,owner,group,other,每一组都有rwx三种设置。r(4):可读;w(2):可写;x(1):可执行。我们在执行shell命令ls -l时,就会显示出文件的所有信息
第一组就是文件属性中的高级属性,权限。这一组总共有10格,每一格是一个bit。
第一个是特殊位:
d表示目录;
l表示连接文件;
-表示文件;
b表示为装置(device)文件中可供存储的接口设备;
c表示为装置文件中的串行端口设备(如键盘,鼠标);
s表示该文件是存放socket信息的,一般是给 process 之前用来进行 network socket 存取沟通使用的档案;
p表示数据输送文件(fifo,pipe),它的主要目的是为了解决多个程序同时存取一个文件时所造成的错误。
以后的9个格子按照之前所说的3个组依次分配,给每个组设置读,写,以及执行权限
在这里我们要注意:如果想开放一个目录,一定要确定x即可执行权限已经赋予了该用户或群,否则是不可以读写的,也就是说,我们给的r,w是没意义的。
文件权限的修改:
chmod:改变档案的属性、suid等特性
用法:chmod [-r] 777 dir/filename (注:7=r+w+x;6=r+w;5=r+x;3=w+x)
chmod [-r] a+rwx dir/filename
chmod [-r] u-r dir/filename
chmod [-r] u=rwx,go=rx dir/filename
(注:a:所有用户和组;u:所有者;g:组;o:其他。+:添加权限;-删除权限;=赋予权限)