[华为云在线课程][Linux用户,组和权限管理][第二章文件权限管理][学习笔记]

举报
John2021 发表于 2022/04/19 22:45:58 2022/04/19
【摘要】 文件所有者和属组属性操作 设置文件的所有者chownchown命令可以修改文件的属性,也可以修改文件属组格式chown [OPTION]... [OWNER][[:GROUP]] FILE...chown [OPTION]... --reference=RFILE FILE...用法说明:OWNER #只修改所有者OWNER:GROUP #同时修改所有者和属组:GROUP #只修改属...

文件所有者和属组属性操作

设置文件的所有者chown

chown命令可以修改文件的属性,也可以修改文件属组
格式

chown [OPTION]... [OWNER][[:GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...

用法说明:

OWNER  #只修改所有者
OWNER:GROUP  #同时修改所有者和属组
:GROUP  #只修改属组,冒号也可以用.替换
--reference=RFILE  #参考指定的属性来修改
-R  #递归,此选项慎用,非常危险

例子:

[root@localhost hello]# ll
total 4
drwxr-xr-x. 2 root  root  4096 Apr 16 15:18 code
-rw-rw-r--  1 hello hello    0 Apr 19 06:46 h2.txt
[root@localhost hello]# chown root h2.txt
[root@localhost hello]# ll
total 4
drwxr-xr-x. 2 root root  4096 Apr 16 15:18 code
-rw-rw-r--  1 root hello    0 Apr 19 06:46 h2.txt
[root@localhost hello]# chgrp root h2.txt
[root@localhost hello]# ll
total 4
drwxr-xr-x. 2 root root 4096 Apr 16 15:18 code
-rw-rw-r--  1 root root    0 Apr 19 06:46 h2.txt

[root@localhost hello]# chown :hello h2.txt
[root@localhost hello]# ll
total 4
drwxr-xr-x. 2 root root  4096 Apr 16 15:18 code
-rw-rw-r--  1 root hello    0 Apr 19 06:46 h2.txt
[root@localhost hello]# chown hello:hello h2.txt
[root@localhost hello]# ll
total 4
drwxr-xr-x. 2 root  root  4096 Apr 16 15:18 code
-rw-rw-r--  1 hello hello    0 Apr 19 06:46 h2.txt

[root@localhost hello]# ll
total 4
drwxr-xr-x. 2 root  root  4096 Apr 16 15:18 code
-rw-rw-r--  1 hello hello    0 Apr 19 06:46 h2.txt
[root@localhost hello]# touch h1.txt
[root@localhost hello]# ll
total 4
drwxr-xr-x. 2 root  root  4096 Apr 16 15:18 code
-rw-r--r--  1 root  root     0 Apr 19 07:13 h1.txt
-rw-rw-r--  1 hello hello    0 Apr 19 06:46 h2.txt
[root@localhost hello]# chown --reference=h1.txt h2.txt
[root@localhost hello]# ll
total 4
drwxr-xr-x. 2 root root 4096 Apr 16 15:18 code
-rw-r--r--  1 root root    0 Apr 19 07:13 h1.txt
-rw-rw-r--  1 root root    0 Apr 19 06:46 h2.txt

设置文件的属组信息chgrp

chgrp命令可以只修改文件的属组
格式

chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE RFILE...

-R 递归

例子:

[root@localhost hello]# ll
total 4
drwxr-xr-x. 2 root root 4096 Apr 16 15:18 code
-rw-r--r--  1 root root    0 Apr 19 07:13 h1.txt
-rw-rw-r--  1 root root    0 Apr 19 06:46 h2.txt
[root@localhost hello]# chgrp hello h1.txt
[root@localhost hello]# ll
total 4
drwxr-xr-x. 2 root root  4096 Apr 16 15:18 code
-rw-r--r--  1 root hello    0 Apr 19 07:13 h1.txt
-rw-rw-r--  1 root root     0 Apr 19 06:46 h2.txt

文件权限

文件权限说明

文件的权限主要针对三类对象进行定义

owner  属主,u
group  属组,g
other  其他,o

注意:

用户的最终权限,是从左向右进行顺序匹配,即,所有者,所属组,其他人,一旦匹配权限立即生效,不再向右查看其权限
r和w权限对root用户无效
只要所有者,所属组或other三者之一有x权限,root就可以执行

每个文件针对每类访问者都定义了三种常用权限

r readble
w writable
x excutable

对文件的权限

r  可使用文件查看类工具,比如:cat,可以获取其内容
w  可修改其内容
x  可以把此文件提请内核启动为一个进程,即可以运行(执行)此文件(此文件的内容必须是可执行)

对目录的权限

r  可以使用ls查看此目录中文件列表
w  可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关
x  可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限
X  只给目录x权限,不给无执行权限的文件x权限

面试题:Linux中的目录和文件的权限区别?(分别说明读,写和执行权行的区别)

数字法的权限

八进制数字

--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7

例子:

rw-r----- 640
rwxr-xr-x 755

修改文件权限chmod

格式

chmod [option]... mode[,mode]... file...
chmod [option]... octal-mode file...
#参考RFILE文件的权限,将FILE的修改为同RFILE
chmod [option]... --reference=RFILE FILE...

说明:

MODE:who opt permission
who:u,g,o,a
opt:+,-,=
permission:r,w,x

修改指定一类用户的所有权限
u= g= o= ug= a= u=,g=

修改指定一类用户某个或某个权限
u+ u- g+ g- o+ o- a+ a-

-R 递归修改权限

例子:设置X权限

[root@localhost hello]# ll
total 4
drwxr-xr-x. 2 root root  4096 Apr 16 15:18 code
-rw-r--r--  1 root hello    0 Apr 19 07:13 h1.txt
-rw-rw-r--  1 root root     0 Apr 19 06:46 h2.txt
#文件夹权限
[root@localhost hello]# ll -d
drwx------. 3 hello hello 139 Apr 19 07:13 .


[root@localhost hello]# ll
total 4
drwxr-xr-x. 2 root root  4096 Apr 16 15:18 code
-rw-r--r--  1 root hello    0 Apr 19 07:13 h1.txt
-rw-rw-r--  1 root root     0 Apr 19 06:46 h2.txt
[root@localhost hello]# ll -d
drwx------. 3 hello hello 139 Apr 19 07:13 .
[root@localhost hello]# chmod a+X .
[root@localhost hello]# ll 0d
ls: cannot access 0d: No such file or directory
[root@localhost hello]# ll -d
drwx--x--x. 3 hello hello 139 Apr 19 07:13 .

例子:

chmod u+wx,g-r,o=rx file
chmod -R g+rwx /testdir
chmod 600 file

例子:面试题,执行 cp /etc/issue /data/dir/ 所需要的最小权限?

/bin/cp     需要x权限
/etc/       需要x权限
/etc/issue  需要r权限
/data       需要x权限
/data/dir   需要w,x权限

新建文件和目录的默认权限

umask的值可以用来保留在创建文件权限
实现方式:

新建文件的默认权限:666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
新建目录的默认权限:777-umask

非特权用户umask默认为002
root的umask默认是022
查看umask

umask
#模式方式显示
umask -S
#输出可被调用
umask -p

修改umask

umask #

例子:

umask 002
umask u=rw,g=r,o=

持久保存umask

全局设置:/etc/bashrc
用户设置:~/.bashrc

例子:

[root@localhost ~]# umask
0022
[root@localhost ~]# umask -s
-bash: umask: -s: invalid option
umask: usage: umask [-p] [-S] [mode]
[root@localhost ~]# umask -S
u=rwx,g=rx,o=rx
[root@localhost ~]# umask -p
umask 0022
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。