linux修改文件权限命令chmod(linux系统修改文件权限命令)

linux修改文件权限命令chmod(linux系统修改文件权限命令)p Linux 中的 Chmod 命令用于更改或分配文件和目录的权限 在 Linux Unix 系统中 文件和目录的可访问性是由文件所有权和权限决定的 在上一篇文章中 我们了解了如何使用 chown 命令管理文件和目录的所有权 在本教程中 我们将介绍 chmod 命令 p p class f center p

大家好,我是讯享网,很高兴认识大家。




讯享网

 <p>Linux中的Chmod命令用于更改或分配文件和目录的权限。在Linux/Unix系统中,文件和目录的可访问性是由文件所有权和权限决定的。在上一篇文章中,我们了解了如何使用chown命令管理文件和目录的所有权。在本教程中,我们将介绍chmod命令。</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F1016%2Ffefb4139j00qiaek6000gd000kk0088p.jpg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p>chmod命令(change mode的缩写)用于管理文件和目录权限,并确定谁可以访问它们。现在让我们深入了解文件和目录权限的本质,以及如何修改它们。</p><p><strong>Linux权限</strong></p><p>为了更好地理解chmod命令是如何工作的,我们该谨慎地研究Linux文件权限模型。</p><p>在Linux中,我们具有3种类型的文件权限:读(r),写(w)和执行(x)权限。</p><p>这些权限确定哪些用户可以读取,写入或执行文件。您可以使用文本或八进制(数字)表示法来分配这些权限,我们将在本教程后面讨论。</p><p>文件和目录可以属于文件(u),组(g)或其他(o)的所有者</p><p>1. u - 所有人的权限</p><p>2. g - 所有组的权限</p><p>3. o- 其他人的权限</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F1016%2F1f8bc379j00qiaepd0019d000go009dp.jpg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p>使用ls -l命令以长格式的形式查看当前目录下所有可见文件的详细属性。该-l标志列出文件的权限。权限分为三组:用户(user)组(group)和其他(others)。</p><p>为了更好地理解文件权限,我们将列出目录的内容,如下所示:</p><p><blockquote>linuxmi@linuxmi:~/www.linuxmi.com$ ls -l<br/></blockquote></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F1016%2F2ac89537p00qiaeiy001dc000lw007pm.png&thumbnail=660x&quality=80&type=jpg"/><br/></p><p>从最左端开始,第一个字符/符号表示文件类型。一个连字符( - ) ,表示该文件是一个普通文件。符号d表示它是目录。符号l表示它是符号链接。</p><p>其余的9个字符分成3个三元组,每个三元组带有三个符号r(read),w(write)和x(execute)。如前所述,第一部分指向所有者权限,第二部分指示组权限,最后一部分指定其他用户对该文件或目录具有的权限。</p><p>从输出中,我们可以看到我们有4个文件和2个目录。</p><p>让我们查看下第一个文件</p><p><blockquote>-rw-rw-r-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.com.cpp<br/></blockquote></p><p>对于第一个文件,-rw-rw-r–权限表示该文件的所有者具有读取和写入权限,该组还具有读取和写入权限,而其他用户仅具有读取权限。</p><p>再看看目录的权限:</p><p><blockquote>drwxrwxr-x 3 linuxmi linuxmi 4096 10月 12 13:31 Linux迷<br/></blockquote></p><p>我们可以看到目录和组的所有者拥有所有权限(读取,写入和执行),而其他用户仅具有读取和执行权限。</p><p>在三重连字符符号-表示没有权限已被授予该文件,小组或其他用户的所有者。</p><p><strong>使用chmod命令设置文件和目录权限</strong></p><p>在查看了文件权限以及如何查看它们之后,我们不再关注如何修改这些权限。</p><p>Linux中的chmod命令用于使用文本(符号)或数字(八进制)表示法更改文件和目录权限。它采用以下语法:</p><p><blockquote>$ chmod [选项]模式文件名<br/></blockquote></p><p>只有root用户或具有sudo特权的普通用户才能更改文件或目录权限。您可以在命令语法中传递多个文件或目录,并用空格分隔。</p><p>现在让我们深入研究并查看chmod命令的不同示例。</p><p>示例1)使用数字符号分配权限</p><p>使用数字样式/符号设置权限时,请使用以下语法:</p><p><blockquote>$ sudo chmod [选项]数字值文件名<br/></blockquote></p><p>数值可以为3或4个数字。但是,在大多数情况下,使用3个数字。读取,写入和执行权限采用以下值:</p><p>1. 读取权限=&gt; 4</p><p>2. 写权限=&gt; 2</p><p>3. 执行权限=&gt; 1</p><p>权限值的总和,即在三个段中的每一个中的读取,写入和执行,都占给定文件或目录的完整权限。</p><p><strong>这是什么意思?</strong></p><p>假设所有者具有读取,写入和执行权限,该组具有读取和执行权限,而其他用户仅具有读取权限,可以将其细分如下:</p><p>u:rwx = 7<br/>g:rx = 5<br/>o:r– = 4</p><p>因此,我们得到的值为754,作为给定文件的文件权限的数值。</p><p>要将读取,写入和执行权限分配给所有者,而仅将读取权限分配给组和其他用户,请运行以下命令:</p><p><blockquote>$ chmod 744 www.linuxmi.com.txt<br/></blockquote></p><p>要将所有权限分配给文件的所有者,请对该组读取和执行权限,而对其他用户则完全没有权限,请执行:</p><p><blockquote>$ chmod 750 www.linuxmi.com.txt<br/></blockquote></p><p>要将所有权限分配给文件的所有者,请对该组具有读写权限,其他用户请运行以下命令:</p><p><blockquote>$ chmod 755 linuxmi.txt<br/></blockquote></p><p>示例2)递归分配目录权限</p><p>为目录分配权限时,请使用-R标志以递归方式为其目录和子文件夹分配权限。例如:</p><p>$ chmod 755 -R 目录名</p><p><blockquote>$ chmod 755 -R /home/linuxmi/linux<br/></blockquote></p><p>示例3)使用文本表示法指定权限</p><p>分配权限的另一种方法是使用文本表示法。在此方法中,chmod命令采用标志或符号,这些标志或符号代表语法中的所有者,组,其他或所有用户(u,g和o)。</p><p>该方法不像以前的方法那样简单明了,应注意避免分配错误的权限。</p><p>这是语法的样子</p><p><blockquote>$ chmod [选项] [ugoa] [– + =] [r,w,x]文件<br/></blockquote></p><p>让我们分解一下。</p><p>第一组参数[ugoa]指定权限将更改的用户类别</p><p><ul><li>u:用户</li><li>g:组</li><li>o:其他</li><li>a:全部(包括以上所有内容)</li></ul></p><p>如果省略了这个集合,那么默认选项是a选项。</p><p>第二组选项–操作员选项[– + =] –确定是要添加权限还是要从用户类别中删除权限。选项删除</p><p><ul><li>– :该标志从指定的用户中删除文件权限。</li><li>+ :将权限添加/添加到指定用户。</li><li>= :为指定的用户分配不同的权限,并删除该用户段的先前权限。</li></ul></p><p>示例4)为文件分配读取权限</p><p><blockquote>$ chmod o = r 文件名<br/></blockquote></p><p>上面的命令仅将用符号“ o”表示的其他用户分配给该文件的读取权限,并删除先前分配给' others '段的权限。取得具有以下权限的linuxmi.txt</p><p><blockquote>linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt<br/>-rwxrwxr-x 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt<br/></blockquote></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F1016%2F21c15639p00qiaeiy000mc000lw0057m.png&thumbnail=660x&quality=80&type=jpg"/><br/></p><p>分配“others (o)”段的读权限,请仅运行</p><p><blockquote>linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o=r linuxmi.txt<br/>[sudo] linuxmi 的密码:<br/>linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt<br/>-rwxrwxr-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt<br/></blockquote></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F1016%2F22519e38p00qiaeiy0015c000lw006pm.png&thumbnail=660x&quality=80&type=jpg"/><br/></p><p>从输出中,我们可以看到已为“others”段分配了读取权限,而同时又失去了执行权限。这意味着=运算符将分配新的权限,而同时会删除以前的权限。</p><p>示例5)向文件和组所有者分配执行权限</p><p><blockquote>linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod ug+x linuxmi.txt<br/>linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt<br/>-rwxrwxr-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt<br/></blockquote></p><p>上面的命令将执行权限添加到文件的所有者和组。使用我们的文件,它将变成:</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F1016%2Fb04c7256p00qiaeiz000rc000lw004pm.png&thumbnail=660x&quality=80&type=jpg"/><br/></p><p>示例6)为文件,组和其他分配不同的权限</p><p><blockquote>sudo chmod u=rwx,g=rw,o=r filename<br/></blockquote></p><p>上面的命令将所有权限分配给文件的所有者,将读写权限分配给组,仅将读取权限授予其他用户。</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F1016%2Fec95fd52p00qiaeiy000sc000lw004pm.png&thumbnail=660x&quality=80&type=jpg"/><br/></p><p><strong>注意:</strong>如果在=运算符之后未指定任何权限,则将删除该用户段中的所有权限。</p><p>示例7)删除其他用户的所有权限</p><p><blockquote>$ sudo chmod o= filename<br/></blockquote><blockquote>sudo chmod o= linuxmi.txt<br/></blockquote><blockquote>$ sudo chmod o-rwx linuxmi.txt<br/></blockquote></p><p>上面的命令从“其他”用户段中删除指定文件的所有权限。</p><p>该命令与以下命令具有相同的作用:</p><p><blockquote>$ sudo chmod o-rwx filename<br/></blockquote><blockquote><br/><br/></blockquote><blockquote>linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o= linuxmi.txt<br/>linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt<br/>-rwxrw---- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt<br/>linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o-rwx linuxmi.txt<br/>linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt<br/>-rwxrw---- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt<br/></blockquote></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F1016%2F5ff0b260j00qiaeiz000nc000lw0067m.jpg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p>示例8)使用模板文件分配权限</p><p>分配文件权限的另一种便捷方法是使用参考文件。在此方法中,您使用--reference=&lt;模板文件&gt; 选项将文件的权限设置为与另一个参考文件的权限相同。使用以下语法</p><p><blockquote>$ sudo chmod –reference=ref_file filename<br/></blockquote></p><p>例如,要将linuxmi.txt的文件权限设置为与www.linuxmi.com.py的权限相同,请运行以下命令:</p><p><blockquote>$ sudo chmod --reference=www.linuxmi.com.py linuxmi.txt<br/></blockquote></p><p>模板文件是www.linuxmi.com.py,将linuxmi.txt更改为模板文件相同的权限。</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F1016%2Fdd29ae79j00qiaeiz000vc000lw0097m.jpg&thumbnail=660x&quality=80&type=jpg"/><br/></p><p>示例9)仅将执行权限分配给目录</p><p>假设我们有一个包含文件和子目录的目录,并且我们希望仅对目录分配执行权限,而不接触文件。因此,这可以通过使用以下chmod命令来实现,</p><p><blockquote>$ chmod a+X *<br/></blockquote></p><p>如果您已经注意到,我们已经使用大写的X作为执行权限,以上命令将在当前工作目录的所有目录上设置执行权限。</p><p><strong>总结</strong></p><p>这个话题暂时到此结束。我们查看了chmod命令,并了解了可以使用该命令更改文件权限的各种示例。</p> 

讯享网
小讯
上一篇 2025-05-22 13:41
下一篇 2025-06-02 11:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/151246.html