浅谈linux文件权限

权限介绍

访问权限

  • 读取(r): 允许查看文件内容,显示目录列表
  • 写入(w): 允许修改文件内容,允许在目录中新建、删除、移动文件或者子目录
  • 可执行(x): 允许运行程序,切换目录
  • 无权限(-): 没有权限

linux中的文件权限标记

[haha@localhost .vnc]$ ls -l
总用量 28
-rw-r--r--. 1 haha haha  332 725 14:30 config
-rw-rw-r--. 1 haha haha 6950 725 15:06 localhost.localdomain:2.log
-rw-rw-r--. 1 haha haha    5 725 15:02 localhost.localdomain:2.pid
-rw-------. 1 haha root    8 725 14:30 passwd
-rw-rw-r--. 1 haha haha   10 725 15:08 test
-rwxr-xr-x. 1 haha haha  133 725 15:03 xstartup

权限标记理解

-rwxr-xr-x这一串看不懂?来来来,看完下面的就理解了。

权限项 首位标记 执行 执行 执行
字符表示 -、d、c、l r w x r w x r w x
数字表示 4 2 1 4 2 1 4 2 1
权限分配 文件所有者(属主) 文件所有者(属主) 文件所有者(属主) 文件所属组(属组) 文件所属组(属组) 文件所属组(属组) 其他用户 其他用户 其他用户

首位标记含义解释

- 代表普通文件
d 代表目录
c 代表字符型文件
l 代表链接文件

修改权限

方式一(易理解):逐个权限设置

chmod ugoa[rwx] 文件/目录

标记符

标记符 解释
u user 文件所有者(属主)
g group文件所属组(属组)
o other其他用户
a all所有用户

操作

标记符 解释
+ 增加权限
- 减去权限
= 设置一个权限

示例:创建一个仅所有者可读可写

[root@localhost file]# touch 仅所有者可读可写
[root@localhost file]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 725 15:56 仅所有者可读可写
[root@localhost file]# chmod g-r,o-r 仅所有者可读可写
[root@localhost file]# ls -l
总用量 0
-rw-------. 1 root root 0 725 15:56 仅所有者可读可写

示例:增加可执行权限

chmod +x 可执行文件

示例:去掉所有权限

chmod -xwr 文件

方式二(简洁):数字权限使用格式

这里我的直接引用大佬的文章中的内容了。
在这种使用方式中,首先我们需要了解数字如何表示权限。 首先,我们规定 数字 4 、2 和 1表示读、写、执行权限(具体原因可见下节权限详解内容),即 r=4,w=2,x=1 。此时其他的权限组合也可以用其他的八进制数字表示出来,

如:

rwx = 4 + 2 + 1 = 7

rw = 4 + 2 = 6

rx = 4 +1 = 5

  • 若要同时设置 rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7

  • 若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6

  • 若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5

上面我们提到,每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。即我们可以用用三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情,并用chmod直接加三个8进制数字的方式直接改变文件权限。语法格式为 :

chmod <abc> file...

其中
a,b,c各为一个数字,分别代表User、Group、及Other的权限。
相当于简化版的
chmod u=权限,g=权限,o=权限 file…
而此处的权限将用8进制的数字来表示User、Group、及Other的读、写、执行权限。

范例:

设置所有人可以读写及执行

#等价于  chmod u=rwx,g=rwx,o=rwx file 或  chmod a=rwx file
chmod 777 file  

设置拥有者可读写,其他人不可读写执行

#等价于  chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file 
chmod 600 file

常见的权限

- 数字 解释
-rw------- 600 只有拥有者有读写权限。
-rw-r--r-- 644 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ 700 只有拥有者有读、写、执行权限。
-rwxr-xr-x 755 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x 711 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- 666 所有用户都有文件读、写权限。
-rwxrwxrwx 777 所有用户都有读、写、执行权限。

参考

  • 《一文带你彻底搞懂Linux 文件权限管理》
    https://segmentfault.com/a/1190000039202476
  • 《Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755)》

https://blog.csdn.net/u013197629/article/details/73608613

你可能感兴趣的:(linux,运维,linux,文件权限)