权限管理

Posted 师莹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了权限管理相关的知识,希望对你有一定的参考价值。


权限概述

## 权限报错
Permission denied

## 权限和用户的关系

权限与属主属组
![1649659052638](C:\\Users\\59418\\AppData\\Roaming\\Typora\\typora-user-images\\1649659052638.png)

r:读权限,read,4
w:写权限,write,2
x:执行权限,exec,1
-:没有权限,0

## 替换命令
tr
[root@shiying <sub>]# ll |tr rwx- 4210
total 4
0420400400. 1 4oot 4oot 30 Ap4 6 03:05 111.t1t
d421401401. 2 4oot 4oot 6 Ap4 9 10:54 zls_sudo

## 使用命令,获取文件的数字权限
[root@shiying </sub>]# ll |tr rwx- 4210|awk print $1
total
0420400400.
d421401401.
#awk以空为分隔符 $1取的是第一列
[root@shiying <sub>]# ll |tr rwx- 4210|awk -F print $1
t
0
d

[root@shiying </sub>]# ll |tr rwx- 4210|sed -n 3P|awk -F print $2
4
[root@shiying <sub>]# ll |tr rwx- 4210|sed -n 3P|awk -F print $3
2
[root@shiying </sub>]# ll |tr rwx- 4210|sed -n 3P|awk -F print $4
1
[root@shiying <sub>]# ll |tr rwx- 4210|sed -n 3P|awk -F print $2+$3+$4
7
[root@shiying </sub>]# ll |tr rwx- 4210|sed -n 3P|awk -F print $2+$3+$4 $5+$6+$7 $8+$9+$10
755
[root@shiying <sub>]# ll |tr rwx- 4210|sed -n 2P|awk -F print $2+$3+$4 $5+$6+$7 $8+$9+$10
644

#用,或“”隔开 数字分开显示
[root@shiying </sub>]# ll |tr rwx- 4210|sed -n 2P|awk -F print $2+$3+$4,$5+$6+$7,$8+$9+$10
6 4 4
[root@shiying <sub>]# ll |tr rwx- 4210|sed -n 2P|awk -F print $2+$3+$4" "$5+$6+$7" "$8+$9+$10
6 4 4
#可以不用sed取行 用awk中NR==2 是取第二列
[root@shiying </sub>]# ll |tr rwx- 4210|awk -F NR==2print $2+$3+$4" "$5+$6+$7" "$8+$9+$10
6 4 4

截取0755数字
[root@shiying <sub>]# stat zls_sudo
File: ‘zls_sudo’
Size: 6 Blocks: 0 IO Block: 4096 directory
Device: 803h/2051d Inode: 51522624 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-04-09 10:54:51.728583375 +0800
#awk取多个分隔符可以用[]
[root@shiying </sub>]# stat zls_sudo|awk -F [(/] print $2


2051d Inode: 51522624 Links: 2
0755
#sed 取第四列
[root@shiying <sub>]# stat zls_sudo|sed -n 4P|awk -F [(/] print $2
0755
#或awk中 NR==取列
[root@shiying </sub>]# stat zls_sudo|awk -F [(/] NR==4print $2
0755

#awk不用[] 可以两次分隔符提取
[root@shiying <sub>]# stat zls_sudo|awk -F ( NR==4print $2|awk -F / print $1
0755

### 正规取出文件数字权限的命令
stat -c %a +文件名 取出文件数字权限
[root@shiying </sub>]# stat -c %a zls_sudo
755

## 权限位
属主权限位:u user
属组权限位:g group
其他用户权限位:o othe

授权命令

chmod:change mode
## 语法
chmod权限文件名
## 选项
-R:递归授权
## 授权方式
# 1.数字方式
[root@shiying <sub>]# chmod 744 zls_sudo
[root@shiying </sub>]# ll
total 4
-rw-r--r--. 1 root root 30 Apr 6 03:05 111.txt
drwxr--r--. 2 root root 6 Apr 9 10:54 zls_sudo

[root@shiying <sub>]# stat -c %a zls_sudo
744

# 2.ugo方式
u:user用户权限
g:group用户组权限
o:other其他用户权限
a:all所有权限位

+:加上后面指定的权限
-:减去后面指定的权限
=:等于后面指定的权限
# +
[root@shiying </sub>]# chmod g+r,o+r 111.txt
[root@shiying <sub>]# ll
total 4
--wxr-xr-x. 1 root root 30 Apr 6 03:05 111.txt
# -
[root@shiying </sub>]# chmod u-r,g-r zls_sudo
[root@shiying <sub>]# stat -c %a zls_sudo
304
# =
[root@shiying </sub>]# chmod u=rwx,g=rwx,o=rwx zls_sudo
[root@shiying <sub>]# stat -c %a zls_sudo
777
# a
[root@shiying </sub>]# chmod a=rwx 111.txt
[root@shiying <sub>]# stat -c %a 111.txt
777

