本文首发于我的公众号码农之屋(id: Spider1818),专注于干货分享,包含但不限于Java编程、网络技术、Linux内核及实操、容器技术等。欢迎大家关注,二维码文末可以扫。
1 chown简介
chown命令用于改变文件或目录的所有者和所属组(只有文件所有者或超级用户才可以使用该命令),可以向某用户授权,使该用户变成文件的所有者或者改变文件所属的组。
1.1 命令格式
chown [option]... user[:group] file...
1.2 chown常用option
option | 说明 |
-c | 显示更改的信息 |
-f | 忽略错误信息 |
-R | 递归处理目录及子目录下的所有文件 |
-v | 显示详细的处理信息 |
--reference=参考文件 | 使用参考文件属性,而非指定值 |
1.3 chown示例
示例文本信息(每次示例后将恢复原来所有者和所属组,即root:root)
root@LTY:/opt# ll test.txt
-rw-r-----1 root root 0 Aug 13 10:07 test.txt
root@LTY:/opt# ll test1.txt
-rw-r-----1 oracle oracle 0 Aug 13 10:07 test1.txt
1)把test.txt的所有者和所属组改为oracle
root@LTY:/opt # chownoracle:oracle test.txt
root@LTY:/opt #ll test.txt
-rw-rw--wx 1 oracleoracle 0 Aug 13 10:07 test.txt
2)把test.txt的所有者改为oracle,所属组保持不变
root@LTY:/opt # chownoracle: test.txt
root@LTY:/opt #ll test.txt
-r-------- 1 oracleroot 0 Aug 13 10:17 test.txt
3)把test.txt的所属组改为oracle,所有者保持不变
root@LTY:/opt #chown :oracle test.txt
root@LTY:/opt #ll test.txt
-r-------- 1 rootoracle 0 Aug 13 10:17 test.txt
4)使用--reference选项,将test1.txt的所有者和所属组改成与test.txt一样
root@LTY:/opt #chown --reference=test.txt test1.txt
root@LTY:/opt #ll test1.txt
-r-------- 1 rootroot 0 Aug 13 10:17 test1.txt
2 chmod简介
chmod命令用于改变Linux系统文件或目录的访问权限,只能是文件属主或特权用户才能使用该功能来改变文件存取模式。
2.1 命令格式
chmod [option]... MODE[,MODE]... FILE... == 使用符号模式,例如chmod a+x file
chmod [option]... OCTAL-MODE FILE... == 使用绝对模式,例如chmod 777 file
2.2 权限范围
权限范围 | 说明 |
u | 文件或目录的拥有者 |
g | 文件或目录的所属群组 |
o | 除文件或目录的拥有者和所属群组之外,其他用户皆属于这个范围 |
a | 所有用户,包括拥有者、所属群组、其他用户 |
r | 读权限,数字代号为“4” |
w | 写权限,数字代号为“2” |
x | 执行或切换权限,数字代号为“1” |
- | 不具有任何权限,数字代号为“0” |
说明:使用ll命令查看文件或目录权限时,例如“-rw-r-----”,第1位为文件类型(-:普通文件,d:目录文件,b:块设备文件,c:字符设备文件,l:符号链,p:管道特殊文件),第2~4位为拥有者权限,第5~7位为所组权限,第8~10位为其他用户权限。
2.3 chmod常用option
option | 说明 |
-c | 只输出被改变文件的信息 |
-f | 当chmod不能改变文件模式时,不通知文件用户 |
-R | 把修改应用到目录下所有文件和子目录 |
-v | 无论是否修改成功,都输出每个文件信息 |
2.4 chmod示例
示例文本信息(每次示例后将恢复原来的权限,即-rw-r-----)
root@LTY:/opt# ll test.txt
-rw-r-----1 root root 0 Aug 13 10:07 test.txt
1)增加test.txt所属组的写权限,增加其他用户的读权限和执行权限
root@LTY:/opt # chmodg+w,o+wx test.txt
root@LTY:/opt #ll test.txt
-rw-rw--wx 1 rootroot 0 Aug 13 10:07 test.txt
2)删除test.txt拥有者的写权限,删除所属组的读权限
root@LTY:/opt # chmodu-w,g-r test.txt
root@LTY:/opt #ll test.txt
-r-------- 1 rootroot 0 Aug 13 10:17 test.txt
3)删除test.txt拥有者的写权限,删除所属组的读权限,使用数字修改
root@LTY:/opt # chmod400 test.txt
root@LTY:/opt # lltest.txt
-r-------- 1 rootroot 0 Aug 13 10:28 test.txt
3 chgrp简介
chgrp命令用于改变文件或目录所属组(只有文件所有者或超级用户才可以使用该命令),可以理解为“change group”的缩写。
3.1 命令格式
chgrp [option]... [group] file...
3.2 chgrp常用option
option | 说明 |
-c | 显示更改的信息 |
-f | 忽略错误信息 |
-R | 递归处理目录及子目录下的所有文件 |
-v | 显示详细的处理信息 |
--reference=参考文件 | 使用参考文件属性,而非指定值 |
3.3 chgrp示例
示例文本信息(每次示例后将恢复原来所有者和所属组,即root:root)
root@LTY:/opt# ll test.txt
-rw-r-----1 root root 0 Aug 13 10:07 test.txt
1)把test.txt的所属组改为oracle
root@LTY:/opt # chgrporacle test.txt
root@LTY:/opt #ll test.txt
-rw-rw--wx 1 rootoracle 0 Aug 13 10:07 test.txt
我的公众号「码农之屋」(id: Spider1818) ,分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。