码迷,mamicode.com
首页 > 系统相关 > 详细

​Linux文件和目录特殊权限位介绍及实践​(setuid setgid)

时间:2015-03-19 18:42:28      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:setuid setgid


                      

            Linux文件和目录特殊权限位介绍及实践


在Linux中不管是超级用户root还是普通用户都可以使用命令“passwd”命令修改自己的密码,但是了解Linux的人都知道Linux密码是存放在/etc/passwd  /etc/shadow  里面的 


ls -l /etc/passwd  /etc/shadow 查看一下权限

[root@localhost ~]# ls -l /etc/passwd /etc/shadow
-rw-r--r--. 1 root root 1497 3月  16 21:15 /etc/passwd
----------. 1 root root  984 3月  16 21:15 /etc/shadow

里面普通用户并没有写入权限怎么能修改密码呢

重点在于passwd这个命令里面   查看一下passwd命令的权限

[root@localhost ~]# which passwd
/usr/bin/passwd
[root@localhost ~]# ls -l /usr/bin/passwd 
-rwsr-xr-x. 1 root root 25980 2月  22 2012 /usr/bin/passwd

里面有一个  s  说明这个命令有setuid权限

如果我们root执行

[root@localhost ~]# chmod 644 /usr/bin/passwd

然后切换到 su - admin 用户修改密码

[admin@localhost ~]$ passwd
-bash: /usr/bin/passwd: 权限不够

再把setuid权限给分回来  属主  4

[root@localhost ~]# chmod 4755 /usr/bin/passwd

[admin@localhost ~]$ passwd 
更改用户 admin 的密码 。
为 admin 更改 STRESS 密码。
(当前)UNIX 密码:

现在可以更改密码了

给组账户添加权限  2

[root@localhost ~]# ls -l /usr/bin/passwd 
-rwsr-xr-x. 1 root root 25980 2月  22 2012 /usr/bin/passwd
[root@localhost ~]# chmod 2755 /usr/bin/passwd 
[root@localhost ~]# ls -l /usr/bin/passwd 
-rwxr-sr-x. 1 root root 25980 2月  22 2012 /usr/bin/passwd

把权限去掉就是  0

[root@localhost ~]# chmod 0755 /usr/bin/passwd
[root@localhost ~]# ls -l /usr/bin/passwd 
-rwxr-xr-x. 1 root root 25980 2月  22 2012 /usr/bin/passwd


本文出自 “棒棒不是糖” 博客,转载请与作者联系!

​Linux文件和目录特殊权限位介绍及实践​(setuid setgid)

标签:setuid setgid

原文地址:http://ctozhanghe.blog.51cto.com/9880217/1622291

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!