[root@shiying </sub>]# chmod u-r,g-w,o=x 111.txt
[root@shiying <sub>]# stat -c %a 111.txt
351

[root@shiying </sub>]# chmod 351 zls_sudo
[root@shiying <sub>]# stat -c %a zls_sudo
351
[root@shiying </sub>]# ll
total 4
--wxr-x--x. 1 root root 30 Apr 6 03:05 111.txt
d-wxr-x--x. 2 root root 6 Apr 9 10:54 zls_sudo

#所有权限位加上X执行权限
[root@shiying <sub>]# chmod a+x 111.txt
[root@shiying </sub>]# ll
total 4
-rwxr-xr-x. 1 root root 30 Apr 6 03:05 111.txt

#如果所有位都加,a是可以省略的
[root@shiying <sub>]# chmod +x zls_sudo
[root@shiying </sub>]# ll
total 4
-rwxr-xr-x. 1 root root 30 Apr 6 03:05 111.txt
d-wx-wx-wx. 2 root root 6 Apr 9 10:54 zls_sudo

权限对文件的影响

r:文件只能读取
w:任何编辑命令都可以写入内容,但是vim读取不出来,就会覆盖原文件内容
x:对于普通用户来说,还是什么都做不了,必须配合r权限才可以执行rw:可读,可写,正常的使用vim编辑,但是不能执行
rx:可读,可执行,但是不能编辑
wx:可写,不可读,不可执行
rwx:可读,可写,可执行

权限对目录的影响

## 目录在只有单权限的情况下,什么都做不了
r:能看见目录下的文件,但是看不见文件的详细属性
w:什么都做不了
x:什么都做不了
rx:才能查看目录下的文件
wx:读取不了目录里的文件,但是创建文件,创建目录,删除文件,删除目录,不能用*代替
rwx:可以做任何操作,可以创建,删除,移动,复制文件或目录

修改文件属主和属组

chown:change owner
## 语法
chown [选项]... 属主.属组文件名
chown [选项]... 属主:属组文件名
# :
[root@shiying <sub>]# chown aaa:xxx1 111.txt
[root@shiying </sub>]# ll
total 4
-rwxr-xr-x. 1 aaa xxx1 30 Apr 6 03:05 111.txt
# .
[root@shiying <sub>]# chown aaa.xxx1 zls_sudo
[root@shiying </sub>]# ll
total 4
-rwxr-xr-x. 1 aaa xxx1 30 Apr 6 03:05 111.txt
d-wx-wx-wx. 2 aaa xxx1 6 Apr 9 10:54 zls_sudo

## 只修改属主

将aaa改成root用户
[root@shiying <sub>]# chown root 111.txt
[root@shiying </sub>]# ll
total 4
-rwxr-xr-x. 1 root xxx1 30 Apr 6 03:05 111.txt
d-wx-wx-wx. 2 aaa xxx1 6 Apr 9 10:54 zls_sudo


## 只改属组

将xxx1数组改成aaa组
[root@shiying <sub>]# chown :aaa 111.txt
[root@shiying </sub>]# ll
total 4
-rwxr-xr-x. 1 root aaa 30 Apr 6 03:05 111.txt
d-wx-wx-wx. 2 aaa xxx1 6 Apr 9 10:54 zls_sudo

## 选项-R:递归修改属组和属主

[root@shiying <sub>]# ll /opt
total 9872
-rw-r--r--. 2 root root 136 Mar 26 00:04 info1.txt
-rw-r--r--. 2 root root 136 Mar 26 00:04 info.txt
-rw-r--r--. 1 root root 15395 Mar 25 03:16 yinyue.mp3
-rw-r--r--. 1 root root 10082639 Jul 28 2019 yiyue.mp3

[root@shiying </sub>]# chown -R aaa:xxx1 /opt/

[root@shiying ~]# ll /opt
total 9872
-rw-r--r--. 2 aaa xxx1 136 Mar 26 00:04 info1.txt
-rw-r--r--. 2 aaa xxx1 136 Mar 26 00:04 info.txt
-rw-r--r--. 1 aaa xxx1 15395 Mar 25 03:16 yinyue.mp3
-rw-r--r--. 1 aaa xxx1 10082639 Jul 28 2019 yiyue.mp3

知识点总结

用户的权限管理

第四篇:权限管理

Linux基础之特殊权限

文件权限及管理

Linux基础之权限管理

Linux用户组和权限管理