[华为云在线课程][Linux用户,组和权限管理][第二章文件权限管理][学习笔记]
【摘要】 文件所有者和属组属性操作 设置文件的所有者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)