文件和目录权限chmod


#代表文件权限

7fb3cb6d00a9859660744dd074bcebe2.png-wh_

#图中第一段rw-  所有者对应的权限,是否可写w,是否可读r,是否可执行x,如果都不可以用rw-

#图中第二段r   表示所属组的用户权限, 这个用户组对这个文件的权限是可读不可写不可执行

#图中第三段r   可读的不可写不可执行

#权限位是从第一列的第二位一直往后看九位,九位的权限划分为三段,第一段是所有者的权限,第二段是所属组的权限,第三段是除了所有者及所属组之外其它用户对这文件的权限

#这个权限可以用数据表示  r=4   w=2   x=1

#如果一个权限rwx=7   如果可读可写不可执行rw-=6   如果这个权限只有执行权限 --x=1

#列如:rw-r--r=644   rw-r-xr-x=655

b4a53cab00a256d3cf01b1b4a6dfbfed.png-wh_

#chmod  == change mode 的缩写  改权限命令

ff261191d335b77e01177a746447cd93.png-wh_

#下面这个.的意思是意味着这个文件受制于selinux,需要把selinux关闭,以下setenforce 0只是临时关闭,永久关闭需要更改配置文件。vi /etc/selinux/config

78dda843958fe79ae2b0acc7a45fb51f.png-wh_

# chmod  -R   chmod对文件或目录都一样,只更改文件本身权限,如果需要更改目录更好文件及子目录批量一次性更改权限就使用  chmod -R

380db1e1eec0d4c0843291282b510def.png-wh_

#chmod 另一种写法,直接用命令写出权限

a60e05110f46aae06892348b330d6bdd.png-wh_

#chmod    a表示所以 chmod  a+x  aming2   全部加上x权限

dd57a2e43a03529d5fa11d164a34114c.png-wh_


更改所有者和所属组chown(change owner缩写)


#chown  更改用户所有者,把root用户改成xietao

e1c74fc41529d032b94d46d84392f999.png-wh_

#chgrp   更改目录用户所属组

200fe6a14f1ffefaacc91866a3412bb2.png-wh_

#chown user1:aming /tmp/yum.log     更改目录用户所属组

9b248046258db04d1333329f2fb3442c.png-wh_

#只改目录所属组

13fc0fc6a8a896af99f5e06ba8ea5dea.png-wh_


umask


#touch 2.txt   创建一个目录文件    权限值644

#mkdir 123     创建 一个目录     权限值755

80acd138e9d1a29439fa8ede01b93a47.png-wh_

#创建目录与文件的权限为何不同?系统有个命令umask  值为0022     更改为umask 002

#通过这个值可以确实目录与文件的权限值,改变umask的值可以改变创建目录与文件的值

#目录为什么一定要有x权限?    目录它相当于windows下面的一个文件,文件夹下面有目录也有文件,如果想要查看这个目录有什么东西,是不是要先进入这个目录里面,进入这个目录其实就是执行这个目录,那它就必须要有这个X权限,无论什么用户都需要必须有X权限,如果没有连浏览都不能浏览。

#目录就用777去减umask 022 =755   文件就用666去减umask 022=644    这个规律不一定是对

#umask是用来决定默认的文件和目录的权限,那如何通过umask判断默认权限是多少?就是减,但不能通过数字去减,是要通过九位权限位去减,还是一个原则-号减去无论是r\w\x都得-。

b1134c351c508e05e0b5cc0b7d65f9df.png-wh_


隐藏权限lsattr/chattr


#chattr   设置隐藏权限命令

#chattr +i 1.txt 加隐藏i的权限  加了i的权限文件不能修改名字不能写,创建时间也不行。

取消i权限就-i       目录与文件加权限是一样的效果。

#lsattr -d 1.txt    查看一个目录文件本身的权限

2e7b61132e08a479a366cc748c0baf36.png-wh_

#chattr +a 1.txt 只能追加更改时间信息不能删除不能改名字不能更改文件内容 -a 去掉文件权限

#lsattr -R   可以查看目录下面的子目录及子目录下的文件权限  不加只能看到一级目录的文件权限

#lsattr -a   是看全部文件权限,包括隐藏的。