权限: 用户对文件的操作权限
====================================== 文件的所有者和所属组 #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