文件信息


组织权限架构_群组

1.文件权限


1.文件的权限主要针对三类对象进行定义
owner: 属主, 简称u
group: 属组, 简称g
other: 其他, 简称o

2.每个文件针对每类访问者都定义了三种权限
r: readable
w: writable
x: executable

2.目录和普通文件下的权限区分


组织权限架构_群组_02


一般创建文件默认:rw-r–r–

一般创建目录默认:rwxr-xr-x

权限管理只是针对对普通用户,管理员帐户权限比较特殊,但是要是一个文件没有x权限,root账号也无法执行:
[root@Centos7 data]#chmod a-x /bin/cat
[root@Centos7 data]#cat win.txt
-bash: /usr/bin/cat: Permission denied

对于文件:
1.能改不能读权限是存在的,可以通过重定向修改文件内容,只是不能用交互式修改文件。
对于目录:
1.没有目录的x权限,意味着无法cd进去这个目录,也就无法查看目录下文件的内容,但是能查看目录的文件名(前提有r权限),节点编号无法看见。
2.如果目录权限只有x权限,能进入这个目录,不能增删改文件和目录,不能查看目录有什么文件和目录,但是我提前知道目录下有某个文件名,#ll 文件,是可以查看到文件信息(包括节点编号),有了节点编号我们就通过节点编号查看文件的数据。

3.X权限


X权限只对目录有效的可执行权限,对普通文件无效。这样我们在使用-R 设置权限的时候,只给目录设置可执行权限,而不给文件设置可执行文件,因为文件拥有可执行权限是比较危险的事,若文件是个病毒程序而已我们设置了可执行权限,这个文件就可以执行危害计算机。若文件之前是有可执行权限的话,再次设置-R a+X,是不会覆盖原来x权限。

组织权限架构_文件名_03

4.权限操作


1.chmod命令
应用:修改权限
修改权限chmod有2中形式:mode和数字法

mode:
who:u、g、o、a(所有人)
opt:+、-、=
per:r、w、x、空代表什么权限都没有
例子:
[root@Centos7 data]#chmod u+x,g-r,o+x win.txt
[root@Centos7 data]#ll win.txt
-rwx—r-x. 1 root root 14 Jul 27 17:46 win.txt

[root@Centos7 data]#chmod a= win.txt
[root@Centos7 data]#ll win.txt
———-. 1 root root 14 Jul 27 17:46 win.txt

[root@Centos7 data]#chmod a+rw win.txt
[root@Centos7 data]#ll win.txt
-rw-rw-rw-. 1 root root 14 Jul 27 17:46 win.txt

digit:r=4,w=2,x=1,奇数一定带x权限,0代表没有权限。
rwx
111 1代表有,转化十进制就是:7
r-x
101 转化十进制就是:5

例子:
[root@Centos7 data]#chmod 777 win.txt 其实777是八进制
[root@Centos7 data]#ll win.txt
-rwxrwxrwx. 1 root root 14 Jul 27 17:46 win.txt

–reference=filename

应用:参考某个文件的权限,来设置一样的权限

# chmod –reference=f1 f2 参考f1的权限来设置f2文件

组织权限架构_组织权限架构_04

2.chgrp命令
应用:修改群组命令(群组名一定要在/etc/group里面,不然会报错。)
#chgrp 【-R】 群组名 文件名
要是把次目录、所有文件、都改为群组,加上参数-R

3.chown命令
应用:修改拥有者(用户名要在/etc/passwd这个文件中有该用户名才能改变)
chown 【-R】账号名 目录/文件
chown 【-R】账号名:群组 目录/文件

4.默认权限
查看umask值,umask的只越大,默认权限就越小
#umask
0022 第一个0不用关心,只关心后三位
设置umask值
#umask 023
全局设置: /etc/bashrc 用户设置:~/.bashrc

公式:umask+default=dir:777|file:666
dir:
如果umask=022
default=777-022对位减=755,也就是rwxr-xr-x

file:
如果umask=022
default=666-022=644 也就是rw-r–r–
如果umask=013
default=666-013=653 5和3是奇数要加1 ,所以default=664
奇数加1,偶数不变,不要问为什么,记住就行了。