一:##umask
umask ##系统建立文件是默认保留的权力
umask 077 ##临时设定系统预留权限为077
永久更改umask
1:vim /etc/profile ##系统配置文件
if [$UID -GT 199] && ["‘id -gn’"="‘id -un’"];then
umask 002 ##普通用户的umask
else
umask 077 ##超级用户的umask
umask更改权限
source /etc/profile ##执行此文件,更改后执行文件才能生效
2:vim /etc/bashrc ##shell配置文件
if [$UID -GT 199] && ["‘id -gn’"="‘id -un’"];then
umask 002
else
umask 077
二:##特殊权限
1:sticty ##粘制位
作用: 只针对目录有效,当一个目录上有sticky权限时,在这个目录中的文件只能被文件的所有者删除
设定方式: chomd o+t dir
chmod 1xxxx dir
mkdir /public
chmod 777 /public/
######watch -n3 'ls -ld /public/;ls -l /public/'进入之后在当前再打开一个查看id,
再重新打开一个shell;建立两个westos,lee用户
su - westos,在westos用户下建立一个westosfile文件,;
su - lee ,在lee用户下建立一个leefile文件
chmod o+t /public/ ##将用户权限最后一个改为t,权限更改为
在lee用户下可以删除自己的leefile文件,但是删除westosfile 文件时会出现操作不允许删除。因为删除的是其他用户下的文件
##########
2:suid ##冒险位
只针对与二进制可执行文件,当文件上有suid时,任何人执行这个文件中记的程序产生的进程都属于文件的所有人。
ps ax -o user,group,comm | grep cat##扫描所有进程之间包含用户者,用户组,名称,过滤掉之后剩下的cat,grep表示过滤
watch -n3 ‘ps ax -o user,group,comm | grep cat’
在打开一个shell,chmod u+s /bin/cat;建立一个westos用户;ls -l /bin/cat,在当前打开一个,切换用户westos;然后cat,
在chmod u+s /bin/cat下只要执行cat,主人就会变成root,westos改为root。即在执行时以所有人的身份去执行。
3:sgin ##强制位
作用 对文件:只针对与二进制可执行文件,当文件上有sgin时,任何人执行这个文件中记的程序产生的进程都属于文件的组
对目录:当目录上有sign权限时,任何人在此目录中记建立的文件都属于属于此目录的所有组
设定方式:chmod g+s file|dir
chmod 2xxxx file|dir
##whatis ps 查看ps
mandb
再whatis ps ##
1:###facl权限列表
作用:让特定的用户对特定的文件拥有特定权限
2:facl列表查看
-rw-rwxr–+ 1 root root 0 Jul 24 16:32 file
------------ ^
facl开启后
getfacl file ##查看facl开启后的文件的权限
file: file ##文件名称
owner: root ##文件拥有者
group: root ##文件拥有组
user ::rw- ##文件拥有人的权限
user:kiosk:rwx## 指定用户的权限
group::r-- ##文件拥有组的权限
mask::rwx ##能赋予用户的最大的权限
other::r-- ##其他人的权限
3:facl列表的管理
getfacl file
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 westos
如果要恢复mask的值, 则setfacl -m m:rw westos
5:acl的默认权限设定
acl默认权限只针对目录设定
!!!注意:acl权限只针对设定完成之后的新建立的文件或目录生效,而已经存在的文件是不会继承默认权限
setfacl -m d:u:student:rwx /mnt/westos
setfacl -k /mnt/westos