Linux文件和目录特殊权限位介绍及实践
在Linux中不管是超级用户root还是普通用户都可以使用命令“passwd”命令修改自己的密码,但是了解Linux的人都知道Linux密码是存放在/etc/passwd /etc/shadow 里面的
用ls -l /etc/passwd /etc/shadow 查看一下权限
[[email protected] ~]# 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命令的权限
[[email protected] ~]# which passwd /usr/bin/passwd [[email protected] ~]# ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 25980 2月 22 2012 /usr/bin/passwd
里面有一个 s 说明这个命令有setuid权限
如果我们root执行
[[email protected] ~]# chmod 644 /usr/bin/passwd
然后切换到 su - admin 用户修改密码
[[email protected] ~]$ passwd -bash: /usr/bin/passwd: 权限不够
再把setuid权限给分回来 属主 4
[[email protected] ~]# chmod 4755 /usr/bin/passwd
[[email protected] ~]$ passwd 更改用户 admin 的密码 。 为 admin 更改 STRESS 密码。 (当前)UNIX 密码:
现在可以更改密码了
给组账户添加权限 2
[[email protected] ~]# ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 25980 2月 22 2012 /usr/bin/passwd [[email protected] ~]# chmod 2755 /usr/bin/passwd [[email protected] ~]# ls -l /usr/bin/passwd -rwxr-sr-x. 1 root root 25980 2月 22 2012 /usr/bin/passwd
把权限去掉就是 0
[[email protected] ~]# chmod 0755 /usr/bin/passwd [[email protected] ~]# ls -l /usr/bin/passwd -rwxr-xr-x. 1 root root 25980 2月 22 2012 /usr/bin/passwd
时间: 2024-10-14 14:20:12