大家好,又见面了,我是你们的朋友全栈君。
Linux的常用命令
-
- 一、关于文件权限的基本理论知识
- 二、关于文件权限的命令
-
- (1)查看文件权限
- (2)文件权限的基本知识
- (3)关于修改权限的命令
一、关于文件权限的基本理论知识
一个Linux目录或者文件,都会有一个所有者、所属组和其他用户。所有者是指文件的拥有者,而所属组指的是这个文件属于哪一个用户组。 例如:test的文件的所有者是user0,而test1文件的所有者是user1,那么user1很有可能是不能查看test文件的,相应地,user0也很有可能不能查看test1文件(之所以说的是可能,是因为user0和user1可能属于同一个用户组,而恰好这个用户组对这个两个文件有查看权限)。
二、关于文件权限的命令
(1)查看文件权限
想要了解文件权限的命令首先就得知道怎么查看文件的权限。
ls
(list files的简写)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。
ls -l
命令会列出文件类型、权限、所属者、文件大小等信息。(ls
的其他命令不做扩展)
(2)文件权限的基本知识
看到上面的图片哪里是文件权限呢?下面对上面的图片进行进一步解读。
1、对于上面图片显示的一行行的内容解释如下图所示:
2、从上面的图片可以知道前面的内容就是权限,接下来进一步分析每个字符的含义。
看这个图有10个字符,第一个字符是文件类型,剩余的9个字符,每3个字符为一组。其中,r 代表可读,w 代表可写,x 代表可执行,- 代表无此权限。 第一组的字符为所有者的权限,第二组的字符为所属组,第三组的字符为非本群组用户(即其他用户)的权限。
(3)关于修改权限的命令
注意:修改权限的命令要在超级用户(root)的状态下才可执行,所以需要使用su命令提前进入超级用户的用户下。
①chgrp
(change group的简写)命令可以更改文件的所属组,格式为: chgrp [组名][文件名]
例如:下图我们修改了test目录的所属组权限由workhah所属组改成root所属组了。
直接使用chgrp
命令只会修改目录本身的所属组,不会修改目录下文件的权限。chgrp -R [组名][文件名]
可以实现修改目录并且同时修改子文件的权限(这种作用叫做级联更改)。
②chown
(change owner的简写)命令可以更改文件的所有者,其格式为:chown [用户名][文件名]
例如:下图我们修改了test目录的所属者权限由workhah所属组改成root所属者了。
同样的,跟chgrp
类似,chown
命令也只会修改目录本身的所属者,不会修改目录下文件的权限。chown -R [用户名][文件名]
也是起到级联作用。
chown -R [用户名] : [组名] [文件名]
命令也是很常用的。不仅可以更改当前目录和子问题的所属者,而且可以更改它们的所属组。
③chmod
(change mode的简写)命令用于改变用户对文件/目录的读写执行权限,其格式为:chmod xyz 文件名
(此处的xyz表示数字)。而这些数字是为了方便更改文件的权限,Linux使用数字代替rwx,具体规则为:r 等于4,w 等于2,x 等于1,- 等于0。
例如:rwxrwx- – – 用数字表示就是770,其具体算法为:rwx = 4 2 1 = 7,rwx = 4 2 1 = 7,- – – = 0 0 0 = 0。
下图把test目录的文件权限修改rwxrwx- – –
chmod
命令还支持使用rwx的方式来设置权限。可以使用u、g和o分别表示所属者(user)、所属组(group)和其他用户(others)的属性,用a代表全部(all)。
例如:把test目录的所属者权限更改为只读r,把其他用户和所属组的权限更改为只读 r 和可执行 x。
另外也可以针对u、g、o和a,增加或者减少它们某个权限(读、写或执行)。 例如:把test目录的所属者、所属组和其他用户的权限都添加上可写 w 权限。
最后,对于chmod -R
也是跟chown
命令的-R
选项一样,也表示级联更改。
在LInux系统中,一个目录的默认权限为755,一个文件的默认权权限为644。
④umask
命令用于更改文件的默认权限,其格式为:umask xxx
(这里的xxx代表三个数字)。
# umask
0022
看上面的图片,直接输入umask
就会输入0022的预设值,接下来对着预设值进行解释。
首先我们要知道,若用户建立普通文件,则预设没有可执行权限,只有r、w两个权限,最大值为666(rw- rw- rw-);若用户建立目录,则预设所有权限均开放,即777(rwx rwx rwx)。umask
显示出来的预设值(其中的后三位,最前面的0表示的是umask
的数值是八进制的)代表的含义为以上两条规则中的默认值需要减掉的权限。
因此,
目录的权限为 rwxrwxrwx(777) - – – – -w- -w-(022) = rwxr-xr-x(755)
普通文件的权限为 rw-rw-rw-(666) - – – – -w- -w-(022) = rw-r- -r-x(644)
所以,创建的目录的默认权限为755,文件的默认权限为644。
需要转载请标明出处
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179249.html原文链接:https://javaforall.cn