linux(二十三)用户权限管理chmod修改文件及目录权限

2023年 10月 11日 53.0k 0

Linux中的chmod命令可以修改文件或目录的权限。

这个命令很重要,因为,你的权限如果不够~这个文件或目录,不管你是谁,你也访问不了。

 

这个命令其实还是挺简单的。

 

一:权限说明

1:查看当前目录下的所有文件

[root@iZuf60ynur81p6k0ysvtneZ mv]# ll
total 4
-rwx------ 1 root root    0 Aug 27 11:32 1.txt
drwxrwxrwx 2 root root 4096 Sep  1 10:17 dir
-rwxrwxrwx 1 root root    0 Sep  1 10:18 test.sh
[root@iZuf60ynur81p6k0ysvtneZ mv]#

 

dir的权限为drwxrwxrwx,权限为d开头,代表他是一个目录。

Test.sh的权限为-rwxrwxrwx,权限为-开头,代表他是一个文件

 

权限一共是是个字符,去除首位代表文件类型之外,剩余的9位三三为一组,r代表read(读),w代表write(写),x代表execute(执行)

2-4这三个字符代表拥有者的权限

5-7这三个字符代表所属组的权限

8-10这三个字符代表其他用户(不同用户组)的权限        

 

为了做测试,显示的更直观,我这里给目录及文件都是所有权限。因此,你会发现,他只有目录和文件的区别。

 

二:修改文件/目录权限

1 :文件和目录权限的区别

文件默认不需要可执行权限,目录是需要可执行权限的,否则在终端目录中无法使用cd进入目录。如果目录没有可读权限,无法使用ls查看目录下的文件。

 

2 :修改命令,第一种写法

语法:chmod [对谁操作] [操作符] [赋予的权限] 文件名

(1):给当前文件拥有者添加写权限

chmod +w test.sh #添加写权限命令。

[root@iZuf60ynur81p6k0ysvtneZ mv]# ll
total 4
-rwx------ 1 root root    0 Aug 27 11:32 1.txt
d--x--x--x 2 root root 4096 Sep  1 10:17 dir
---x--x--x 1 root root    0 Sep  1 10:18 test.sh
[root@iZuf60ynur81p6k0ysvtneZ mv]# chmod +w test.sh
[root@iZuf60ynur81p6k0ysvtneZ mv]# ll
total 4
-rwx------ 1 root root    0 Aug 27 11:32 1.txt
d--x--x--x 2 root root 4096 Sep  1 10:17 dir
--wx--x--x 1 root root    0 Sep  1 10:18 test.sh

 

(2):给同组用户添加写权限

[root@iZuf60ynur81p6k0ysvtneZ mv]# chmod g+w test.sh
[root@iZuf60ynur81p6k0ysvtneZ mv]# ll
total 4
-rwx------ 1 root root    0 Aug 27 11:32 1.txt
d--x--x--x 2 root root 4096 Sep  1 10:17 dir
--wx-wx--x 1 root root    0 Sep  1 10:18 test.sh

 

(3):给其他用户添加写权限

[root@iZuf60ynur81p6k0ysvtneZ mv]# chmod o+w test.sh
[root@iZuf60ynur81p6k0ysvtneZ mv]# ll
total 4
-rwx------ 1 root root    0 Aug 27 11:32 1.txt
d--x--x--x 2 root root 4096 Sep  1 10:17 dir
--wx-wx-wx 1 root root    0 Sep  1 10:18 test.sh

 

(4):给所有用户增加读权限

[root@iZuf60ynur81p6k0ysvtneZ mv]# chmod a+r test.sh
[root@iZuf60ynur81p6k0ysvtneZ mv]# ll -a
total 12
drwxr-xr-x  3 root root 4096 Sep  1 10:18 .
drwxr-xr-x. 9 root root 4096 Aug 28 11:55 ..
-rwx------  1 root root    0 Aug 27 11:32 1.txt
d--x--x--x  2 root root 4096 Sep  1 10:17 dir
-rwxrwxrwx  1 root root    0 Sep  1 10:18 test.sh

 

3 :修改命令,第二种写法

上边的命令其实还是很好用的,但是,我一般不怎么用。这一般都是用下边这种。

八进制数字表示权限

r        w        x

二进制代表      100     010      001

十进制代表      4         2         1

 

4+2+1 = 7

因此拥有所有权限就是7,拥有可读可执行权限就是5.

因此当前文件,所有用户都拥有所有权限的命令就是:

[root@iZuf60ynur81p6k0ysvtneZ mv]# chmod 777 test.sh
[root@iZuf60ynur81p6k0ysvtneZ mv]# ll
total 4
-rwx------ 1 root root    0 Aug 27 11:32 1.txt
d--x--x--x 2 root root 4096 Sep  1 10:17 dir
-rwxrwxrwx 1 root root    0 Sep  1 10:18 test.sh

 

修改文件权限的时候,需要注意,如果是想递归修改,需要加参数-R(大写)

[root@iZuf60ynur81p6k0ysvtneZ mv]# chmod -R 777 dir/
[root@iZuf60ynur81p6k0ysvtneZ mv]# ll
total 4
-rwx------ 1 root root    0 Aug 27 11:32 1.txt
drwxrwxrwx 2 root root 4096 Sep  1 10:17 dir
-rwxrwxrwx 1 root root    0 Sep  1 10:18 test.sh

 

以上内容基本上就是chmod的所有内容,有好的建议,请在下方输入你的评论。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论