一、r-w-x权限
针对文件 针对目录
读:r cat ls 查看目录中存在的文件名
写:w vim 更改文件内容 删除目录中的子文件或者新建文件
执行:x 执行可执行程序 cd 表示是否可以进入到目录
一般给目录读权限的时候,默认会给其执行权限
为什么要设置权限
因为员工的职责与分工是不同的,不同账户所需要做的事情是不一样的,也要便于服务器的管理
二、Linux文件的所有者
1.user属主 U
是文件的创造者,文件的创建者、拥有者,表示一个账户对这个文件的权限
2.group属组 G
文件所属的用户组,某个组对这个文件有的权限
3.others其他用户 O
除了上面之外的其他用户对这个文件的权限
此外, a 则代表 all,即全部的身份。
三、普通权限管理
-代表普通文件
d代表目录
l 是链接,相当于Windows的快捷方式
d是目录,相当于Windows的文件夹
c是字符设备文件,鼠标键盘
b是快设备,比如硬盘
r 4代表可读
w 2代表可写
x 1可执行
设置文件或目录权限
chmod
-R 递归设置权限
作用:增加或减少文件的权限,不能改变所有者,只能改变所有者现有的权限
要给文件或目录设置权限,操作者要么是root要么是文件或目录所有者
用法1:chmod u+x 1 给文件1的属主赋予执行权限
用法2:chmod g+x,o+x 2给文件2同时赋予属组其他的执行权限
用法3:chmod o-x 2 减少其他人的执行权限
用法4:chmod u=rwx,g=rwx,o=rwx 2 给文件所有人权限
用法5:chmod a+rwx 1赋予所有人权限
权限设置考虑的因素
给谁设置
u 属主
g 属组
o 其他
ugo表示所有
a 表示所有
怎么设置
+添加权限
-减少权限
=赋予权限
增加减少赋予什么权限
r读w写x执行
注意:
同时设置多个身份权限的时候 每个身份仅用英文逗号隔开
chmod u=rwx,g=rwx 1
=
chmod ug=rwx
数字形式
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx--- 分数则是:
- owner = rwx = 4+2+1 = 7
- group = rwx = 4+2+1 = 7
- others= --- = 0+0+0 = 0
所以等一下我们设定权限的变更时,该文件的权限数字就是 770。变更权限的指令 chmod 的语法是这样的:
chmod [-R] xyz 文件或目录
选项与参数:
- xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
- -R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更
举例来说,如果要将 .bashrc 这个文件所有的权限都设定启用,那么命令如下:
[root@www ~]# ls -al .bashrc -rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc [root@www ~]# chmod 777 .bashrc [root@www ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。