[root@yolks1 ~]# ls -l 2.txt
-rw-r--r-- 1 root root 846 6月 4 20:38 2.txt
-
文件或目录第1列表示类型紧跟的rwx就是表示所属者、所属组、其他人的权限三部分
- r >> 可读
- w >> 可写
- x >> 可执行
- - >> 表示没有
-
用数字对应的关系来表示
- r >> 4
- w >> 2
- x >> 1
示例 : rw-r--r-- = 644
文件或目录权限 chmod(change mode)
- 更改2.txt文件权限为 rwx------ = 700
[root@yolks1 ~]# chmod 700 2.txt
[root@yolks1 ~]# ls -l !$
ls -l 2.txt
-rwx------ 1 root root 846 6月 4 20:38 2.txt
-
权限字节后面跟的小点的解释
-rw-r--r--. 1 root root 0 6月 7 22:01 123.txt -rw-------. 1 root root 1422 5月 31 02:27 anaconda-ks.cfg
- [.]受制于selinux,创建文件带.说明当前selinux是开启状态,关闭则消失;
-
关闭selinux方法 :
- 临时关闭 : setenforce 0
- 文件修改 : vi /etc/selinux/config 修改SELINUX=enforcing为disabled
1. 默认权限
[root@yolks1 tmp]# ls -ld superyolks/
drwxr-xr-x 2 root root 21 6月 5 23:03 superyolks/
[root@yolks1 tmp]# ls -l superyolks/123.txt
-rw-r--r-- 1 root root 0 6月 5 23:03 superyolks/123.txt
2. chmod命令修改文件夹权限
[root@yolks1 tmp]# chmod 770 superyolks
[root@yolks1 tmp]# ls -ld superyolks/
drwxrwx--- 2 root root 21 6月 5 23:03 superyolks/
[root@yolks1 tmp]# ls -l superyolks/123.txt
-rw-r--r-- 1 root root 0 6月 5 23:03 superyolks/123.txt
3.chmod -R 选项可以一起修改目录及目录下的文件权限
[root@yolks1 tmp]# chmod -R 770 superyolks
[root@yolks1 tmp]# ls -ld superyolks/
drwxrwx--- 2 root root 21 6月 5 23:03 superyolks/
[root@yolks1 tmp]# ls -l superyolks/123.txt
-rwxrwx--- 1 root root 0 6月 5 23:03 superyolks/123.txt
4. 上面通过数字修改权限,也支持rwx修改权限,例如修改123.txt文件权限为rwxr--r--
[root@yolks1 superyolks]# ll 123.txt
-rwxrwx--- 1 root root 0 6月 5 23:03 123.txt
[root@yolks1 superyolks]# chmod u=rwx,g=r,o=r 123.txt
[root@yolks1 superyolks]# ll 123.txt
-rwxr--r-- 1 root root 0 6月 5 23:03 123.txt
5.也可以通过 a(all) 表示添加权限,取消的话则 [+] 换成 [-]
chmod a+x 123.txt
chmod u+x 123.txt
chmod g+x 123.txt
chmod o+x 123.txt
更改所有者和所属组 chown(change owner) 和 修改属组chgrp(change group)
1.chown修改属主
- 添加用户 : useradd yolks
[root@yolks1 ~]# ls -l /tmp/passwd.txt
-rw-r--r-- 1 root root 5922 6月 4 21:37 /tmp/passwd.txt
[root@yolks1 ~]# chown yolks /tmp/passwd.txt
[root@yolks1 ~]# ls -l /tmp/passwd.txt
-rw-r--r-- 1 yolks root 5922 6月 4 21:37 /tmp/passwd.txt
2.chgrp修改属组
- 添加组 : groupadd grp1
[root@yolks1 ~]# chgrp grp1 /tmp/passwd.txt
[root@yolks1 ~]# ls -l /tmp/passwd.txt
-rw-r--r-- 1 yolks grp1 5922 6月 4 21:37 /tmp/passwd.txt
3.chown同时修改属主和属组
[root@pan01 ~]# chown pan02:pan01 /tmp/yum.log
[root@pan01 ~]# !ls
ls -l /tmp/yum.log
-rw-------. 1 pan02 pan01 0 5月 31 02:24 /tmp/yum.log
4.chown只修改属组
[root@pan01 ~]# chown :root /tmp/yum.log
[root@pan01 ~]# !ls
ls -l /tmp/yum.log
-rw-------. 1 pan02 root 0 5月 31 02:24 /tmp/yum.log
[root@pan01 tmp]# ls -l shipan/2.txt
-rw-r--r--. 1 root root 0 6月 7 22:37 shipan/2.txt
[root@pan01 tmp]# ls -l shipan/
总用量 0
-rw-r--r--. 1 root root 0 6月 7 22:37 2.txt
5.chown - R 同时修改属主和属组
[root@pan01 tmp]# chown -R pan02:pan01 shipan
[root@pan01 tmp]# ls -l shipan/
总用量 0
-rw-r--r--. 1 pan02 pan01 0 6月 7 22:37 2.txt
[root@pan01 tmp]# ls -l shipan/2.txt
-rw-r--r--. 1 pan02 pan01 0 6月 7 22:37 shipan/2.txt
权限掩码 umask
用来设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行, 并自动设置掩码mode来限制新文件的权限。用户可以通过再次执行umask命令来改变默认值,新的权限将会把旧的覆盖掉。umask的默认值可以更改,但是只有在$[HOME]/.bashrc下增加umask值才可以永久定义自己的umask值,否则只是临时更改。
###1. 查看当前umask值
[root@pan01 tmp]# umask
0022
2.修改umask值
-
修改为0003(默认简写为003)
[root@yolks1 ~]# umask 003 [root@yolks1 ~]# umask 0003 [root@yolks1 ~]# touch 3.txt [root@yolks1 ~]# ll !$ ll 3.txt -rw-rw-r-- 1 root root 0 6月 6 00:16 3.txt [root@yolks1 ~]# mkdir 234 [root@yolks1 ~]# ls -ld !$ ls -ld 234 drwxrwxr-- 2 root root 6 6月 6 00:08 234
- 原来umask值是 : 022 ; 文件是 : 644(rw-r--r--); 目录是 :755 (rwxr-xr-x)
- 现在umask值是 : 003 ; 文件是 : 664 (rw-rw-r--) ; 目录是 :774 (rwxrwxr--)
-
默认文件夹需要进入,即文件夹具有x权限;
- 777(rwxrwxrwx)-022(----w--w-)=755(rwxr-xr-x)
- 777(rwxrwxrwx)-003(-------wx)=774(rwxrwxr--)
-
文件则默认不需要,即文件不具有x权限
- 666(rw-rw-rw-)-022(----w--w-)=644(rw-r--r--)
- 666(rw-rw-rw-)-003(----w--wx)=664(rw-r--r--)
文件的隐藏属性
-
chattr 选项
- i : 不可操作的权限
[root@yolks1 ~]# chattr +i 2.txt [root@yolks1 ~]# vi 2.txt
- 去掉 i 隐藏权限 :
[root@yolks1 ~]# chattr -i 2.txt [root@yolks1 ~]# lsattr !$ lsattr 2.txt ---------------- 2.txt
- a : 只能追加,不允许删除和修改编辑
[root@yolks1 ~]# chattr +a 2.txt [root@yolks1 ~]# lsattr !$ lsattr 2.txt -----a---------- 2.txt
-
lsattr
- 查看文件是否有隐藏权限
[root@yolks1 ~]# lsattr 2.txt ----i----------- 2.txt
- d :查看目录权限本身
- R : 查看目录及子目录或文件的隐藏权限