linux权限位说明
Posted confusedren
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux权限位说明相关的知识,希望对你有一定的参考价值。
- ? linux文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件属主(Owner)的读、写、执行,用户组(Group)的读、写、执行以及(Other)其它用户的读、写、执行;
- ? 文件属主(Owner)读read 4、写write 2 、执行x 1
- ? 文件用户组(Group)读r、写w、执行x
- ? 其它用户(Other)读r、写w、执行x
- ? 如果有权限位不可读、不可写、不可执行,则用-来表示。数字是0
- ? linux文件与目录权限对比说明:
- ? r(Read,读取权限):
- ? 对文件(如oldboy)而言,表示具有读取阅读文件内容的权限。
- ? 对目录(如/etc)来说,表示具有浏览目录的权限需要x权限配合(注意:与进入目录的权限不同)
- ? w(Write,写入权限):
- ? 对文件而言,表示具有新增、修改文件内容的权限需要r权限配合(注意:删除和移动文件和文件本身属性无关,看上级目录)
- ? 对目录来说,表示具有新增、删除、移动目录内文件的权限(需要x权限配合)
- ? x(Execute,执行权限):
- 对文件而言,表示具有执行文件的权限需要r权限配合(普通用户同时还需要的权限,root用户不用r也能执行,文件本身也要能执行才行)
- ? 对目录来说,表示具有进入目录的权限
- ? 无任何权限
- 若对应位置权限位为字符“-”,表示对应用户没有读、写、执行的任何权限
- 11位权限最后一位selinux 的状态开启的时候带点,不开启就没点
- 文件系统属性(文件属性)
- lsattr ##查看隐藏属性
- chattr ##
- a 不能被移动删除,只能追加
- i 无敌的,不能修改
- 特殊权限位基本说明:
- suid s(有x) S 4 用户对应的权限位(用户对应的第3位上)
- sgid s(有x) S 2 用户组对应的权限位(用户组对应的第3位上)
- sticky t(有x) T 1 其他用户对应的第三位上
- [[email protected] ~]# ls -l `which passwd`
- -rwsr-xr-x. 1 root root 30768 Feb 22 2012 /usr/bin/passwd
- [[email protected] ~]# ls -ld /tmp
- drwxrwxrwt. 4 root root 4096 Aug 20 12:31 /tmp
- 有s 就相当于有root的权限
- suid知识小结:针对命令和二进制程序的
- 1) 用户或属主对应的前三位权限的x位上如果有s就表示suid权限。
- 当x位上没有小写x执行权限的时候,suid的权限显示的就是大S。
- 2) suid作用是让普通用户可以以root(或其他)的用户角色运行只有root(或其他)账号才能运行的程序或命令,或程序命令对应本来没有权限操作的文件等。(注意su及sudo的区别),suid为某一个命令设置提示权限(使用者为所有人)。
- 3) suid修改的是执行的命令passwd,而不是处理的目标文件/etc/shadow
- 4) 仅对二进制命令程序有效,不能用在shell等类似脚本文件上(因为shell脚本仅仅是调用二进制命令程序而已,因此,具体权限还需要看二进制命令本身)
- 5) 二进制命令程序需要有可执行权限x配合。
- 6) suid权限仅在程序命令执行过程中有效。
- 7) 执行suid命令的任意系统用户都可以获得该命令程序在执行期间对应的拥有者的所有权限。
- 8) suid双刃剑,是一个比较危险的功能,对系统安全有一定的威胁。
- 安全优化,干掉无用的suid,sgid权限
- Linux特殊权限位sgid深度详解及实践
- 特别说明:
- 1. 与suid不同的是,sgid既可以针对文件也可以针对目录设置。
- 2. sgid是针对用户组权限位的。
- 对于文件来说,sgid的功能如下:
- 1. sgid仅对二进制命令程序有效。
- 2. 二进制命令或程序需要有可执行权限x
- 3. 执行命令的任意用户可以获得该命令程序执行期间所属组的权限。
- 对于目录,sgid的功能如下:
- 1. sgid可以让用户在此目录下创建的文件和目录,具有和此目录相同的用户组设置。
- 2. ;linux里默认情况所有用户创建文件,默认用户和组都是自身。
- 3. 一个用户组的权限;其他用户加入这个用户组他会拥有和这个用户组共同的权限
- Linux特殊权限位sgid针对目录特殊情况深度详解及实践
- chmod g+s /home/admins
- touch /home/admins/oldbot.txt
- setuid位设置用八进制的4000,setgid用的是八进制的2000;比如我们前面所说的chmod 4755 /bin/rm 就是设置setuid位的。
- 特殊权限位基本说明:
- suid s(有x) S 4 用户对应的权限位(用户对应的第3位上)
- sgid s(有x) S 2 用户组对应的权限位(用户组对应的第3位上)
- sticky t(有x) T 1 其他用户对应的第三位上
- 设置小结:
- suid : chmod 4755 file (可执行)或者 chmod u+s file
- sgid : chmod 2755 file 或者 chmod g+s file
- 同时设置suid和sgid : chmod 6755 file
- 粘滞位 1000 权限字符t(T),在其他用户位的x位上设置。
- chmod 1777 /tmp 或 chmod o+t /tmp
- 粘贴位的功能现在也很少用了,不过对于像/tmp目录这样的,是整个系统临时文件存放地,还是有点意义的。一个目录即使它的所有权限都开放rwxrwxrwx,如果是设置了粘贴位,除非目录的属主和root用户有权限删除他,除此之外其他用户不能删除这个目录。用途一般是把一个文件夹的权限都打开,然后来共享文件,像/tmp目录一样,虽然方便但是也带来了安全隐患,生产环境我们一般不这样使用!
- sticky:比sgid的更安全措施,让多个用户都具有写权限的目录,每个用户只能删自己的文件,表现在other位。用t表示,如果没有执行权限,那么就是T,如果有执行权限,那么就是t表示。
- tmp经典的粘贴位目录案例,特点谁都有写的权限,因此安全成问题。常常是木马第一手跳板地点。
以上是关于linux权限位说明的主要内容,如果未能解决你的问题,请参考以下文章