权限: 用户对文件的操作权限

====================================== 文件的所有者和所属组 #chown 用户 文件 #chown user2 a.txt

#chown {.|:}组 文件
#chown .grp2 a.txt

#chown 用户.组 文件
#chown user3:grp3 a.txt

-R recoursive 递归修改,修改目录的时候连带目录的所有子文件一起修改

====================================== ugo权限 u user g group o other

--- --- ---
 u   g   o
rwx r-x --x

r read
w write
x execute

====================================== 权限修改 # chmod 权限 文件 # chmod u-r-w a.txt # chmod u+r a.txt # chmod g+w a.txt # chmod o+x a.txt # chmod u+w,g-w,o+w a.txt # chmod a-r a.txt a表示ugo3个位置 # chmod -r a.txt (建议少用)

4=r 2=w 1=x
rwx 4+2+1=7
r-- 4
r-x 4+1=5
745

[tom@wing ~]$ chmod 604 a.txt 
[tom@wing ~]$ ll a.txt
-rw----r-- 1 tom tom 44 Nov 25 11:43 a.txt

====================================== 隐藏权限 # lsattr a.txt # chattr +a a.txt # chattr -a a.txt # chattr +i a.txt # chattr -i a.txt

+A:Atime,告诉系统不要修改对这个文件的最后访问时间
+S:Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
+d:No dump,在进行文件系统备份时,dump程序将忽略这个文件。

chattr命令不能保护/、/dev、/tmp、/var目录

====================================== 高级权限:umask suid sgid sticky(t) facl umask 用户掩码 控制用户创建文件和目录的默认权限 用户 目录777 文件666 755 644

#umask 0022 root账户默认 0002 普通用户默认

先把掩码做取反操作,然后在与原始权限做与运算 或者 按位减

suid 提权 #chmod 4755 命令 #chmod u+s 命令 suid只能给命令添加,当给命令添加了suid之后,后面再有人去执行这个命令的时候 就会拥有命令操作符所有者的权限

sgid 组权限继承 #chmod 2755 目录 #chmod g+s 目录 sgid只能给目录添加,当你给一个目录添加了sgid之后,后面不管谁来这个目录下创 建文件,文件的所属组都会继承目录的所属组

sticky(t权限) 权限控制 #chmod 1777 目录 #chmod o+t 目录 t权限只能给目录添加,当你给一个目录添加了t权限之后,后面所有人在这个目录下不 能删除其他人的文件

-R 递归修改权限

facl权限 扩展ugo权限,可以单独的对某一个用户或者某一组用户设置权限

查看facl #getfacl 文件(目录)名

设置facl #setfacl -m u:tom:r a.txt #setfacl -m u:tom:4 a.txt #setfacl -m g:组名:rwx a.txt

-R 递归修改 必须写到-m的前面,可以写到一起
#setfacl -R -m u:tom:4  目录名称

设置facl的继承权限 只能对目录,对目录本身不生效 # setfacl -m d:u:wing:r dir1

mask:和权限做与运算,最后的结果是有效权限 # setfacl -m m::rw ccc.txt

取消 # setfacl -b ccc.txt # setfacl -x u:wing: ccc.txt

======================================

纯手动创建账户过程 创建jim账户 1.在passwd文件添加一个行jim账户信息 在shadow文件添加一个行jim账户信息 2.创建家目录 #cp -r /etc/skel /home/jim 3.在group文件添加一行jim组信息 在gshadow文件添加一行jim组信息 4.修改权限 #chown jim.jim /home/jim #chmod 700 /home/jim 5.创建个人邮箱 #mkdir /var/spool/mail/jim #chown jim.mail /var/spool/mail/jim #chmod 660 /var/spool/mail/jim