前言:Linux系统是一个多用户系统,不同的用户处于不同的地位,也就是说具有不同的权限。为了安全,对于不同用户访问同一个文件,设置不同权限是很有必要的。
一.文件的基本属性理解
在Linux中,通常是这两个命令修改文件或目录所属用户与权限:
chown:修改所属用户 与 组
chmod:修改用户的权限
在此基础上,需要先理解文件的属性和文件所属的用户和组。
这里通过使用 ll 或 ls 命令来显示一个文件的属性和文件所属用户和组。
你可以发现显示形式是这样的。
-rw-r--r-- 1 root root 0 oct 8 19:09 1.c
(1)-rw-r--r--
这里我们要分为0123456789来看,分成四个部分(0,123,456,789)
0 这位置,也就是“-”
-,表示文件。
d,表示目录。
l,表示链接。
123这三个表示所属用户(user)的权限
表示由三种权限r(read读权限),w(write写权限),x(execute执行权限)
上面rw-表示用户root有读权限和写权限,没有执行权限。
456这三表示用户所属组(usergroup)的权限
r--表示这个root组有读权限,没有写和执行权限。
789这三表示其他用户(otheruser)的权限
r--表示其他用户只有读权限,没有写和执行权限。
(2)1 这个表示链接计数,表示有多少个硬链接指向该文件。
(3)root 表示文件所有者的用户名。
(4)root 表示文件所属组的名称
(5)0 表示文件大小,字节为单位,这里文件大小为0字节。
(6)oct 文件最后修改的月份,这里是10月
(7)8 表示最后修改的日期。
(8)19:09 表示最后修改的时间。
(9)文件名。
对于文件来讲,它都有一个特定的所有者和组
但对于 root 用户来说,一般情况下,文件的权限对其不起作用。
二.修改文件属性命令
1.chgrp:更改文件属组
语法:chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。
chgrp: changing group of ‘yyyyy.txt’: Operation not permitted
这里表示你这个操作不允许,权限不够,这里我们切换为root用户
可以看到文件的用户更改为root。
2.chown:更改文件所属者,也可以同时更改文件属组
语法:chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名命令:chmod root yangyao
修改为root用户
命令:chmod root rrot Videos
修改为所属用户为root和所属组root
3.chown:更改文件9个所属
Linux文件属性有两种设置方法,一种是数字,一把是符号
这里由上面介绍知道文件基本权限有九个,字符形式为:rwx(owner) rwx(group) rwx(other),这九个三个三个为一组。
各权限的分数对照表如下:
r:4
w:2
x:1
数字形式一共就7(rwx),6(rw-),5(r-x),3(-wx)这四种形式
每种身份都有一共数字形式
owner=rwx=7
group=rwx=7
others=rwx=7
(1)数字形式修改
- rwx r-x r--(数字形式:754)
语法: chmod [-R] xyz 文件或目录
命令:chmod 754 yyyyy.txt
(2)符号形式修改
这里又有两种情况。
这里我先设置为rwxrwxrwx
用u表示user,g表示group,o表示other。a表示u,g,o。
+,-表示加入
命令:chmod a-x yyyyy.txt
命令:chmod a+x yyyyy.txt
精确到特定的位置
命令:chmod g+x yyyyy.txt