前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >chmod命令

chmod命令

作者头像
cultureSun
发布2023-05-18 14:35:12
8520
发布2023-05-18 14:35:12
举报
文章被收录于专栏:cultureSun学安全

简介

chmod:(全拼:change mode)命令是控制用户对文件的权限的命令。

是Linux系统中关于权限的重要命令之一。还有一个重要命令是----chown

详解

权限讲解

Linux的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。

FileType其实有三种(-、d、l),上图摘自菜鸟教程

-

d

l

文件

文件夹

链接文件

权限类型有三种(r、w、x),也可以用数字代表某种权限。

r(read)

w(write)

x(execute)

-

读权限

写权限

可执行权限

没有权限

4

2

1

0

代码语言:javascript
复制
┌──(root㉿kali)-[~/Desktop/example]
└─# ll   #查看文件详细信息,包括文件权限
total 4
-rw-r--r-- 1 root root 1 Dec  9 01:30 a.txt
#第一个"-"代表是文件,rw-代表所属用户权限,r--代表用户组权限,第二个r--代表其他用户权限

Bash

命令讲解

语法: chmod [OPTION]... MODE[,MODE]... FILE...

OPTION是可选参数,MODE是who(用户类型)+operator(操作符)+permission(权限类型)组合。

OPTION:

-c

若该文件权限确实已经更改,才显示其更改动作

-f

若该文件权限无法被更改也不要显示错误讯息

-v

显示权限变更的详细资料

-R

对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)

--help

显示辅助说明

--version

显示版本

who(用户类型):

u

文件所有者

g

文件所有者所在组

o

所有其他用户

a

所有用户, 相当于 ugo

operator(操作符):

+

为指定的用户类型增加权限

-

去除指定用户类型的权限

=

设置指定用户权限的设置,即将用户类型的所有权限重新设置

实例

代码语言:javascript
复制
┌──(root㉿kali)-[~/Desktop/example/test]
└─# pwd        #输出路径
/root/Desktop/example/test
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# ll         #查看test.txt权限,第一个'-'代表文件,之后'rw-r--r--'代表权限,前三个用户权限,中间三个用户组权限,后三个其他用户权限
total 0
-rw-r--r-- 1 root root 0 Dec 10 08:35 test.txt
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# chmod u-w test.txt       #去掉所属用户的w(写)权限
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# ll
total 0
-r--r--r-- 1 root root 0 Dec 10 08:35 test.txt
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# chmod g+rwx test.txt     #用户组增加读写执行权限
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# ll
total 0
-r--rwxr-- 1 root root 0 Dec 10 08:35 test.txt
                                                                                                                                 
┌──(root㉿kali)-[~/Desktop/example/test]
└─# chmod u+rwx test.txt     #用户增加读写执行权限
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# ll
total 0
-rwxrwxr-- 1 root root 0 Dec 10 08:35 test.txt
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# chmod u=rw test.txt     #重新设置用户权限为读写,没有设置执行权限,所以执行权限为空
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# ll
total 0
-rw-rwxr-- 1 root root 0 Dec 10 08:35 test.txt
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# chmod ug-w,o+w test.txt     #y用户和用户组取消写权限,同时其他用户增加写权限
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# ll
total 0
-r--r-xrw- 1 root root 0 Dec 10 08:35 test.txt
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# chmod ugo+x test.txt     #所有用户增加执行权限
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# ll
total 0
-r-xr-xrwx 1 root root 0 Dec 10 08:35 test.txt
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# chmod a-x test.txt    #同上
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# ll
total 0
-r--r--rw- 1 root root 0 Dec 10 08:35 test.txt
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# cd ..           #切换上级目录  
                                                                             
┌──(root㉿kali)-[~/Desktop/example]
└─# pwd
/root/Desktop/example
                                                                             
┌──(root㉿kali)-[~/Desktop/example]
└─# chmod -R a+rwx test    #设置test目录下的所有文件及目录权限,包括test目录
                                                                             
┌──(root㉿kali)-[~/Desktop/example]
└─# ll
total 4
drwxrwxrwx 2 root root 4096 Dec 10 08:35 test
                                                                             
┌──(root㉿kali)-[~/Desktop/example]
└─# cd test            
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# ll
total 0
-rwxrwxrwx 1 root root 0 Dec 10 08:35 test.txt

Bash

除了使用MODE模式来设置权限,还可以使用数字来设置权限,相当于是用操作符 = 来设置权限。比如设置用户读写权限,没有执行权限。读是4写是2,4+2=6。看一下实例:

代码语言:javascript
复制
┌──(root㉿kali)-[~/Desktop/example/test]
└─# chmod 777 test.txt    #第一个7代表用户权限,第二个代表用户权限、第三个代表其他用权限,7=4+2+1(所有权限)
                                                       
┌──(root㉿kali)-[~/Desktop/example/test]
└─# ll
total 0
-rwxrwxrwx 1 root root 0 Dec 10 08:35 test.txt
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# chmod 770 test.txt   #设置用户和用户组所有权限,其他用户没有任何权限
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# ll
total 0
-rwxrwx--- 1 root root 0 Dec 10 08:35 test.txt
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# chmod 644 test.txt     #设置用户读写权限,用户组和其他用户读权限
                                                                             
┌──(root㉿kali)-[~/Desktop/example/test]
└─# ll
total 0
-rw-r--r-- 1 root root 0 Dec 10 08:35 test.txt

Bash

结束语

日日学习,蒸蒸向上

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 详解
    • 权限讲解
      • 命令讲解
        • 实例
        • 结束语
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档