Unit7----Linux文件权限的管理
文件权限的查看
文件权限存在的意义
系统最底层安全设定方法之一
保证文件可以被指定的用户做出相对应操作
查看权限的命令
ls -l file|dir ----文件:查看文件本身的权限;目录:查看目录中所有文件的权限,不包括目录本身
ll file|dir ----同上
ls -ld file|dir ----查看文件或目录本身的权限
ll -d file|dir ----同上
文件权限的读取
- |rw-rw-r--| 1 |kiosk| |kiosk| |0| Oct 6 01:48 | file
[1] [2] [3] [4] [5] [6] [7] [8]
[1]文件的类型:
- ----空文件,空文本
d ----目录
l ----软链接
s ----socket套接字
b ----block块设备
c ----字符设备
[2]文件的权限:
| rw- | rw- | r-- |
[u] [g] [o]
[u]文件拥有者对文件的权限
[g]文件所有组对文件的权限
[o]其他人对文件的权限
[3]对文件:文件内容被记录的次数 对目录:目录中子目录的个数
[4]文件的所有人
[5]文件的所有组
[6] 对文件:文件大小 对目录:目录中子文件元数据大小
[7]文件的内容被修改的时间
[8]文件的名称
改变文件的所有人和所有组
chown username file|dir ----改变文件或目录的所有人
chown -R user.group dir ----改变目录中包括目录中文件的所有人
chgrp group file|dir ----改变文件或目录本身的所有组
chgrp -R group dir ---- 改变目录中包括目录中文件的所有组
文件权限的修改
对权限的理解
r:
对文件:是否可以查看文件中的内容 ---> cat file
对目录:是否可以查看目录中有什么子文件或者子目录 --->ls dir
w:
对文件:是否可以改变文件里面记录的字符
对目录:是否可以对目录中子目录或子文件的元数据进行更改
x:
对文件:是否可以通过文件名称调用文件内记录的程序
对目录:是否可以进入目录
权限的更改方式
chmod <u|g|o> <+|-|=> <r|w|x> file|dir
chmod u+x /mnt/file1 ----文件拥有者拥有运行权限
chmod ug-w /mnt/file2 ----文件拥有者和所在组用户不再拥有文件的写权限
chmod u-r,o+x /mnt/file3
chmod uo=rw /mnt/file4
此外 r w x可用数字表示 r=4 w=2 x=1 r-x|r--|--x 可表示为541 ,故我们在更改时,也可:
chmod 541 /mnt/file5 数字最大可为777 此时权限为 rwxrwxrwx
umask的修改
umask :系统建立文件默认保留的权力,新建的文件或目录的权限默认为umask值
临时修改umask值:
umask 077 ----临时设定系统预留权限为077
永久修改umask值(root):
vim /etc/profile ##打开系统配置文件
60 umask 002 ##第60行 普通用户的umask
61 else
62 umask 077 ##第62行 超级用户的umask
63 fi
source /etc/profile 让更改立即生效
或
vim /etc/bashrc ##打开shell配置文件
71 umask 002 ##普通用户的umask
72 else
73 umask 077 ##超级用户的umask
74 fi
source /etc/bashrc 让更改立即生效
特殊权限
(1)sticky ----粘滞位
作用:只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能被文件所有者删除
设定方式:chmod o+t dir
chmod 1xxx dir
(2)sgid ----强制位
作用:对文件:只针对二进制可执行文件,当文件上有sgid时任何人执行此文件产生的进程都属于文件的组
对目录:当目录上有sgid权限时,任何人在此目录中建立的文件都属于目录的所有组
设定方式:chmod g+s file|dir
chmod 2xxx file|dir
(3)suid ----冒险位
作用:只针对二进制可执行文件,当文件上有suid时任何人执行这个文件的程序都属于文件的所有人
设定方式:chmod u+s file
chmod 4xxx file
可一次加多个特殊权限,如sticky与sgid同时加上时 设定方式为: chmod 3xxx dir
权限列表
(1)作用:让特定的用户拥有特定的权限
(2)acl列表的查看:
getfacl file ----查看acl开启的文件的权限
# file: file ----文件名称
# owner: root ----文件拥有者
# group: root ----文件所有组
user::rwx ----文件拥有人的权限
user:kiosk:rwx ----指定用户权限
group::rwx ----文件拥有组的权力
mask::rwx ----能赋予用户的最大权力阀值
other::rwx ----其他人权限
(3)acl列表的管理
setfacl -m u:username:rwx file ----设定username对file拥有rwx权限
setfacl -m g:group:rwx file ----设定group组成员对file拥有rwx权限
setfacl -x u:username file ----从acl列表中删除
username setfacl -b file ----关闭file上的acl列表
(4)mask值:在权限列表中mask标示能生效的权力值
当用chmod减小开启acl的文件权限时mask值会发生改变
chmod g-w file
如果要恢复mask值:
setfacl -m m:rw file
(5)acl的默认权限设定
acl默认权限只针对目录设定
"acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限"
setfacl -m d:u:student:rwx /xxx ----添加默认权限
setfacl -k /xxx ----删除默认权限
用户对容器有权限,对容器中的文件无权限时,用户强行修改文件会删除原文件并在新用户中新建文件。