大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
介绍
Linux中的Chmod命令用于更改或分配文件和目录的权限。在Linux/Unix系统中,文件和目录的可访问性是由文件所有权和权限决定的。在上一篇文章中,我们了解了如何使用chown命令管理文件和目录的所有权。在本教程中,我们将介绍chmod命令。
chmod命令(change mode的缩写)用于管理文件和目录权限,并确定谁可以访问它们。现在让我们深入了解文件和目录权限的本质,以及如何修改它们。
Linux权限
文件和目录可以属于文件(u),组(g)或其他(o)的所有者
- u – 所有人的权限
- g – 所有组的权限
- o – 其他人的权限
使用ls -l命令以长格式的形式查看当前目录下所有可见文件的详细属性。该-l标志列出文件的权限。权限分为三组:用户(user)组(group)和其他(others)。
为了更好地理解文件权限,我们将列出目录的内容,如下所示:
ls -l
示例1)使用数字符号分配权限
使用数字样式/符号设置权限时,请使用以下语法:
$ sudo chmod [选项]数字值文件名
数值可以为3或4个数字。但是,在大多数情况下,使用3个数字。读取,写入和执行权限采用以下值:
- 读取权限=> 4
- 写权限=> 2
- 执行权限=> 1
权限值的总和,即在三个段中的每一个中的读取,写入和执行,都占给定文件或目录的完整权限。
假设所有者具有读取,写入和执行权限,该组具有读取和执行权限,而其他用户仅具有读取权限,可以将其细分如下:
u:rwx = 7
g:rx = 5
o:r– = 4
因此,我们得到的值为754,作为给定文件的文件权限的数值。
要将读取,写入和执行权限分配给所有者,而仅将读取权限分配给组和其他用户,请运行以下命令:
$ chmod 744 www.linuxmi.com.txt
要将所有权限分配给文件的所有者,请对该组读取和执行权限,而对其他用户则完全没有权限,请执行:
$ chmod 750 www.linuxmi.com.txt
要将所有权限分配给文件的所有者,请对该组具有读写权限,其他用户请运行以下命令:
$ chmod 755 linuxmi.txt
示例2)递归分配目录权限
为目录分配权限时,请使用-R标志以递归方式为其目录和子文件夹分配权限。例如:
$ chmod 755 -R 目录名
$ chmod 755 -R /home/linuxmi/linux
示例3)使用文本表示法指定权限
分配权限的另一种方法是使用文本表示法。在此方法中,chmod命令采用标志或符号,这些标志或符号代表语法中的所有者,组,其他或所有用户(u,g和o)。
该方法不像以前的方法那样简单明了,应注意避免分配错误的权限。
这是语法的样子
$ chmod [选项] [ugoa] [– + =] [r,w,x]文件
第一组参数[ugoa]指定权限将更改的用户类别
- u:用户
- g:组
- o:其他
- a:全部(包括以上所有内容)
如果省略了这个集合,那么默认选项是a选项。
第二组选项–操作员选项[– + =] –确定是要添加权限还是要从用户类别中删除权限。选项删除
- – :该标志从指定的用户中删除文件权限。
:将权限添加/添加到指定用户。
- = :为指定的用户分配不同的权限,并删除该用户段的先前权限。
示例4)为文件分配读取权限
$ chmod o = r 文件名
上面的命令仅将用符号“ o”表示的其他用户分配给该文件的读取权限,并删除先前分配给’ others ‘段的权限。取得具有以下权限的linuxmi.txt
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt
-rwxrwxr-x 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt
分配“others (o)”段的读权限,请仅运行
linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o=r linuxmi.txt
[sudo] linuxmi 的密码:
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt
-rwxrwxr-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt
从输出中,我们可以看到已为“others”段分配了读取权限,而同时又失去了执行权限。这意味着=运算符将分配新的权限,而同时会删除以前的权限。
示例5)向文件和组所有者分配执行权限
linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod ug+x linuxmi.txt
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt
-rwxrwxr-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt
上面的命令将执行权限添加到文件的所有者和组。使用我们的文件
示例6)为文件,组和其他分配不同的权限
sudo chmod u=rwx,g=rw,o=r filename
上面的命令将所有权限分配给文件的所有者,将读写权限分配给组,仅将读取权限授予其他用户。
注意:如果在=运算符之后未指定任何权限,则将删除该用户段中的所有权限。
示例7)删除其他用户的所有权限
$ sudo chmod o= filename
sudo chmod o= linuxmi.txt
$ sudo chmod o-rwx linuxmi.txt
上面的命令从“其他”用户段中删除指定文件的所有权限。
该命令与以下命令具有相同的作用:
$ sudo chmod o-rwx filename
linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o= linuxmi.txt
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt
-rwxrw---- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt
linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o-rwx linuxmi.txt
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt
-rwxrw---- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt
示例8)使用模板文件分配权限
分配文件权限的另一种便捷方法是使用参考文件。在此方法中,您使用–reference=<模板文件> 选项将文件的权限设置为与另一个参考文件的权限相同。使用以下语法
$ sudo chmod –reference=ref_file filename
例如,要将linuxmi.txt的文件权限设置为与www.linuxmi.com.py的权限相同,请运行以下命令:
$ sudo chmod --reference=www.linuxmi.com.py linuxmi.txt
模板文件是www.linuxmi.com.py,将linuxmi.txt更改为模板文件相同的权限。
示例9)仅将执行权限分配给目录
假设我们有一个包含文件和子目录的目录,并且我们希望仅对目录分配执行权限,而不接触文件。因此,这可以通过使用以下chmod命令来实现,
$ chmod a+X *
如果您已经注意到,我们已经使用大写的X作为执行权限,以上命令将在当前工作目录的所有目录上设置执行权限。
参考链接 :
Linux 修改权限命令 chmod 用法示例 : https://mp.weixin.qq.com/s/Lv5Dqi1BwJsABR-jsQT9gQ
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179908.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...