一、权限的概述
1.权限的定义
在对多用户计算机系统进行管理时,权限是指某个特定用户具有特定的系统资源的使用权力。linux中的权限分为三种:
权限类型 | 权限针对文件 | 权限针对目录 |
r(读取)read | 查看文件内容 | 查看目录中的文件名称 |
w(编辑)write | 修改文件内容(vim) | 在目录中删除或新建文件 |
x(执行)execute | 用文件名称调用文件当中记录的程序 | 进入目录中 |
二、权限的查看和读取
1.权限查看
执行命令:
- ls -l lee(file):查看lee文件权限
- ls -l leedir(目录):查看leedir目录权限
2.权限读取
文件权限信息:
- | rw-r--r-- | . | 1 | root | root | 0 | APr 12 14:39 | lee
[1] [2] [3] [4] [5] [6] [7] [8] [9]
目录权限信息:
d | rwxr-xr-x | . | 2| root | root | 0 | APr 12 |14:39 | leedir
[1] [2] [3] [4] [5] [6] [7] [8] [9]
文件类型 | 解释 |
---|---|
- | 普通文件 |
d | 目录 |
l | 软连接 |
b | 快设备 |
c | 字符设备 |
s | socket套接字 |
p | 管道| |
[2] | 用户权限,前三位为拥用户,中间三位为组用户,后三位为其他用户 |
---|---|
[3] | 系统的selinux开启 |
[4] | 对于文件:文件内容被系统记录的次数(硬链接个数) 对于目录:目录中子目录的个数 |
[5] | 文件拥有者 |
[6] | 文件拥有组 |
[7] | 对于文件:文件内容大小 对于目录:目录中子文件的元数据大小 |
[8] | 文件内容被修改的时间 |
[9] | 文件/目录名称 |
三、普通权限的类型及应用
1.用户对文件的身份
描述符 | 解释 | 显示位置 |
u(user) | 文件的拥有者 | ls -l 看到的第五列信息 |
g(group) | 文件拥有组 | ls -l 看到的第六列信息 |
o(other) | 既不是拥有者也不是拥有组成员的其他用户的通称 |
注:用户身份匹配:user>group>other
四、普通权限的设定
1.设定文件权限命令:chmod
复制权限:
输入命令:
- chmod --reference=/tmp /mnt/lovedir :复制/tmp目录的权限到/mnt/lovedir上
- chmod -R -reference =/tmp /mnt/lovedir:复制/tmp目录的权限到/mnt/lovedir上(-R:递归)
- chmod u-rw /mnt/lovedir/love4(username)
- chmod u-rw,g+x,o+wx /mnt/lovedir/love5(username)
- chmod a-rwx /mnt/lovedir/love6(username)
- chmod u=rwx,g=rx,o=--- /mnt/lovedir/love7(username)
- chmod -R u=rwx,g=rx,o+wx /mnt/lovedir(目录) 注:参数“-R“表示递归
1.3数字方式(权限波尔指表示方式),注:三位二进制可以表示的最大范围为8进制数(在此为rwx)
数字 | 二进制 | 含义 |
---|---|---|
7 | 111 | rwx |
6 | 110 | rw- |
5 | 101 | r-x |
4 | 100 | r-- |
3 | 011 | -wx |
2 | 010 | -w- |
1 | 001 | --x |
0 | 000 | --- |
实验举例:输入命令:
chmod 770 /mnt/lovedir(username):(设定loverdir目录的用户:rwx,组用户:rwx,其他用户:---)
四、系统默认权限设定
1.系统默认设置的原则:
- 系统本身存在的意义共享资源
- 从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高
- 既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放,把不安全的权力默认保留
2.保留“权力”(默认权限)的方式
2.1 umask命令:表示系统保留的默认权限,注:umask的值越大,代表其保留的权限越多,则系统的安全性越高
输入命令:
- umask :查看系统保留权力
- umask 022(数字表示方式的权限值): 临时设定系统预留权限
注:文件默认权限=777-umask-111,目录默认权限=777-umask,按照此法的到的文件we和目录love的可用权限为644和755
2.2 默认权限的修改
临时修改:
输入命令:
- umask 044 (数字表示方式的权限值): 临时设定系统预留权限为 044
则,创立同样类型的we1文件和love目录的可用权限为622和733
注:此方法设定的默认权限,在shell重启动时会回到默认状态
永久修改:
输入命令:
- vim /etc/bashrc 对shell系统配置文件进行修改(修改位置:60-62行)
- vim /etc/profile 对系统环境配置文件进行修改 (修改位置:75行附近)
- source /etc/bashrc 对shell系统配置文件进行修改
- source /etc/profile 对系统环境配置文件进行修改
注:source与vim 的区别:对于更改的内容会被系统立即识别
五、文件用户与用户组的管理
- chown username file 修改文件拥有者为usrname
- chgrp groupname file 修改文件拥有组为groupname
- chown username:groupname file 同时修改文件拥有者,拥有组为usrname和groupname
- chown|chgrp -R user|group dir 修改目录本身及目录中内容的拥有者或者拥有组
六、特殊权限
特色权限类型 | 名称 | 针对目录 | 针对二进制文件 | 命令格式 |
stickyid | 粘贴位 | 开启的目录中的文件 只能被文件拥有者删除 | chmod 2原始权限 dir chmod g+s dir | |
sgid | 强制位 | 目录中新建的文件自动归属到目录的所属组中 | 运行二进制可执行文件时都是用文件拥有组身份运行,和执行用户的所在组无关 | chmod 1原始权限 dir chmod o+t dir |
suid | 冒险位 | 运行二进制可执行文件时都是用文件拥有者身份运行,和执行用户无关 | chmod 4原属性 file chmod u+s file |
七、acl权限列表
acl权限控制列表的访问:Aiccess Control Lists(用于设定特殊用户对与特殊文件有特殊权限)
列表权限读取:getfacl lovefile,其列表内容见截图
acl列表的控制命令:
- setfacl -m u:westos:rw love (file):设定用户westos在love中的特殊权限(rw)
- setfacl -m g:westos:rw love(file) : 设定用户组westos在love中的特殊权限(rw)
- setfacl -x u: westos love(file): 删除acl列表中的westos用户
- setfacl -b love(file):关闭权限列表
注:
- 用户优先级:拥有者 > 特殊指定用户 > 权限多的组 >权限少的组 > 其他
- acl mask 控制 (mask是能够赋予指定用户权限的最大阀值 ),截图中可查看,在用chmod命令设定acl列表的权限之后,mask会改变(在mask的范围内),可以用setfacl -m m:恢复)
-
setfacl的相应参数 生效对象 setfacl -m u:username :rwx dir 目录本身 setfacl -Rm u:username :rwx dir 目录和目录中已经存在的内容 setfacl -m d u:username :rwx dir 目录中的新建文件
八、attr权限
attr权限特性 | 相应参数 | 相应命令格式 | 命令解释 |
限制所有用户 | i :不能作任何修改 | lsattr dir|file | 查看文件/目录的attr权限 |
a:能添加不能删除 | chatttr +i/+a/-i/-a dir/file | 设定文件/目录的attr权限 |