文件权限
在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。
通过设置权限使得3种访问限制访问权限:1.只允许用户自己访问。2.允许一个预先指定的用户组中的用户访问。3.允许系统中的任何用户访问。
通过ls -l 或者ll命令可以显示文件的详细信息,包括权限!如下:
我们发现公共文件夹中第一栏为drwxr-xr-x。第一个字符d代表文件类型,代表目录。-代表普通文件。l代表链接。b代表块设备。c代表字符设备。s代表套接字。p代表管道。
从第2个字符到第10个字符这9个字符中:
2,3,4表示该文件所有者的权限,也简称为u的权限user
5,6,7表示该文件所有者所属组的组成员的权限,也简称为g的权限group
8,9,10表示该文件所有者所属组群以外的权限,也简称为o的权限other
权限分别用r,w,x表示:
r(read,读取):对文件有读取文件内容的权限,对目录有浏览目录的权限。
w(write,写入):对文件有增改文件内容的权限,对目录有删除移动目录的权限
x(execute,执行):对文件具有执行的权限,对目录有进入目录的权限
-表示不具有该权限。
文件权限修改:chmod
命令
格式:chmod [选项] 文件
修改文件权限有两种表示方法:数字表示法和文字表示法
1.数字表示法是将r,w,x分别以4,2,1来表示
例如rwx就是(4 2 1)把数字加起来用7表示,r-x就是(4 0 1)加起来5,r--就是(4 0 0)4,-wx就是(0 2 1)3
例如:rwxr-xr-x转换为数字是(4 2 1)(4 0 1)(4 0 1),数字表示法就是755
测试:修改文件夹dir1的权限为:所有者可读可写可执行,所属组可读可写,其他者可写权限。
所有者7,所属组6,其他者2
2.文字表示法
与数字表示法不同,文件表示法是用不同的用户(u,g,o,a),操作权限(r,w,x),操作符(+,-,=)来完成权限的修改的
u所有者,g属组,o其他用户,a以上三种用户
r读取,w写入,x执行
+添加某种权限,-减去某种权限,=赋予给定权限并取消原来的权限
我们把文件a用文字表示法修改为所有者可读可写可执行,属组可读可执行,其他用户可读可执行。chmod u=rwx,g=rx,o=rx a
给文件a用文字表示法赋予最高权限:chmod a=rwx a 这里的a是以上三种用户
文件所有者与属组修改
chown格式:chown [选项] 用户和属组 文件列表
我们当前是root用户,在安装操作系统时有一个普通用户
[root@localhost test]# tail -1 /etc/passwd
lxd21:x:1000:1000:lxd21:/home/lxd21:/bin/bash # 普通用户lxd21
我们通过ll查看a的所有者与属组都是root,接下来我们修改a文件的所有者为lxd21,和属组为lxd21
修改文件a的所有者:chown lxd21 a
修改文件a的属组:chown :lxd21 a
修改dir1的所有者和属组为lxd21:chown lxd21:lxd21 dir1
修改属组也可以用chgrp root dir1
文件与目录还有特殊权限:SUID,GUID,Sticky。