**
1、umsk
**
- 考虑一个系统是通过两方面:1、安全性 2、功能性。
这两者是矛盾的-----权限开放的越多,功能越多,但是安全性就会越低,反之,权限开放的少,功能就越少,但是安全性就越高。 - umask默认权限是Linux权限的一种,主要是让Linux的新建文件和目录拥有默认权限,Linux中默认所有文件都是不可执行的,而Windows是通过继承上级目录的权限给文件和目录赋予初始权限。
表示系统预留权限为022,第一位0表示文件的特殊权限
修改umask
- 我们可以在shell中修改umask,但是他是在内存中的该bash进程中修改的,是临时的。如果想要永修修改,则需要更改**/etc/profile和/etc/bashrc**里面的内容。
临时修改
umask 077---------表示临时设定系统预留权限为077
永久修改 - 修改/etc/profile
vim /etc/profile
系统默认值为022,将其修改为077
- 修改 /etc/bashrc
vim /etc/bashrc
系统默认值为022,同样将其修改为077
- 注意:
全部修改完成后,查看umask,发现他仍然是022,是因为修改完成后,它不能立即在当前shell中生效,关闭shell并重新打开一个shell,输入umask,便能看到umask值改成了077。如果想要立即生效,就输入命令source /etc/profile和source /etc/bashrc让修改立即生效
特殊位
sticky—粘制位
chmod o+t或chmod 1XXX
针对目录生效,当目录有sticky权限时,在这个目录中的文件只能被文件所有者删除
chmod o+t dir
mkdir /public /建立目录
chmod 777 /public /设置目录public为公共目录
useradd westos
useradd lee
watch -n 1 ‘ls -ld /deng;ls -l /deng’ /监控deng目录和该目录下的文件
重新打开一个shell,输入命令:
su - westos
切换为westos用户
touch /deng/westosfile /建立westosfile文件
切换为 lee用户
touch /deng/leefile /建立leelife文件
现在,用户westos不仅可以删除自己建立的文件,也可以删除用户lee建议的文件。当用户删除自己创建的文件的时候是合理的,但是用户可以删除其他用户创建的文件的时候就不合理了,所以我们要设置权限
chmod o+t /deng/ /在root用户下设置权限,使其他用户无法删除别人建立的文件
su - westos
切换成用户westos
rm -fr /deng/leefile /这个时候就不可以删除文件了,因为文件的建立者不是westos
sgid /强制位
- 作用:
对文件:只针对于二进制可执行文件,当文件上有sgid时任何人执行此文件产生的进程都属于文件的组
对目录:当目录上只有sgid权限时任何人在此目录中建立的文件都属于目录的所有组
eg: - chmod g+s file|dir
- chmod 2xxx file|dir
suid /冒险位
注意:
只针对于二进制可执行文件
当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人
- ps ax /查看所有进程
- ps ax -o user,group,comm /扫描所有进程中的所有人,所有组和命令
- grep /过滤,只看
watch -n 1'ps ax -o user,group,comm | grep cat'
chmod u+s /bin/cat /任何人在运行/bin/cat进程时都以文件所有者root的身份
facl权限
getfacl ------查看facl权限
setfacl—设置facl权限
-m设定facl权限
- setfacl -m u:deng:rwx aaa
=======表示在file1文件中添加用户deng的rwx权限
- setfacl -m g:buford:rw- file1
====表示在file1文件中添加用户组buford的rw权限
- setfacl -m d:u:deng:r-x /dhr
只对新建目录或文件权限生效,原有目录或文件权限不变
-x删除用户
- setfacl -x u:deng file1
-k关闭defult模式
- setfacl -k file1