频道栏目
首页 > 系统 > Linux > 正文

passwd命令读取的shadow文件没有任何权限,为什么普通用户可以正常登录

2013-08-05 11:40:40         来源:blog.csdn.net/justdb  
收藏   我要投稿

passwd命令读取的shadow文件没有任何权限,为什么普通用户可以正常登录

 

我们可以看到密码文件没有任何权限,用户登录时要需要读取密码文件,如果正确是怎样通过验证的呢?

[plain] 

[root@serv01 learning]# ls /etc/shadow -l  

----------. 1 root root 1155 Sep 20 22:11/etc/shadow  

 

因为该文件具有s属性。s:s针对命令,对与普通文件或者目录没有任何意义,特权位,命令执行的一瞬间具有root权限

[plain] 

[root@serv01 learning]# ls /etc/shadow -l  

----------. 1 root root 1155 Sep 20 22:11/etc/shadow  

[root@serv01 learning]# which passwd  

/usr/bin/passwd  

[root@serv01 learning]# ls -l/usr/bin/passwd  

-rwsr-xr-x. 1 root root 25336 Jan 29  2010 /usr/bin/passwd  

 

演示修改vim的权限,可以打开任何文件在任何地方修改文件

[plain] 

[root@serv01 learning]# which vim  

/usr/bin/vim  

[root@serv01 learning]# ls -l /usr/bin/vim  

-rwxr-xr-x. 1 root root 1933032 Feb 15  2011 /usr/bin/vim  

[root@serv01 learning]# chmod u+s/usr/bin/vim  

[root@serv01 learning]# ls -l /usr/bin/vim  

-rwsr-xr-x. 1 root root 1933032 Feb 15  2011 /usr/bin/vim  

 

第一步 在当前目录创建文件

[plain] 

[zhink@serv01 bbbb]$ vim file  

 

第二步 查看文件的信息

[plain] 

[zhink@serv01 bbbb]$ ls -l file  

-rw-rw-r--. 1 root zhink 6 Sep 20 23:17file  

 

第三步 在root的根目录下创建文件,可以看到文件所有者时root

[plain] 

[zhink@serv01 bbbb]$ vim /root/test.txt  

 

第四步 查看test.txt的权限,可以看到文件所有者是root

[plain] 

[root@serv01 learning]# ls /root/test.txt-l  

-rw-rw-r--. 1 root zhink 12 Sep 20 23:17/root/test.txt  

[root@serv01 learning]# cat bbbb/file  

hello  

[root@serv01 learning]# cat /root/test.txt  

hello,world  

 

第五步 此时编辑shadow文件也可以

[plain] 

[zhink@serv01 bbbb]$ vim /etc/shadow  

#为了系统的安全性,还原vim命令的权限  

[root@serv01 learning]# chmod u-s /usr/bin/vim  

[root@serv01 learning]# ls /usr/bin/vim -l  

-rwxr-xr-x. 1 root root 1933032 Feb 15  2011 /usr/bin/vim  

 

第六步 还原vim的属性,再次查看密码文件,发现看不到内容

[plain] 

[zhink@serv01 bbbb]$ vim /etc/shadow  

 

第七步 g+s后的实验

[plain] 

#目录继承s,文件继承w  

[root@serv01 learning]# chmod g+s cccc/  

[root@serv01 learning]# cd cccc/  

[root@serv01 cccc]# chmod g+w ../cccc/  

[root@serv01 cccc]# mkdir oooo  

   

[zhink@serv01 cccc]$ ll  

total 8  

drwxrwsr-x. 2 zhink root 4096 Sep 20 23:29ffff  

-rw-rw-r--. 1 zhink root    0 Sep 20 23:30 file  

drwxr-sr-x. 2 root  root 4096 Sep 20 23:26 oooo  

 

上一篇:文件控制列表命令setfacl和getfacl的使用
下一篇:用户管理命令useradd等的深入理解及手动创建用户
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站