说明
作者:Hohuzzz
创建时间:2021-02-16
个人学习心得笔记,希望对你也有点帮助!如需转载标明出处即可,谢谢。
好了,我们正式开始~
Linux权限介绍
权限介绍
使用ll命令查看权限,如下图:
每个文件夹/文件的权限均由上图红框内格式[10个字符]组成,具体构成如下:
位数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
说明 | 文件类型 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
字符表示 | -/d/l/c…等 | r | w | x | r | w | x | r | w | x |
权限所属 | 无 | user | user | user | group | group | group | other | other | other |
第1个字符:文件类型
- -:普通文件
- d:目录文件
- l:链接文件
- s:socket文件
- c:字符设备文件 character
- b:块设备文件 block 磁盘设备
- p:pipe管道文件
第2~4个字符:所属者user的权限
第5~7个字符:所属组group的权限
第8~10个字符:其他用户other的权限
文件的读、写、执行权限:
r------读权限--------允许查看文件的内容,包括的命令:cat、vim、grep、head、tail、more、less等
w-----写权限--------允许修改文件内容,包括的命令:vim、>>、>(重定向)
x------执行权限-----运行文件的权限:./*.sh
文件夹的读、写、执行权限:
r------读权限--------可以显示目录列表,包括的命令:ls
w-----写权限--------允许在目录中创建、移动等,包括的命令:cp、mv、rm、vim、touch、mkdir等
x------执行权限-----允许切换目录,包括的命令:cd
用户和组
默认新建用户时会自动生成一个与用户同名的组并分配给用户。
例如:默认新建用户userA,自动新建组userA并分配给该用户。
组可以用于更好的分配权限,类似于角色的概念,给组分配不同的权限,通过给用户分配不同的组来控制用户的权限。
一个用户可以属于多个组,一个组也可以有不同的用户,二者属于多对多的关系。
修改文件权限的命令
chmod命令
chmod命令可以修改用户自己的文件和文件夹权限,root用户可以修改所有用户的权限。
常用命令选项:-R–>递归修改指定目录下所有文件、子目录的权限
chmod命令有两种格式
格式一:
chmod [ugoa][±=][rwx] 文件/文件夹名称
u:所属用户
g:所属组
o:其他用户
a:所有用户
+:增加权限
-:去掉权限
=:设置权限
rwx:对应的权限字符
示例:
1.对test.txt文件给所属用户设置读、写和执行权限
chmod u=rwx test.txt
2.对test.txt文件给所属组设置读、执行权限,给其他人新增读权限
chmod g=rx,o+r test.txt
3.对aa文件夹下所有文件/文件夹给其他人去掉执行权限
chmod -R o-x aa
格式二:
chmod [n][n][n] 文件/文件夹名称
n为权限的数字标识,第一个n表示所属用户的权限,第二个n表示所属组的权限,第三个n表示其他人的权限。
其中:r读权限数值为4,w写权限数值为2,x执行权限数值为1。
以此类推,读+写权限数值为6,读+执行权限数值为5,写+执行权限数值为3,读+写+执行权限数值为7
示例:
1.对test.txt文件给所属用户设置读、写和执行权限
chmod 700 test.txt
2.对test.txt文件给所属组设置读、执行权限,给其他人新增读权限
chmod 054 test.txt
3.对aa文件夹下所有文件/文件夹给其他人去掉执行权限
chmod -R 776 aa
chown命令
chown命令可以修改文件的所属用户和所属组。必须是root用户才可以使用。
常用命令选项:-R–>递归修改指定目录下所有文件、子目录的权限
格式:
chown 所属用户 文件/文件夹名称
chown :所属组 文件/文件夹名称
chown 所属属主:所属组 文件/文件夹名称
示例:
1.修改test.txt文件所属用户为userA
chown userA test.txt
2.修改test.txt文件所属组为groupA
chmod :groupA test.txt
3.修改aa文件夹下所有文件的所属用户为user A,所属组为groupA
chmod userA:groupA aa -R
chgrp命令
chgrp命令可以修改文件/文件夹的所属组。必须是root用户或者文件的所有者且也属于新组的成员才可以修改。
常用命令选项:-R–>递归修改指定目录下所有文件、子目录的权限
格式:
chgrp 所属组 文件/文件夹名称
示例:
1.修改test.txt文件所属组为userA
chgrp userA test.txt
2.修改aa文件夹下所有文件的所属组为groupA
chgrp groupA aa -R
后记
Linux权限篇先写到这里吧,欢迎大家指出内容有误或缺失的地方,共同进步!后续不定时更新~