企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 文件权限中 `chmod、u+x、u、r、w、x`分别代表什么? Linux系统中的每个文件和目录都有访问许可权限,如下面所示: ![](http://tinywan-develop.oss-cn-hangzhou.aliyuncs.com/18-11-13/58024930.jpg) 要说清楚问题,我们截取一些内容: ``` ypy@ubuntu:~$ ls -l drwxr-xr-- 2 ypy ypy 4096 Nov 30 18:33 Desktop/ drwxr-xr-- 2 ypy ypy 4096 Nov 30 18:33 Documents/ drwxr-xr-- 2 ypy ypy 4096 Dec 1 16:01 Downloads/ -rwxrwxr-- 2 ypy ypy 4096 Feb 8 19:59 exercise -rw-rw-r-- 2 ypy ypy 4096 Dec 1 16:02 file.sh ``` 看上面第一列的内容: ``` drwxr-xr-- 表示用户权限为:读、写、执行;用户组权限:读、执行;其他权限:读,不能写和执行 -rw-rw-r-- 表示用户权限为:读、写;用户组权限:读、写;其他权限:读,不能写和执行 0123456789(这里,我写个标号,为了后面说明问题方便使用) ``` Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。文件或目录的访问权 限分为只读,只写和可执行三种。 接着再深入讲解,正确说的直白一点,下面是必要的知识,需要你记住的: ``` 这里显示的权限是依次排列的,分别为:[用户][同组][其他] 用户权限,就是你自己的权限。英文:user,简写:u(覆盖标号123) 用户组权限,就是和你同组的人的权限。英文:group,简写:g(覆盖标号456) 其他权限,就是不和你同组的人的权限。英文:others,简写:o(覆盖标号789) 所有人的权限,英文:all,简写:a r, 即Read,读,权限值为4 w,即Write,写,权限值为2 x,即eXecute,执行,权限值为1 -,在标号0位置,表示普通的文件 -,其他位置,表示对应权限未开启,不具备权限 d,即directory,表示目录文件 无任何权限:数字0表示 开所有权限:数字7表示,即7=4+2+1 chmod 命令是用于改变文件或目录的访问权限。 + 表示增加权限,如u+x, u+r, u+w, g+w, g+r, o+r, a+r等 - 表示取消权限,如u-x, u-r, u-w, g-w, g-r, o-r, a-r等 = 表示赋予给定权限,并取消其他所有权限(如果有的话,如原来u是rwx,设置u=r,u就剩r) ``` 假如你的file.sh文件权限是这样: ``` drw-rw-r-- 2 ypy ypy 4096 Dec 1 16:02 file.sh, ``` 表示为: ``` 你可以对该file.sh文件进行读、写、执行; 和你同组的人可以读、写、不能执行; 其他不和你同组的人:只能读,不能写和执行。 ``` 现在我们来分析一下,对file.sh文件,做这个操作:`chmod u+x file.sh`是什么意思呢? 表示用户权限中,增加执行权限,修改后变成这样: ``` drwxrw-r-- 2 ypy ypy 4096 Dec 1 16:02 file.sh ``` [修改文件权限命令chmod、chgrp、chown详解](修改文件权限命令chmod、chgrp、chown详解)