权限管理
Linux系统的文件类型
-
|
一般文件
|
存放数据
|
d
|
目录文件
|
存放其他文件
|
l
|
链接文件
|
类似windows系统中的快捷方式
|
b
|
区块设备文件
|
可以随机读取(硬盘)
|
c |
字符设备文件
|
需要顺序读取(键盘)
|
s
|
管道文件
|
用于进程间的通信
|
p
|
管道文件
|
用于进程间的通信 |
计算机是用来处理和存储数据的
数据存放的位置不同,叫法不同:
数据存放在硬盘中,称为文件
数据存放在内存中,称为进程
好,上面是拓展,接下来是正课
举例:rwx r-x r-x
所有者(属主) 所有组(属组) 其他用户
字符
|
八进制表示法
|
权限
|
对文件的含义
|
对目录的含义
|
r | 4 |
读取
|
意味着我们可以查看文件中的内容
|
可以列出目录中的文件列表
|
w
|
2
|
写入
|
意味着可以对文件进行修改删除(如果要修改文件,还需要有读取的权限)
|
可以在目录中创建,删除文件
|
x
|
1
|
执行
|
如果文件是二进制文件,或是脚本文件,我们具备执行权限
|
可以使用cd命令进入到目录
|
./ filename 执行文件
linux系统查看权限的顺序:先看所有者(属主),再看属组。一般所有者权限要大于所有组(组内有其他成员) ,所有组权限大于其他用户权限
目录权限设置注意事项:
1、目录只有执行权限,表示可以进入或穿过它进入更深层次的子目录
2、目录只有执行权限,要访问该目录下的文件,需要知道文件名才可以
3、目录只有执行权限,不能列出文件列表,以及删除文件
4、目录上有执行、读取权限,表示可以进入目录,并且列出文件列表
5、目录上有执行、写入权限,表示可以在目录中创建、删除或重命名文件
权限位的含义
权限位置 字母 含义
属主 u 用于限制文件或目录创建者
属组 g 用于限制文件或目录所属组成员
其它用户 o 用于限制既不是属主也不是属组用户
权限修改方式:
1,字母形式
chmod u+r filename 所有者添加读取的权限
chmod g+wx filename 所有组添加写入和执行权限
chmod uo+x filename 所有者和其它用户添加执行权限
chmod u+w,g-w filename 所有者添加写入的权限,所有组取消写入的权限
chmod a+w filename 全部分组添加写入权限
chmod o=wx filename 其它用户设置读取、执行权限
2.数字形式
chmod 644 filename
0:没有权限
1:执行权限
2:写入权限
3:写入、执行权限
4:读取权限
5:读取、执行权限
6:读写权限
7:所有权限
属主修改:
chown banzhang cjk 将banzhang设置为cjk属主
chown xuewei:xuewei cjk 将cjk的所有者、所有组都设置成xuewei
chown xuewei.juhua banzhang 将banzhang的所有者设置成xuewei,所有组设置juhua
chown .banzhang cjk 将cjk的所有组设置成banzhang
chown banzhang. cjk 将cjk的所有者、所有组都设置成banzhang
chown banzhang. xuewei -R 将xuewei目录及其子目录下所有文件的所有者和所有组,全都设置为banzhang
属组修改:
chgrp vfast cjk 将vfast设置为cjk属组
谁可以修改文件的所有者和权限:
操作 可执行的用户
chmod root用户和文件的所有者
chgrp root用户和文件的所有组(必须是组成员)
chown 只有root用户才可以
默认权限:
umask 查看umask值 用于控制新建文件、目录默认权限,一般应用于网站服务器
在创建文件时,系统默认模式为666
在创建目录时,系统默认模式为777
在红帽linux系统,系统默认umask值为0002
umask的作用:当新建目录或文件,建立后的权限,为系统默认模式值减掉umask值
acl 单用户对文件权限
语法:setfacl -m u:username:rwx file 设置单用户对file的权限
setfacl -m g:groupname:rwx file 设置组对file的权限
setfacl -x u:username file 删除单用户对file的权限
getfacl file 查看file的acl的权限
特殊权限:
suid:
当一个设置了suid位的可执行文件被执行时,该文件将以所有者的身份来运行,也就是说,无论谁执行这文件,他都拥有文件所有者的权限,并且可以任意存取文件拥有者可以使用的全部系统资源。例如该文件所有者为root,那么执行人就拥有超级用户权限
sgid:
当一个设置了sgid位的可执行文件被执行时,该文件将具有所有组的权限,任意存取整个组所能使用的系统资源。如果一个目录设置了sgid,则所有被复制到该目录下的文件,该文件所有组会变成和目录一样(补充:可以在复制时用-p参数,保留文件属性)
sbit
:对一个文件设置了stickybit后,就算其他用户有写权限,还是不能进行删除、移动,只有文件的所有者才能删除。对一个目录设置了sbit后,存放在该目录的文件仅允许所有者删除或移动