Loading... <h1><strong><span>一、权限</span></strong></h1> <p><span>获取某种资源的能力。对于Liunx而言,一切皆文件。所以,对于Liunx的权限定义,也就是定义文件被不同用户访问能力的过程。</span></p> <p><span>权限分为三种:r、w、x</span></p> <table cellpadding="0" cellspacing="0"> <tbody> <tr class="firstRow"> <td> <p style="font-size: 14px"><span>文件</span></p> </td> <td> <p style="font-size: 14px"><span>r:查看文件内容</span></p> </td> <td> <p style="font-size: 14px"><span>w:修改文件内容</span></p> </td> <td> <p style="font-size: 14px"><span>x:可以将文件启动运行</span></p> </td> </tr> <tr> <td> <p style="font-size: 14px"><span>目录</span></p> </td> <td> <p style="font-size: 14px"><span>r:可以使用ls命令查看目录中的<span>文件名</span></span></p> </td> <td> <p style="font-size: 14px"><span>w:可以在目录中创建或删除文件(能否删除文件,取决于用户对目录的写权限</span></p> </td> <td> <p style="font-size: 14px"><span>x:可以cd到此目录中,以及使用ls -l显示目录中文件的元数据</span></p> </td> </tr> </tbody> </table> <p><span style="font-size: 14px"><strong><span>用户访问文件时的权限匹配模型</span></strong></span></p> <p><span></span></p> <pre class="brush:bash;toolbar:false">1、当用户访问某文件时,检查此程序的属主是否与其正在访问的属主相同? - 相同:则以属主的权限访问 - 不同:进入第二步 2、检查运行此进程的属主是否属于此文件的属组? - 相同:属组的权限访问 - 不同:进入第三步 3、以其他用户身份访问</pre> <p><strong><span>文件权限表示方式</span></strong></p> <p><strong><span></span></strong></p> <pre class="brush:bash;toolbar:false">rwx 111 7 rw- 110 6 r-x 101 5 r-- 100 4 -wx 011 3 -w- 010 2 --w 001 1 --- 000 0</pre> <p><span><strong>创建文件后关于权限的规则</strong></span></p> <p><span>所有文件创建:666-umask值,保证不被赋予运行权限</span></p> <p><span>所有目录创建:777-umask值</span></p> <ul class=" list-paddingleft-2"> <li> <p><span><strong>umask值</strong>:</span></p> </li> </ul> <p><span>Root(或UID和GID不同的普通用户):<strong>022</strong></span></p> <p><span>普通用户(GID UID相同):<strong>002</strong></span></p> <p><span><strong>修改umas:</strong></span></p> <p><span><strong><em>#umask xxx</em></strong></span><span><span><strong></strong></span><span><br /></span></span></p> <p><span><span> </span><span><strong><span>注意</span></strong>:</span></span></p> <p><span><span> 1、</span><span>当减去umask值后,文件有执行权限,则会自动+1,为的是取消执行权限的开启</span><span>。</span></span></p> <p><span> 2、仅对当前会话的shell有效,退出再登录后失效。(除非修改shell配置文件)</span></p> <h1><strong><span>二、chmod(修改文件权限)</span></strong></h1> <p><span><strong>SYNOPSIS</strong><span> </span></span></p> <p><span></span></p> <pre class="brush:bash;toolbar:false"> chmod [OPTION]... MODE[,MODE]... FILE... chmod [OPTION]... OCTAL-MODE FILE... chmod [OPTION]... --reference=RFILE FILE</pre> <p><span><strong>配置</strong><strong><br /></strong></span></p> <p><span><strong>1、直接操作三类用户的权限</strong><span><strong><em><br /></em></strong></span></span></p> <p><span></span></p> <pre class="brush:bash;toolbar:false"> # chmod 640 file # chmod 6 file //相当于006</pre> <p><span><strong>2、 操作指定类别使用者的权限</strong></span></p> <p><span></span></p> <pre class="brush:bash;toolbar:false">-u | 表示属主 -g | 表示属组 -o | 其他 -a | all</pre> <p><span><span></span><strong><em><span># Chmod u=rw</span></em></strong></span></p> <p><span><strong><em># chmod ug=r</em></strong><br /></span></p> <p><span><strong><span>Tips</span></strong><strong style="font-style: italic">:</strong>=后不接任何数字,表示—(000)权限</span></p> <p><span><strong>3、操作指定类别使用者的指定权限位</strong></span></p> <p><span>上面命令中的=换成+/-</span></p> <p><span></span></p> <pre class="brush:bash;toolbar:false">+r | 全部赋予 +w | 只赋予u +x | 全部赋予</pre> <p><span></span></p> <p><span><span></span><strong>4、参考</strong></span></p> <p><span><strong><em># chmod –reference=/tmp/distination.file Source.file</em></strong></span></p> <p><span>– 参考Distination.file的权限,复制到Souce.file5、修改目录和内部子目录</span></p> <p><span><strong><em># chmod -R g= test/</em></strong></span></p> <p><span>– 修改Test目录和目录下所有文件的属组权限为—</span></p> <h1 style="font-size: 1.5em;font-weight: bold"><span>三、chown(修改属主)</span></h1> <p><span></span></p> <pre class="brush:bash;toolbar:false">SYNOPSIS chown [OPTION]... [OWNER][:[GROUP]] FILE... chown [OPTION]... --reference=RFILE FILE...</pre> <p><span><strong>配置</strong></span></p> <p><span><strong><em># chown -R fcknight /home/fcknight</em></strong></span></p> <p><span> – 将用户fcknight赋予该目录属主权限</span></p> <p><span><strong><em># chown –reference=/home/fcknight/ /tmp/abc</em></strong></span></p> <p><span> – 注意,该命令同时会修改属主和属组<br /></span></p> <p><span><strong><em># chown -R user:Group File</em></strong></span></p> <p><span> – 同时修改属主和属组</span></p> <p><span><strong><em># chown :group file</em></strong></span></p> <p><span> – 省略:前面的属主信息,即修改属组。</span></p> <p><span></span></p> <h1><span>四、修改属组</span></h1> <p><span></span></p> <p><span></span></p> <pre class="brush:bash;toolbar:false">SYNOPSIS chgrp [OPTION]... GROUP FILE... chgrp [OPTION]... --reference=RFILE FILE...</pre> <p><span><strong>配置</strong></span></p> <p><span><strong><em># chgrp –reference=/home/fcknight/ /tmp/abc</em></strong><span><br /></span></span></p> <p><span> – 只修改属组,而不会修改属主(注意与chown的区别)</span></p> <p><span></span></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信