Linux 的学习权限是很重要的一部分,想我这样的菜鸟,刚刚学习,总结一下理解的权限知识。。
linux 的权限是相对于三种不同的角色来制定的,分别是 user group other 三种
user -- 所有者
group -- 所属组
other --其他人
这三种怎么理解呢
小名,小红,小华三个人是一家 他们都有自己的卧室,所以呢 对于小名我是里面的东西 是小名自己的 是所有者。 他们是一家人 公用一个客厅 ,那么客厅就是所属组。可以存放公共东西。 对于小名的朋友 对于这个group 来说 就是 other 。
权限对于每种角色也对应了三种权限,分别是
读(r-read)
写( w-write )
执行(x-execute )
登录Linux 查看文件的权限 输入命令 ll
就可以看到我们的文件权限
dr-xr-xr-x. 4 root root 4096 Sep 6 15:45 boot
最前面的 dr-xr-xr-x
就是这个文件的权限和属性
第一位:
d --文件夹
- --文件
l --软连接
后面九位数 按照三位一组 分别规定了( user group other) 三种角色对于这个文件的权限
读(r-read)
写( w-write )
执行(x-execute )
紧接着出现的数字 是说这个文件的连接数
接下来就是
root 文件的所有者
root 文件的所属组
4096 文件大小(B)
Sep 6 15:45 时间
boot 文件名
修改权限可以用到三个命令,分别是 chmod chgrp chown
chgrp -- 修改所属组 change group
chown -- 修改所有者 change own
chmod --修改Change mode
chgrp 要被改变的组名必须要在/etc/group文件内存在才行
chgrp [选项] [组] [文件]
必要参数:
-c 当发生改变时输出调试信息
-f 不显示错误信息
-R 处理指定目录以及其子目录下的所有文件
-v 运行时显示详细的处理信息
–dereference 作用于符号链接的指向,而不是符号链接本身
–no-dereference 作用于符号链接本身
[root@VM_centos data]# chgrp -v root repositories
changed group of ‘repositories’ from gituser to root
[root@VM_centos data]# ll
total 4
drwxr-xr-x 4 gituser root 4096 Sep 6 17:44 repositories
chown
chown root:root repositories
[root@VM_centos data]# ll
total 4
drwxr-xr-x 4 root root 4096 Sep 6 17:44 repositories
chmod
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
方式1
[root@VM_centos data]# chmod -R 777 repositories
[root@VM_centos data]# ll
total 4
drwxrwxrwx 4 root root 4096 Sep 6 17:44 repositories
方式2
chmod g-w repositories
[root@VM_centos data]# ll
total 4
drwxr-xrwx 4 root root 4096 Sep 6 17:44 repositories
[root@VM_centos data]# chmod o=rx repositories
[root@VM_centos data]# ll
total 4
drwxr-xr-x 4 root root 4096 Sep 6 17:44 repositories
这里分为两种方式,数字修改取权限,和英文修改
数字是用
4代表read权限
2代表write 权限
1代表execute 权限
然后每个角色 分配数值对应的权限值 7代表满权限 6代表读写 5 代表读和执行
英文是用
a代表all 角色
u 代表 user
g 代表group
o 代表other
赋值方式 可以是
"+" 加一个权限
"-" 减权限
"=" 赋值权限
权限比较怪的地方有:
1. 如果没有可执行的权限, 那么就不能进入这个文件里面去
2. 写权限 可以修改,添加 但是 不能删除这个文件