每天学一个 Linux 命令(17):chmod
发布日期:2021-07-01 03:52:59
浏览次数:2
分类:技术文章
本文共 2382 字,大约阅读时间需要 7 分钟。
点击上方“民工哥技术之路”,选择“设为星标”
回复“1024”获取独家整理的学习资料!
昨日推荐:
命令简介
chmod 命令用来变更文件或目录的权限。
文件或目录权限有读取、写入、执行这3种,另外还有3种特殊权限。用户可以使用chmod去设置文件与目录的权限,设置方式采用文字或数字皆可。链接文件的权限无法直接变更,如果用户需要对链接文件修改权限,其真实作用是作用在原始文件上。
语法格式
chmod [选项] [权限] [文件或目录]chmod [OPTION] [MODE] FILEchmod [OPTION] [MODE] DIRECETORY
选项说明
u #用户user,文件或目录的所有者。g #用户组group,文件或目录所属组o #其它用户othersa #所有用户all,系统默认+ #添加权限- #取消权限= #配置文件的权限为指定的权限r #可读权限w #可写权限x #可执行权限- #没有权限x #设置可执行权限s #设置suid和sgid,可以使用“u+s”,“g+s”的方式来设置t #只有目录或文件的所有者才可以删除目录下的文件-c #效果类似“-v”参数-f #操作过程中不显示任何错误信息;-R #递归处理,将指定目录下的所有文件及子目录一并处理;-v或——verbose #显示命令运行时的详细执行过程;--reference= <参考文件或目录> #把指定文件或目录的所属组权限设成参考文件或目录的所属组一样; <权限范围> + <权限设置> #开启权限范围的文件或目录的该选项权限设置; <权限范围> - <权限设置> #关闭权限范围的文件或目录的该选项权限设置; <权限范围> = <权限设置> #指定权限范围的文件或目录的该选项权限设置;--help #显示帮助信息--version #显示版本信息 权限设置> 权限范围> 权限设置> 权限范围> 权限设置> 权限范围> 参考文件或目录>
权限说明
-rw-r--r-- 1 mingongge mingongge 651 Oct 12 12:53 test.txt# ↑╰┬╯╰┬╯╰┬╯# ┆ ┆ ┆ ╰┈ 0 其他人# ┆ ┆ ╰┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ g 属组# ┆ ╰┈┈┈┈ u 属组# ╰┈┈ 第一个字母是文件类型 #d代表的是目录(directroy)#-代表的是文件(regular file)#s代表的是套字文件(socket)#p代表的管道文件(pipe)或命名管道文件(named pipe)#l代表的是符号链接文件(symbolic link)#b代表的是该文件是面向块的设备文件(block-oriented device file)#c代表的是该文件是面向字符的设备文件(charcter-oriented device file)r=读取属性 =4w=写入属性 =2x=执行属性 =1
特殊权限说明
Linux系统除了正常的读写操作权限外,还有Linux特殊权限。包括SET位权限(suid,sgid)和粘滞位权限(sticky)。
chmod u+s filename #设置suid位chmod u-s filename #去掉suid设置chmod g+s filename #设置sgid位chmod g-s filename #去掉sgid设置chmod +t filename #设置粘滞位权限chmod -t filename #去掉粘滞位权限
如果一个文件被设置了suid或sgid,在其所有者或所属组权限的可执行位上有明显的标记,如果文件设置了suid且也设置了x(执行)权限,则在其执行权限位上会显示一个字母s(小写)。但是,如果没有设置x权限,则显示为字母S(大写)。如下:
-rwsr-xr-x #设置了suid,且文件所有者也配置了可执行权限-rwSr--r-- #设置了suid,但文件所有者没有配置可执行权限-rwxr-sr-x #设置了guid,且所属组也配置了可执行权限-rw-r-Sr-- #设置了guid,但所属组没有配置可执行权限
一个文件或目录如果被设置了粘滞位权限,会在其他人权限的可执行位上有标记。如果文件设置了sticky还设置了x(执行)位,其他人权限的可执行位显示一个字母t(小写)。但是,如果没有设置x位,则显示一个字母T(大写)。如下:
-rwsr-xr-t #表示设置了粘滞位且其他人用户也配置了可执行权限-rwSr--r-T #表示设置了粘滞位但其他人用户没有配置可执行权限
应用实例
$ chmod u+x file #给file的属主增加执行权限$ chmod 751 mingongge #给mingongge的属主分配读、写、执行权限$ chmod u=rwx,g=rx,o=x mingongge #给mingongge属主分配读写执行权限,属组分配读执行权限,其它人分配执行权限$ chmod =r mingongge $ chmod 444 mingongge #为mingongge的所有者、所属组、其他人分配读权限 $ chmod -R u+r mingongge #递归地给mingongge录下所有文件和子目录的属主分配读的权限$ chmod 4755 mingongge #设置用户ID,给属主分配读、写和执行权限,给所属组和其他用户分配读、执行的权限。
推荐阅读 点击标题可跳转
转载地址:https://mingongge.blog.csdn.net/article/details/112645636 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月11日 13时17分06秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
财务分析和决策学习笔记
2019-05-02
财务分析和决策学习笔记
2019-05-02
财务分析和决策学习笔记
2019-05-02
产品定价策略
2019-05-02
财务分析和决策学习笔记
2019-05-02
财务分析与决策:同型分析
2019-05-02
财务分析与决策:同型分析【转】
2019-05-02
PMO建设:学习笔记整理
2019-05-02
财务分析之产品营业利润分析
2019-05-02
产品的波士顿矩阵分析
2019-05-02
B端产品运营:学习笔记
2019-05-02
2B和2C产品比较:学习笔记
2019-05-02
B端产品线划分和常见坑:学习笔记
2019-05-02
产品线管理:学习笔记
2019-05-02
产品战略管理
2019-05-02
Windows Phone开发(一)-- 开发环境和结构
2019-05-02
Flutter学习系列(3)— 编译和运行
2019-05-02
Flutter学习系列(4)— 程序初始化
2019-05-02
KVM 虚拟机命令行安装配置
2019-05-02
KVM/QEMU桥接网络设置及kvm资料
2019-05-02