linux用户和权限的补充我们都知道linux系统是一个多用户、多任务的操作系统,用户管理和权限管理参考http://2148fa7e.wiz03.com/share/s/0xifF-0vJQcD2FDV9W2F5M9r1aFl-f0ZNQvj2HbV7c277fDm今天我们来补充linux系统原有的权限。rwx->4211.linux系统的默认权限我们在创建用户和文件的时候,没有设置权限,但是文件或者用户已经有了权限。这些权限从何而来?可以修改这些默认权限吗?当然有可能。umask是默认值,指定当前用户在创建文件或目录时的权限。#查看权限的默认值(后三位数字与一般权限相关)umask#使用键值对显示,用户,组等权限绑定。-S(Symbolic)umask-S#u=rwx,g=rwx,o=rx二、linux文件的隐藏属性是的,linux文件系统除了支持9位普通权限外,还有隐藏属性。不要小看隐藏属性,它对系统的安全非常重要。主要是通过lsattr和chattr这两个命令来实现的。注意:chattr命令只能对ext2、ext3、ext4等Linux传统文件系统完全生效。最新的xfs文件系统只支持部分命令。最常见的属性设置是a和i的设置值,需要用root权限设置。xfs文件系统只支持AadiS参数。[root@study~]#chattr[+-=][ASacdistu]文件或目录名选项及参数:+:增加一个特殊参数,其他已有参数不变。-:删除一个特殊参数,其他已有参数不变。=:设置一定的,并且只设置后面的参数A:当设置了属性A时,如果你有权限访问这个文件(或目录),它的访问时间atime不会被修改,这样可以避免I/O上过多的磁盘访问慢机器。(目前推荐使用文件系统挂载参数来处理这个项目)S:一般文件都是异步写入磁盘的(原理可以参考上一章sync的说明),如果加上S属性,当您修改任何文件时,更改将“同步”写入磁盘。a:设置a后,该文件只能添加数据,不能删除或修改数据,只有root可以设置该属性c:设置该属性后,该文件会自动“压缩”,读取时会自动解压,但是存储的时候会先压缩再存储(好像对大文件还是蛮有用的!)d:dump程序执行时,设置d属性会启用文件(或目录)不被dumpi备份:这个i很强大!他可以让一个文件“不能删除、不能重命名、不能设置链接、不能写入、不能添加数据!”对系统安全有很大帮助!只有root可以设置这个属性s:当文件设置了s属性后,如果文件被删除,它就会从硬盘空间中彻底清除,所以如果被误删,根本无法保存!u:与s相反,使用u设置文件时,如果文件被删除,数据内容实际上还保存在磁盘上,可以用来恢复文件。attr使用#查看文件隐藏属性[root@localhostcustom-user]#lsattr----------------./1.txt----------------./2.txt----------------./3.sh----------------./tmp#设置文件隐藏属性[root@localhostcustom-user]#chattr+a1.txt[root@localhostcustom-user]#lsattr-----a----------./1.txt--------------./2.txt----------------./3.sh---------------./tmp3.文件特殊权限SUIDSGIDSBIT权限名称作用域符号权限限制说明SETUID二进制文件s41。SUID权限只对二进制程序(binaryprogram)有效;程序需要有x的可执行权限;3、该权限仅在程序执行期间(run-time)有效;4.执行者会得到程序拥有者(owner)的许可。SETGIDbinaryfile/folders2file:1.SGID对二进制程序很有用;2、程序执行者需要对程序有x权限;3.执行者在执行过程中会得到程序组的支持!文件夹:1、如果用户对该目录有r、x权限,则可以进入该目录;2、用户在该目录下的有效组将成为该目录的组;3、用途:如果用户在该目录下有w权限(可以创建新文件),则用户创建的新文件将与该目录所在组同组。StickyBit文件夹t11。当用户对该目录有w、x权限时,即有写权限;2、当用户在该目录下创建文件或目录时,只有用户和root才有删除该文件的权限。SUID执行过程也支持数字设置和符号设置#Numbersetting--beign--[root@localhostcustom-user]#chmod47773.sh[root@localhostcustom-user]#ll3.sh-rwsrwxrwx1custom-usercustom-group21February1416:463.sh#删除用户的s[root@localhostcustom-user]#chmod07773.sh[root@localhostcustom-user]#ll3.sh-rwxrwxrwx1custom-usercustom-group21February1416:463.sh#SetFolder[root@localhostcustom-user]#mkdirtmp[root@localhostcustom-user]#chmod1777tmp[root@localhostcustom-user]#lltotalusage8drwxrwxrwt2rootroot6March803:08tmp#deletetheStickyBitofthefolder[root@localhostcustom-user]#chmod0777tmp/[root@localhostcustom-user]#lltotalusage8-rw-------1rootroot0Feb1414:061.txt-r-xr--r--1custom-usercustom-group889Feb1416:452.txt-rwxrwxrwx1custom-usercustom-group21February1416:463.shdrwxrwxrwx2rootroot6March803:08tmp#给没有x权限的文件添加s权限[root@localhostcustom-user]#chmod46773.sh[root@localhostcustom-user]#ll3.sh-rwSrwxrwx1custom-usercustom-group21February1416:463.sh############注意:这时候我们发现S变成了大写,也就是说s没有生效,也就是说s和t是基于x的权限,不能单独设置。#############数字设置--结束--#符号设置--beign--#设置SUID[root@localhostcustom-user]#chmod7771.txt[root@localhostcustom-user]#chmodu+s1.txt[root@localhostcustom-user]#ll1.txt-rwsrwxrwx1rootroot0February1414:061.txt#setSGID[root@localhostcustom-user]#chmodg+s1.txt[root@localhostcustom-user]#ll1.txt-rwsrwsrwx1rootroot0February1414:061.txt#SetStickyBit[root@localhostcustom-user]#chmodo+ttmp[root@localhostcustom-user]#lltotalusage8-rwsrwsrwx1rootroot0February1414:061.txt-r-xr--r--1custom-usercustom-group8892Month1416:452.txt-rwSrwxrwx1custom-usercustom-group21February1416:463.shdrwxrwxrwt2rootroot6March803:08tmp#symbolsetting--end--
