四.系统默认权限设定
系统本身存在的意义:共享资源
从安全角度来讲,系统共享的资源越少,开放的权力越小,系统安全性越高
既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放,把不安全的权力默认保留
如何保留权利
1. umask 表示系统保留权利
umask 022 查看保留权利
umask 权限值 临时设定系统预留权利
blkid 查看U盘类型
文件默认权限:777-022(umask)-111(vfat)=(file)644
目录默认权限:777-022(umask)=(dir)755
umask值越大,系统安全性越高
umask临时更改
umask 077
umask 永久更改
vim /etc/bashrc shell的系统配置文件
74-78行 上面普通用户,下面root用户
vim /etc/profile 系统环境配置文件
59-63 上面普通,下面root
两个文件的umask必须保持一致
修改普通用户,切换到普通用户,如果更改时已经是普通用户,则必须source读取
source /etc/bashrc 作用是使我们更改的内容立刻被系统识别
source /etc/profile
chown username file 更改文件拥有者
chgrp groupname file 更改文件拥有组
chown username:groupname file 同时更改文件的拥有者和拥有组
chown|chgrp -R user|group dir 更改目录本身及目录中文件的拥有者和拥有组
六. 特殊权限
1. stickyid 粘制位
针对目录:如果一个目录stickyid开启,那么这个目录中的文件只能被文件所有人删除
chmod 1原始权限 dir
chomd o+t dir
实验:
mkdir /pub
chmod 777 /pub
su - westos--->touch /pub/westosfile
exit
su - westosl--->touch /pub/westoslfile
rm -fr /pub/westoslfile 属于自己的文件可以删除
rm -fr /pub/westosfile 不属于自己的文件也可以删除
chmod 1777 /pub
chmod o+t /pub
2. sgid 强制位
针对目录:目录中新建的文件自动归属到目录的所属组中
设定:
chmod 2源文件权限 dir
chmod g+s dir
针对文件:只针对二进制的可执行文件
当运行二进制可执行文件时都是用文件拥有组身份运行,和执行用户无关
实验:
group westostest
mkdir /mnt/westosdir
chmod 777 /mnt/westosdir
chgrp westostest /mnt/westosdir
watch -n 1 ls -lR /mnt 监控
root -->touch /mnt/westosdir/file 谁建立的文件组就是谁的
chmod g+s /mnt/westosdir
root -->touch /mnt/westosdir/file 自动复制/mnt/westosdir目录组
实验:
su - westos
/bin/watch -n 1 date
ps ax -o user,group,comm | grep watch
westos westos watch
使用root用户身份
chmod g+s /bin/watch
su - westos
/bin/watch -n 1 date
ps ax -o user,group,comm | grep watch
westos root watch
3. suid 冒险位
chmod 4原属性 file
chmod u+s file
只针对二进制的可执行文件,
当运行二进制可执行文件是都是用文件拥有者身份运行,和执行用户无关
实验:
su - westos
/bin/watch -n 1 date
ps ax -o user,group,comm | grep watch
westos westos watch
使用root用户身份
chmod u+s /bin/watch
su - westos
/bin/watch -n 1 date
ps ax -o user,group,comm | grep watch
westos root watch