第一部分 chmod(最重要)
chmod:改变文件或目录的权限,原义change mode
语法格式:chomd 【{ugoa}{±=}{rwx}{}】【mode=421】【-R】(递归修改)filename
其中:ugoa分别表示所有者,持有者,其他人,所有人。+表示添加一个权限,-表示减少一个权限,=表示不管你之前是什么鸟权限,现在我写什么就是什么,和覆盖类似。rwx分别表示读写执行。
举个例子:chomd u+x filename 就是给法filename文件的所有者加上执行权限。
也可以多个用户一起操作,如:chmod u+x o+r filename
以下为重点内容,面试常考。
实际操作中一般不会这么写,而是用数字表示。
权限的数字表示:
r—4 w—2 x—1 说白了就是二进制的表示方法。
如:rwxrw-r–:用761表示,rwx即为4+2+1,后面的以此类推。
书写示例:chomd 744 filename
有一个常见的命令:chomd -R 777 某一个目录
该命令会将目录下面的所有文件都改成rwxrwxrwx,即递归操作。
补充知识点:
创建用户命令:useradd name(特别注意!ubuntu不能用这个命令,要用adduser命令,不然会出现没有/home/用户名/的怪胎,而且无法登陆)
创建密码:passwd name
注意:在目录和文件中rwx表示的意思不同
在文件中:r:可以读文件。w:可以修改文件的内容。x:可以执行文件。
在目录中:r:可以ls 目录中的信息。w:可以在目录中删除或创建文件。x:可以进入目录。
目录有w则可以删除文件,文件有w并不可以,只能修改内部内容而以。
第二部分 其他权限管理命令
1.chown:改变文件的所有者,本意:change owner。
语法:chown 【用户】【文件或目录】
注意:能够实现文件所有者改变操作的只有root用户,文件的所有者也没有这个权限。
2.chgrp:改变文件的所属组,本意:change group
语法:chgrp 【用户组】【文件或目录】
添加组的命令:groupadd 组名
3.umask:显示新建文件或文件夹的缺省值。
补充:我们先了解下什么是缺省值,比如一个人生下来在中国不知道是哪里人,我们就默认为是中国人,中国人就是他的缺省国籍。即不指定就默认的那个值。此处,文件的创建者若不指定所有者,缺省值便发挥用处,所属组同理。
语法:umask 【-S】
在linux中新创建的文件夹会与umask -S看见的缺省值一致,而文件可能会失去x,因为使用touch方法新创建的文件统一规定不能执行。
以下看不懂一点都不重要,了解即可。
umask命令在不更改缺省值的情况下输出的结果为0022。
第一个0是特殊权限的意思,不用管,反正我没听懂。022是反码,即755,可以发现和umask -S看到的权限是一样的。umask不加S可以改变缺省值,比如要改为700,只要写他的反玛077即可。本来就不推荐更改!本来就不推荐!
课后作业:
回想一下这几个命令各自的作用分别是什么?
chmod chown chgrp umask -S