赞
踩
如用户执行 passwd 命令时,依托 root 身份运行,变更密码。
ll /etc/passwd #普通用户是无权限修改的
#登陆普通用户,执行passwd
passwd
ps aux | grep passwd
cat /etc/shadow #无权限
chmod u+s /usr/bin/cat #方式一
chmod 4755 /usr/bin/cat #方式二,4表示特殊权限中的suid
cat /etc/shadow #普通用户使用cat的特殊权限,即使用root的身份查看
cd /tmp/ && mkdir sgid_test
chmod g+s /tmp/sgid_test #chmod 2755
chmod 777 sgid_test/
#切换用户,并在该目录下创建文件查看属性
su - userone
touch /tmp/sgid_test/test.txt
ll /tmp/sgid_test
ll -d /tmp/ #比如/tmp目录就有粘滞位
chmod o+t /tmp
chmod 1777 /tmp
#cahttr [+-=] [选项] 文件名或者目录名
#选项:+ 增加权限; - 减少权限; = 等于某个权限; a 让文件或目录仅可追加内容; i 不得更变文件或目录
#新创建一个文件,不允许被删除(root也不行),只能往里面追加数据,如日志
touch /mnt/file_a
chattr +a /mnt/file_a #修改属性
lsattr /mnt/file_a #查看属性
#此时无法删除,若要删除先使用root身份取消属性
chattr -a /mnt/file_a
rm -f /mnt/file_a
#配置一个文件,不可变更
touch /mnt/file_i
chattr -i /mnt/file_i
#默认用户家目录权限为700
cat /etc/login.defs #umask 077,777-077=700
#默认root创建的文件权限和普通用户创建的不一样
umask #
root创建的文件权限为644,666-022=644
umask #普通用户创建的文件权限为664,666-002=664
cat /etc/profile #用户登陆系统是=是,加载的环境变量,初始化用户的工作目录
#----------------------控制umask的代码----------------------
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002 #
else
umask 022 #uid不大于199
fi
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。