当前位置:首页 > Linux+文件权限管理实验
主机安全——
Linux文件权限管理实验
图1-12 命令如下: 退出当前会话
exit 切换帐户
su - test 删除文件
rm -f /sample/abcd 查看文件
ls -al /sample/abcd 此时报找不到文件错误。 退出当前会话
exit 为目录 /sample增加粘滞位,如图 1-13:
图1-13 命令如下: 增加粘滞位
12-9
主机安全——
Linux文件权限管理实验
chmod 1770 /sample 查看目录权限
ls -al / | grep sample 此时我们可以看到,/sample 目录的权限位为 drwxrwx—T (1770),即属主及属组可读可写可访问,其他人不可读不可写不可访问,且目录具有粘滞位。
重复上面的图 1-11 所示步骤,以普通帐号 sample 创建文件 abcd;
重复上面的图 1-12 所示步骤,到以普通帐号 test 尝试删除 /sample/abcd 时,发现这次删除不了了,如图 1-14:
图1-14
S位 (suid / sgid)
S位分为SUID和SGID,分别作用于属主和属组的权限位。
uid 和euid
真实用户ID (uid)是拥有或启动进程的用户 UID。生效 UID (euid) 是进程以其身份运行的用户ID。
举例来说, passwd 工具通常是以发起修改密码的用户身份启动,也就是说其进程的真实用户 ID是那个用 户的ID;但是,由于需要修改密码数据库,它会以 root 用户作为生效用户 ID 的身份运行。这样,普通的非特权用户就可以修改口令,而不是看到 “Permission Denied” 错误了。
SUID
setuid 权限可以通过在普通权限前面加上一个数字四 (4) 来设置,如图 1-15:
图1-15
12-10
主机安全——
Linux文件权限管理实验
命令如下: 创建新文件
touch /tmp/abcd.sh 为属主增加执行权限
chmod u+x /tmp/abcd.sh 查看文件权限
ls -al /tmp/abcd.sh 为文件设置 setuid 权限
chmod 4744 /tmp/abcd.sh 查看文件权限
ls -al /tmp/abcd.sh 我们可以看到,在原先的属主执行权限的位置变成了s。
这样,需要提升特权的可执行文件,例如 passwd 就可以正常运行了。
SGID
setgid 权限的作用与setuid 权限类似,只是当应用程序配合这一设定运行时,它会被授予文件属组的权限。
setgid 权限可以通过在普通权限前面加上一个数字二 (2) 来设置,如图 1-16:
图1-16 命令如下:
为属组增加执行权限
chmod g+x /tmp/abcd.sh 查看文件权限
12-11
主机安全——
Linux文件权限管理实验
ls -al /tmp/abcd.sh 为文件设置 setgid 权限
chmod 2754 /tmp/abcd.sh 查看文件权限
ls -al /tmp/abcd.sh 我们可以看到,在原先的属组执行权限的位置变成了s。
注:
?
在上面的例子中,尽管 shell 脚本也属于可执行文件的一种,但它们可能不会以配置
的euid 或生效用户ID的身份运行。这是因为shell 脚本出于安全考虑可能无法直接调用 setuid 函数。
解决方案
无。
12-12
共分享92篇相关文档