目录
chmod
解释
命令名称:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
功能描述:改变文件或目录权限
语法
chmod [{ugoa}{+-=}{rwx}] [文件或目录]
chmod [mode=421] [文件或目录]
-R 递归修改
# 第一种修改方式 chmod [{ugoa}{+-=}{rwx}] [文件或目录]
ugoa:
u:所有者
g:所属组
o:其他人
a:所有人
+-=:
+:针对文件或目录增加某个权限
-:针对文件或目录减少某个权限
=:赋予文件或目录全新的权限,以此刻的权限为准
# 第二种修改方式 chmod [mode=421] [文件或目录]
rwx:
r:4
w:2
x:1
rwxrw-r--
权限:764(4+2+1=7/4+2=6/4)
示例
chmod g+x test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
-rw-r--r-- 1 root root 11 Nov 28 15:39 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
-rw-r-xr-- 1 root root 11 Nov 28 15:39 test.txt
chmod 777 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
-rw-r-xr-- 1 root root 11 Nov 28 15:39 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
-rwxrwxrwx 1 root root 11 Nov 28 15:39 test.txt
权限特别注意
root用户进入的时候显示#,普通用户显示$
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
total 0
-rw-r--r-- 1 root root 0 Nov 28 17:54 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
drwxr-xr-x 2 root root 4096 Nov 28 17:54 test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
drwxrwxrwx 2 root root 4096 Nov 28 17:54 test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
-rw-r--r-- 1 root root 0 Nov 28 17:54 test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
[root@izm5e2q95pbpe1hh0kkwoiz tmp]
[eternity@izm5e2q95pbpe1hh0kkwoiz ~]$ pwd
/home/eternity
[eternity@izm5e2q95pbpe1hh0kkwoiz ~]$ cd /tmp
[eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -ld test
drwxrwxrwx 2 root root 4096 Nov 28 17:54 test
[eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -l test/test.txt
-rw-r--r-- 1 root root 0 Nov 28 17:54 test/test.txt
[eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ rm test/test.txt
rm: remove write-protected regular empty file ‘test/test.txt’? y
[eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -l test/test.txt
ls: cannot access test/test.txt: No such file or directory
只有管理员拥有rw读写权限,所属组和其他人只有读权限,但是此时普通用户却删除了只有r读权限的文件,为什么????
文件目录权限总结
代表字符 |
权限 |
对文件的含义 |
对目录的含义 |
r |
读权限 |
可以查看文件内容 |
可以列出目录中的内容 |
w |
写权限 |
可以修改文件内容 |
可以在目录中创建和删除文件 |
x |
执行权限 |
可以执行文件 |
可以进入目录 |
分析
对于文件有写权限,仅仅代表可以修改文件的内容,而没有删除文件的权限
对于目录有写权限,可以在目录中创建和删除文件
因为上面的/tmp/test目录的权限为777
所以普通用户对于/tmp/test目录也具有创建文件和删除文件的权限
所以,普通用户也能删除/tmp/test/test.txt文件
但是普通用户无法编辑/tmp/test/test.txt文件,使用vim编辑文件的时候,会提示Waring: Changing a readonly file
chown
解释
命令名称:chown
命令英文原意:change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
功能描述:改变文件或目录的所有者
语法
chown [用户] [文件或目录]
在linux中只有root能改变文件所有者,即便是创建者都不可以
示例
chown root /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]
/root
[root@izm5e2q95pbpe1hh0kkwoiz ~]
-rw-r--r-- 1 eternity eternity 7 Nov 28 18:15 /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]
[root@izm5e2q95pbpe1hh0kkwoiz ~]
-rw-r--r-- 1 root eternity 7 Nov 28 18:15 /tmp/test/test.txt
chgrp
解释
命令名称:chgrp
命令英文原意:change file group ownership
命令所在路径:/bin/chgrp
执行权限:所有用户
功能描述:改变文件或目录的所属组
语法
chgrp [用户组] [文件或目录]
示例
chgrp eternityz /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]
/root
[root@izm5e2q95pbpe1hh0kkwoiz ~]
-rw-r--r-- 1 root eternity 7 Nov 28 18:15 /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]
[root@izm5e2q95pbpe1hh0kkwoiz ~]
[root@izm5e2q95pbpe1hh0kkwoiz ~]
-rw-r--r-- 1 root eternityz 7 Nov 28 18:15 /tmp/test/test.txt
umask
解释
命令名称:umask
命令英文原意the user file-creation mask
命令所在路径:shell内置命令
执行权限:所有用户
功能描述:显示/设置文件的缺省权限
语法
umask [-S]
-S 以rwx形式显示新建文件缺省权限(大写的S)
示例
umask -S
umask
[root@izm5e2q95pbpe1hh0kkwoiz ~]
0022
0022中
0 特殊权限
022 ----w--w-
777 rwx rwx rwx
022 --- -w- -w-
================
目录 rwx r-x r-x
文件 rwx r-- r--
umask 077
777 rwx rwx rwx
077 --- rwx rwx
================
目录 rwx --- ---
文件 rw- --- ---
[root@izm5e2q95pbpe1hh0kkwoiz ~]
[root@izm5e2q95pbpe1hh0kkwoiz ~]
[root@izm5e2q95pbpe1hh0kkwoiz ~]
drwx------ 2 root root 4096 Nov 29 10:55 /tmp/lyf
[root@izm5e2q95pbpe1hh0kkwoiz ~]
[root@izm5e2q95pbpe1hh0kkwoiz ~]
-rw------- 1 root root 0 Nov 29 10:56 /tmp/lyf/lyf
在linux中只有root能改变文件所有者,即便是创建者都不可以
文件的创建者为默认的所有者,此时默认的所属组也是文件创建者
linux中文件夹的缺省权限时rwxr-xr-x,文件的缺省权限是rw-r--r--,新建文件不具备可执行权限
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端