一、权限查看及读取
1.权限的查看
命令 | 功能 |
---|---|
ls -l file | 查看文件权限 |
ls -ld dir | 查看目录权限 |
2.权限的读取
##文件的属性被叫做文件的元数据(meta data)
##一种元数据用一个byte来记录内容(1byte=8bits)
文件的权限信息:
对于图片中每一位的解释
[1]:文件类型
符号 | 含义 |
---|---|
- | 普通文件 |
d | 目录 |
l | 软连接 |
b | 硬链接 |
c | 字符设备 |
s | socket套接字 |
p | 管道 |
[2]:用户权限
符号 | 含义 |
---|---|
r w - r- -r - - | 前三位表示用户,中间三位表示组,最后三位表示其他用户 |
[3]:系统的selinux是否开启
符号 | 含义 |
---|---|
. | 表示selinux开启 |
空 | 表示selinux关闭 |
/etc/selinux/config可以打开selinux的配置文件
[4]:对于文件表示文件内容被系统记录的次数(硬链接个数)
[4]:对于目录表示目录中子目录的个数
[5]:文件拥有者
[6]:文件拥有组
[7]:对于文件表示文件内容大小
[7]:对于目录表示目录中子文件的元数据大小
[8]:文件内容被修改的时间
[9]:文件名称
二、普通权限的类型及作用
1.用户对文件的身份
用户 | 身份 |
---|---|
u | user 文件拥有者,ls -l 看到的第五列信息 |
g | group 文件拥有组,ls -l看到的第6列信息 |
o | other 既不是拥有者也不是拥有组成员的其他用户的统称 |
2.权限位
3.用户身份匹配
user权限>group权限>other权限
4.权限类型
符号 | 权限 |
---|---|
- | 权限未开启 |
r | 可读#对于文件:可以读文件的内容;对于目录:可以ls列出目录中的文件 |
w | 可写#对于文件:可以更改文件的内容;对于目录:可以在目录中新建或者删除文件 |
x | 可执行#对于文件:可以用文件名称调用文件内记录的程序;对于目录:可以进入到目录中 |
三、设定普通权限的方法
chmod:设定文件权限
复制权限:
命令 | 功能 |
---|---|
chmod --reference=/tmp /mnt/qx | 复制/tmp目录的权限到/mnt/qx上去 |
chmod -R --reference=/tmp /mnt/qx | 复制/tmp目录的权限到/mnt/qx及其目录中的子文件上去(-R表示递归操作) |
字符方式设定权限
命令 | 功能 |
---|---|
chmod < a/u/g> < +/- / = > < r / w / x > file/dir | 用字符方式设定文件权限 |
- -R 表示对目录及目录内的文件进行操作
数字的方式设定权限:
权限布尔值表示方式
表示 | 值 |
---|---|
rwx | 111=7 |
rw- | 110=6 |
r-w | 101=5 |
r– | 100=4 |
-wx | 011=3 |
-w- | 010=2 |
–r | 001=1 |
- chmod 600 /mnt/qx ##表示目录权限变为rw-------
四、系统默认权限设定
#系统本身存在的意义是共享资源
#从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高
#既要保证系统安全,又要系统创造价值,于是应该把开放的权力默认开放,把不安全的权力默认保留
#如何保留权力
#umask表示系统保留权力
功能 | 作用 |
---|---|
umask | 查看权力保留 |
umask 权力值 | 临时设定系统预留权力 |
注意:
-
文件默认权限=777-umask-111
-
目录默认权限=777-umask
-
umask临时更改:umask number
-
umask永久更改:
-
- vim /etc/bashrc ##shell系统配置文件
- vim /etc/bashrc ##shell系统配置文件
-
- vim /etc/profile ##系统环境配置文件
- vim /etc/profile ##系统环境配置文件
-
umask更改后需要被系统识别,执行如下命令:
-
source /etc/bashrc ##更改内容立即被系统识别
-
source /etc/profile ##更改内容立即被系统识别
五、文件用户用户组管理
命令 | 功能 |
---|---|
chown username file | 更改文件拥有者 |
chgrp groupname file | 更改文件拥有组 |
chown username:groupname file | 同时更改文件的拥有者和拥有组 |
chown/chgrp -R username/groupname dir | 更改目录本身及目录中内容的拥有者或者拥有组 |
六、特殊权限
#stickyid 粘制位
#针对目录:如果一个目录的stickyid开启,那么这个目录中的文件只能被文件的所有人删除
stickyid开启方法:
- chmod 1原始位 dir ##开启粘制位
- chomd o+t dir ##开启粘制位
sgid:强制位
#针对目录:目录中新建的文件自动归属到目录所属的组中 - chmod 2原始文件权限 dir
- chmod g+s dir
suid:冒险位
#只针对二进制可执行文件
#当运行二进制可执行文件时都是用文件拥有者身份运行,和执行用户无关 - chmod 4原属性file
- chmod u+s file
七、acl权限列表
- Aiccess Control Lists##访问控制列表
#功能:
#在列表中可以设定特殊用户对与特殊文件有特殊权限
#acl列表开启标识 :权限位后面有加号“+”表示开启
#acl列表权限读取
- getfacl filename ##读取acl列表权限
注意:
“当文件权限列表开后,不要用ls -l的方式来读取文件的权限”
#acl列表控制
setfacl -m u:username:rwx 目录或者文件名称 ##更改目录或者文件的acl权限
- setfacl -x u:用户名 文件或者目录名 ##删除所在用户权限
- setfacl -b dir ##关闭acl列表
- setfacl -Rm u:用户名:权限 目录名 ##对目录和目录中已经存在的内容生效(对目录中新建文件不会生效)
- setfacl -m u:用户名:权限 目录名 ##只对目录本身生效
- acl mask 控制
##mask是能够富裕指定用户权限的最大阀值
恢复:setfacl -m m:权限 文件
八、attr权限
#attr权限限制所有用户
- i #不能作任何的更改
- a#能添加不能删除
- lsattr dir|file ##查看attr权限
- chattr +i|+a|-i|-a dir|file ##设定attr权限
##注:删除att权限的时候,只用把+变成-就实现删除