二周第三次课(10月25日)
2.14 文件和目录权限chmod
权限位分三段分别是:所有者+所属组+其他用户
r=4 读,w=2 写 ,x=1 执行
rwx=7(4+2+1)
rw-=6(4+2+0)
--x =1(0+0+1)
rw-r--r--=644
rw-r-x-r-x=655
1、chmod修改权限
chmod -R 770 test1 #-R目录、批量修改目录下面的权限
chmod 700 2.txt
chmod u=rwx,g=r,o=r 2.txt
chmod a+x #所有用户添加x权限
chmod a-x #所有用户删除x权限
chmod u+x #user用户添加x权限
2.15 更改所有者和所属组chown
2、chown修改所有者、所属组
chown -R #级联修改所有者
cat /etc/passwd #查看用户
chown ww 1.sql
chown ww:oracle 1.sql
3、chgrp修改所属组
chgrp oracle 1.sql
chown :oracle 1.sql
chown user1:oracle abc.txt #同时更改所有者和所属组
2.16 umask
系统创建一个目录或者文件的时候会有一个默认的权限,那么这个权限的默认值就存在umask中
查看root用户的umask
不标准算法:
目录默认权限是777-umask(022)=755
文件默认权限是666-umask(022)=644
标准算法:
修改umask方法:umask 003后用权限位相减
(666-003)==(rw-wr-rw-) - (——-wx) ==(rw-rw-r)=664
(777-003)==(rwxrwxrwx) - (——-wx)==(rwxrwxr–)==774
2.17 隐藏权限lsattr/chattr
添加特殊权限,给目录添加权限,目录下面已经存在的文件是不受影响的
+i 不能修改文件,相当于锁定文件
+a 只能追加,可以更改时间信息,可以touch
-R 查看子目录下所有文件的特殊权限
-d 只查看目录本身
chattr +i abc.txt #创建隐藏 “i” 权限
chattr -i abc.txt #删除“i” 权限
lsattr abc.txt #查看隐藏权限