从零开始学习Linux(五):权限管理命令chmod

1、chmod

命令作用:改变文件或目录的权限
命令语法:

chmod [{ugoa}{+-=}{rwx}] [文件或目录]
chmod [mode=777] [文件或目录]
      -R 递归修改

命令说明:

  • {ugoa}的含义,u表示所有者,g表示所属组,o表示其他人,a表示所有人;
  • {+-=}的含义,+表示在原有权限上增加权限,-表示在原有权限上减少权限,=表示赋予新的权限;
  • {rwx}的含义,r表示读权限,w表示写权限,x表示执行权限;

1.1、通过ugoa方式修改权限

创建一个文件,qinghuaci.txt。其默认权限为,rw-r--r--。

为所有者增加执行权限,执行命令:

chmod u+x qinghuaci.txt 

再次查看权限,变成,rwxr--r--。

同时为所属组增加读权限,为其他人增加执行权限。执行命令:

chmod g+w,o+x qinghuaci.txt

注意:g+w,o+x命令中逗号后面不能有空格,否则会报错。

去除其他人的执行权限。执行命令:

chmod o-x qinghuaci.txt 

如果其他人没有执行权限时,再次去除执行权限,也不会报错。即:可以多次执行同样的去除权限命令。


有两种方法为所有用户赋予读、写、执行权限。
方法一命令:

chmod u=rwx,g=rwx,o=rwx qinghuaci.txt 

方法二命令:

chmod a=rwx qinghuaci.txt

1.2、通过数字方式修改权限

权限的数字表示规则:

  • r表示4(100);
  • w表示2(010);
  • x表示1(001);
  • -表示0(000);

rw-r--r--,对应的权限数字为,644。
r+w+- 也就是4+2+0=6
r--也就是4+0+0=6
rwxrw-r--,对应的权限数字为,764。

查看/tmp/song目录的权限以及song目录下文件的权限,如下图所示:

为/tmp/song目录赋予所有用户赋予全部权限,执行命令:

chmod 777 /tmp/song/

再次查看/tmp/song目录的权限以及song目录下文件的权限,如下图所示:


从图中可以看出,/tmp/song目录的权限发生了改变,但是目录下面的文件权限并未发生变化。

递归修改文件或者目录权限,执行命令:

chmod -R 777 /tmp/song/

注意:-R不可以小写(Linux系统是严格区分大小写的)

执行完成后,观察目录下面文件权限以及子目录下的文件权限,如下图所示:

权限全部变更了。


1.3、读写执行权限理解
代表字符 权限 对文件的含义 对目录的含义
r 可以查看文件内容,可以cat/more/head/tail/less 可以列出目录中的内容,可以ls
w 可以修改文件内容,可以vim 可以在目录中创建,删除文件。可以touch/mkdir/rmdir/rm
x 执行 可以执行文件 可以script(脚本) command(命令) 可以进入目录 可以cd

我们需注意文件与目录中的权限,代表不同的含义!

这一点非常重要,对文件有写权限,并不代表就可以删除文件。

是否可以删除文件,需要查看文件所在目录的权限。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

相关阅读更多精彩内容

友情链接更多精彩内容