SUID、SGID、SBIT归纳总结
由于网络上对于这三个特殊权限解释的内容太过简短,没看明白前就结束了教程,在自己试验后写总结以便其他人能方便了解 1、SUID前提:SUID对于一个文件有什么限制和功能
1.1权限设置方法1.1.1字母设置法chmod u+s 文件名 添加SUID权限 1.1.2数字设置法chmod 4755 文件名 1.2 passwd例子passwd命令是linux系统中用来修改密码的命令.系统中所有用户都可以使用. [[email?protected] ~]# cd /bin [[email?protected] bin]# ls -l passwd -rwsr-xr-x. 1 root root 27832 Jan 30 2014 passwd 可以看到第4位为S,表示设置了SUID权限,在这个情况下任何普通用户都可以修改他自身的密码(root可以修改所有用户的密码) [[email?protected] Desktop]$ passwd Changing password for user user1. Changing password for user1. (current) UNIX password: New password: Retype new password: passwd: all authentication tokens updated successfully. user1用户密码修改成功,如果把passwd的SUID权限去掉会发生什么呢? [[email?protected] bin]# chmod u-s passwd [[email?protected] bin]# ll passwd -rwxr-xr-x. 1 root root 27832 Jan 30 2014 passwd 我们再次更改user1密码 [[email?protected] Desktop]$ passwd Changing password for user user1. Changing password for user1. (current) UNIX password: New password: Retype new password: passwd: Authentication token manipulation error 虽然用户有执行 passwd 命令的权限,但无修改 /etc/shadow 文件的权限,因此最终密码修改失败 2、SGIDSGID主要实现如下两种功能:
2.1权限设置方法2.1.1字母设置法chmod -R g+s 文件名 添加SGID权限 2.1.2数字设置法chmod 2777 文件名 2.2实例[[email?protected] Desktop]# ls -ld sgidd/ drwxrwxrwx. 2 root root 6 Jul 17 22:21 sgidd/ [[email?protected] Desktop]# chmod 2777 sgidd/ [[email?protected] Desktop]# ls -ld sgidd/ drwxrwsrwx. 2 root root 6 Jul 17 22:21 sgidd/ 首先为文件夹添加SGID权限 [[email?protected] sgidd]$ touch file1 [[email?protected] sgidd]$ mkdir file2 [[email?protected] sgidd]$ ll total 0 -rw-rw-r--. 1 user1 root 0 Jul 17 22:36 file1 drwxrwsr-x. 2 user1 root 6 Jul 17 22:36 file2 切换普通用户,在目录中创建一个文件与目录。可以看到创建的两个文件都自动继承了SGID文件夹的所属组,并且创建的目录也自动添加了SGID权限。 3、SBITSBIT的作用:
3.1权限设置方法3.1.1字母设置法chmod -R o+t 文件名 添加SGID权限 3.1.2数字设置法chmod 1777 文件名 3.2实例[[email?protected] Desktop]# mkdir sbitd [[email?protected] Desktop]# chmod 1777 sbitd/ [[email?protected] Desktop]# ls -ld sbitd/ drwxrwxrwt. 2 root root 6 Jul 17 23:23 sbitd/ [[email?protected] Desktop]# 创建一个具有SBIT权限的目录 [[email?protected] sbitd]$ mkdir test [[email?protected] sbitd]$ ls -ld test drwxrwxr-x. 2 user1 user1 6 Jul 17 23:29 test 切换user1用户,创建目录test [[email?protected] sbitd]$ rm -rf test rm: cannot remove ‘test’: Operation not permitted 切换user2用户,删除目录test,由于SBIT的缘故,提示不允许操作。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |