Linux——万字总结用户与组的权限那些事儿!建议收藏!

Posted chaochao️

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux——万字总结用户与组的权限那些事儿!建议收藏!相关的知识,希望对你有一定的参考价值。

创作不易,客官点关注,收藏,订阅一键三连吧❤😜 

关于用户与组第一期总结:

Linux——万字总结用户与组相关知识!建议收藏!

目录

权限有哪些?

关于权限的那些命令

chmod

chown 

chattr:文件或目录的隐藏属性

 mask

umasx

suid与sgid权限位

sticky:粘滞位权限

拓展:ACL

练习

练习1

练习2

练习3


权限有哪些?

访问权限

可读(read):允许查看文件内容、显示目录列表

可写(write):允许修改文件内容,允许在目录中新建、移动、删除文件或子目录

可执行(execute):允许运行程序、切换目录

归属(所有权)

文件拥有者(owner):拥有该文件或目录的用户帐号

属组(group):拥有该文件或目录的组帐号

其它人(others):除了属主和属组的其他人

d 文件类型是目录 directory;- 文件类型是普通的文件

三个字母一组:

rwx --- ---

u     g   o

u --> 自己(user)

g -->组  group  

o -->others 其他人

a --> 所有人 all


关于权限的那些命令

chmod

文字模式

[root@sc xiyouji]# ll

总用量 8

-r-xrwxrwx 1 root     root     0 8月   6 11:45 cali.txt

drwxr-x--- 4 tangseng xiyouji 40 8月   6 11:37 changsha

drwxr-xr-x 2 root     root     6 8月   6 11:44 feng

-rwxr-xr-x 1 root     root    43 8月   6 11:41 hello.sh

-rwxr----- 1 tangseng xiyouji 10 8月   6 11:19 zjjs.txt

[root@sc xiyouji]# chmod u=rwx,g=rx,o=r cali.txt

[root@sc xiyouji]# ll

总用量 8

-rwxr-xr-- 1 root     root     0 8月   6 11:45 cali.txt

drwxr-x--- 4 tangseng xiyouji 40 8月   6 11:37 changsha

drwxr-xr-x 2 root     root     6 8月   6 11:44 feng

-rwxr-xr-x 1 root     root    43 8月   6 11:41 hello.sh

-rwxr----- 1 tangseng xiyouji 10 8月   6 11:19 zjjs.txt

[root@sc xiyouji]#

[root@sc xiyouji]# chmod u=rwx,g-x,o+x cali.txt

[root@sc xiyouji]# ll cali.txt

-rwxr--r-x 1 root root 0 8月   6 11:45 cali.txt

数字模式

[root@sc changsha]# ll

总用量 0

drwxrwxrwx 2 root root 6 8月   6 11:37 fanwenhao

-r--r--r-- 1 root root 0 8月   6 11:53 feng.txt

drwxrwxrwx 2 root root 6 8月   6 11:37 sanchuang

[root@sc changsha]# chmod 644 feng.txt

[root@sc changsha]# ll

总用量 0

drwxrwxrwx 2 root root 6 8月   6 11:37 fanwenhao

-rw-r--r-- 1 root root 0 8月   6 11:53 feng.txt

drwxrwxrwx 2 root root 6 8月   6 11:37 sanchuang

chown  - change file owner and group

[root@sc xiyouji]# chown  wukong:xiyouji honghuabaodian.txt

[root@sc xiyouji]# ll honghuabaodian.txt

-rw-r--r-- 1 wukong xiyouji 0 8月   6 14:49 honghuabaodian.txt

[root@sc xiyouji]# chown :xiyouji honghuabaodian.txt

[root@sc xiyouji]# chown fanwenhao honghuabaodian.txt

chattr:文件或目录的隐藏属性

append  only  (a)

immutable (i)

+ i --> 不能更改文件夹,-i取消

+a -->只能追加不能删除

[root@sc xiyouji]# chattr +i baodian/

[root@sc xiyouji]# lsattr -d  baodian/

----i-------------- baodian/

[root@sc xiyouji]# cd baodian/

[root@sc baodian]# pwd

/lianxi/xiyouji/baodian

[root@sc baodian]# mkdir feng

mkdir: 无法创建目录 “feng”: 不允许的操作

[root@sc xiyouji]# chattr -i baodian/

[root@sc xiyouji]# lsattr

------------------- ./baodian

[root@sc xiyouji]# ll /etc/passwd

-rw-r--r-- 1 root root 5110 8月   6 15:43 /etc/passwd

[root@sc xiyouji]# chattr +i /etc/passwd

[root@sc xiyouji]# useradd  xiaoyanfei1

useradd:无法打开 /etc/passwd

 mask

case

umasx

通过umask值来控制默认情况下新建的文件或者文件夹的权限

默认情况下,我们新建的文件和文件夹的权限是多少呢?

在内核级别,文件的初始权限是666,文件夹的初始权限是777

用umask命令控制默认权限,临时修改,文件夹umask默认为0022(看后三位)

wukong: 755  文件夹   644文件

fanwenhao: 775 文件夹  664文件

[root@sc xiyouji]# umask

0022

[root@sc xiyouji]# umask -S

u=rwx,g=rx,o=rx

[root@sc xiyouji]#umask 077

 

[fanwenhao@sc ~]$ umask 077

[fanwenhao@sc ~]$ mkdir feng

[fanwenhao@sc ~]$ ll

总用量 0

drwxr-xr-x 2 fanwenhao fanwenhao 6 8月   6 15:05 fanfan

-rw-rw-r-- 1 fanwenhao fanwenhao 0 8月   6 15:00 fan.txt

drwx------ 2 fanwenhao fanwenhao 6 8月   6 15:07 feng

-rw-r--r-- 1 fanwenhao fanwenhao 0 8月   6 15:06 haohao.txt

drwxrwxr-x 2 fanwenhao fanwenhao 6 8月   6 15:00 xiaofan

[fanwenhao@sc ~]$

/etc/profile--->初始化用户的环境变量--》用户登录系统的时候,会执行这个脚本设置我们的环境变量

if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

    umask 002

else

    umask 022

fi


suid与sgid权限位

普通用户在执行某个命令的时候会拥有命令的拥有者权限 -->普通用户在使用用这个命令的时候就拥有了root的权限

默认情况下命令都是root的

set user id --> suid

[root@kafka01 xiyouji]# ll /usr/bin/mkdir

-rwxr-xr-x. 1 root root 79864 Oct 31  2018 /usr/bin/mkdir

[root@kafka01 xiyouji]# ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

建议:不要给所有的命令都设置suid权限位,会导致不安全

[root@sc /]# ll /usr/bin/mkdir

-rwxr-xr-x. 1 root root 106256 5月  12 2019 /usr/bin/mkdir

[root@sc /]# chmod u+s /usr/bin/mkdir

[root@sc /]# ll /usr/bin/mkdir

-rwsr-xr-x. 1 root root 106256 5月  12 2019 /usr/bin/mkdir

[root@sc /]# chmod 0755 /usr/bin/mkdir

[root@sc /]# ll /usr/bin/mkdir

-rwxr-xr-x. 1 root root 106256 5月  12 2019 /usr/bin/mkdir

[root@sc /]# chmod 4755 /usr/bin/mkdir

[root@sc /]# ll /usr/bin/mkdir

-rwsr-xr-x. 1 root root 106256 5月  12 2019 /usr/bin/mkdir

[root@sc /]# chmod u-s /usr/bin/mkdir

[root@sc /]# ll /usr/bin/mkdir

-rwxr-xr-x. 1 root root 106256 5月  12 2019 /usr/bin/mkdir

sticky:粘滞位权限

/tmp目录: 任何人启动的任何程序都可以在这个文件夹里存放数据 temporary 临时的

[root@sc /]# ll -d /tmp

drwxrwxrwt. 14 root root 271 8月   6 16:14 /tmp

/tmp 设置了sticky权限的

[root@sc /]# chmod +t /houcheshi/

[root@sc /]# ll -d /houcheshi/

drwxrwxrwt 2 root root 6 8月   6 16:36 /houcheshi/

 

[root@sc /]# su fanwenhao

[fanwenhao@sc /]$ cd /houcheshi/

[fanwenhao@sc houcheshi]$ ll

总用量 0

[fanwenhao@sc houcheshi]$ mkdir baodian

[fanwenhao@sc houcheshi]$ ll

总用量 0

drwxrwxr-x 2 fanwenhao fanwenhao 6 8月   6 16:39 baodian

[fanwenhao@sc houcheshi]$ exit

exit

[root@sc /]# su liulf

[liulf@sc /]$ cd /houcheshi/

[liulf@sc houcheshi]$

[liulf@sc houcheshi]$ ll

总用量 0

drwxrwxr-x 2 fanwenhao fanwenhao 6 8月   6 16:39 baodian

[liulf@sc houcheshi]$ rm -rf baodian/

rm: 无法删除'baodian/': 不允许的操作

[liulf@sc houcheshi]$ touch kangshifu.txt

[liulf@sc houcheshi]$ ll

总用量 0

drwxrwxr-x 2 fanwenhao fanwenhao 6 8月   6 16:39 baodian

-rw-rw-r-- 1 liulf     liulf     0 8月   6 16:40 kangshifu.txt

[liulf@sc houcheshi]$ rm -rf kangshifu.txt

[liulf@sc houcheshi]$ touch kangshifu.txt

[liulf@sc houcheshi]$ exit

exit

[root@sc /]# su fanwenhao

[fanwenhao@sc /]$ cd /houcheshi/

[fanwenhao@sc houcheshi]$

[fanwenhao@sc houcheshi]$ ll

总用量 0

drwxrwxr-x 2 fanwenhao fanwenhao 6 8月   6 16:39 baodian

-rw-rw-r-- 1 liulf     liulf     0 8月   6 16:40 kangshifu.txt

[fanwenhao@sc houcheshi]$ rm -rf kangshifu.txt

rm: 无法删除'kangshifu.txt': 不允许的操作

[fanwenhao@sc houcheshi]$ rm -rf baodian/

拓展:ACL

命令:setfacl 选项 规则 文件

-m --> modify 新增或修改

-x --> remove

-b --> remove all

[root@kafka01 sc]# groupadd wudang

[root@kafka01 sc]# useradd -g wudang zhangwuji

[root@kafka01 sc]# useradd -g wudang songqingshu

[root@kafka01 sc]# setfacl -m g:wudang:rwx,u:zhangwuji:--- /sc

[root@kafka01 sc]# getfacl /sc

getfacl: Removing leading '/' from absolute path names

# file: sc

# owner: root

# group: root

user::rwx

user:zhangwuji:---

group::r-x

group:wudang:rwx

mask::rwx

other::r-x

[root@kafka01 sc]# su zhangwuji

[zhangwuji@kafka01 sc]$ cd /sc

bash: cd: /sc: Permission denied

[zhangwuji@kafka01 sc]$ exit

exit

[root@kafka01 sc]# su songqingshu

[songqingshu@kafka01 sc]$ cd /sc

newgroup

切换有效组

练习

练习1

[root@liuzhiwen 8-06]# chmod 775 .

[root@liuzhiwen 8-06]# chmod 757 ..

[root@liuzhiwen 8-06]# ls -al

total 8

drwxrwxr-x  2 root root 4096 Aug  6 15:14 .

drwxrw-rwx 16 root root 4096 Aug  6 15:14 ..

[root@liuzhiwen 8-06]# mkdir \\*_\\*

[root@liuzhiwen 8-06]# chmod 700 \\*_\\*

[root@liuzhiwen 8-06]# ll

total 4

drwx------ 2 root root 4096 Aug  6 15:17 *_*

[root@liuzhiwen 8-06]# mkdir \\<haha\\>

[root@liuzhiwen 8-06]# chmod 555 \\<haha\\>

[root@liuzhiwen 8-06]# chmod 225 .hello

[root@liuzhiwen 8-06]# touch haha\\ xixi

[root@liuzhiwen 8-06]# ls

*_*  <haha>  haha xixi

[root@liuzhiwen 8-06]# chmod 530 haha\\ xixi 

[root@liuzhiwen 8-06]# useradd haha

[root@liuzhiwen 8-06]# useradd xixi

[root@liuzhiwen 8-06]# groupadd hello

[root@liuzhiwen 8-06]# groupadd haha

[root@liuzhiwen 8-06]# groupadd xixi

[root@liuzhiwen 8-06]# chown haha .

[root@liuzhiwen 8-06]# chown :hello \\*_\\*/

[root@liuzhiwen 8-06]# chown xixi:xixi \\<haha\\>/

[root@liuzhiwen 8-06]# chown xixi:haha haha\\ xixi 

[root@liuzhiwen 8-06]# chown :hello .hello 

[root@liuzhiwen 8-06]# ls -al

total 16

drwxrwxr-x  4 haha root  4096 Aug  6 15:21 .

drwxrw-rwx 16 root root  4096 Aug  6 15:14 ..

drwx------  2 root hello 4096 Aug  6 15:17 *_*

dr-xr-xr-x  2 xixi xixi  4096 Aug  6 15:18 <haha>

-r-x-wx---  1 xixi haha     0 Aug  6 15:21 haha xixi

--w--w-r-x  1 root hello    0 Aug  6 15:18 .hello

[root@liuzhiwen 8-06]# chmod 757 ..

[root@liuzhiwen 8-06]# ls -al

total 16

drwxrwxr-x  4 haha root  4096 Aug  6 15:21 .

drwxr-xrwx 16 root root  4096 Aug  6 15:14 ..

drwx------  2 root hello 4096 Aug  6 15:17 *_*

dr-xr-xr-x  2 xixi xixi  4096 Aug  6 15:18 <haha>

-r-x-wx---  1 xixi haha     0 Aug  6 15:21 haha xixi

--w--w-r-x  1 root hello    0 Aug  6 15:18 .hello

练习2

1.新建3个组,shuiguo,mifen ,shaokao

2.新建3个用户,pingguo属于shuiguo组,jingshi属于mifen组,yueyang属于shaokao组

3.在根目录下新建目录food,再将/etc/passwd文件复制到food目录下

4.设置权限,passwd文件能被shuiguo组读写,jingshi这个用户能读写执行,yueyang这个用户不能进行任何操作

5.然后去验证

[root@kafka01 sc]# groupadd shuiguo

[root@kafka01 sc]# groupadd mifen

[root@kafka01 sc]# groupadd shaokao

[root@kafka01 sc]# useradd -g shuiguo pingguo

[root@kafka01 sc]# useradd -g mifen jingshi

[root@kafka01 sc]# useradd -g shaokao yueyang

[root@kafka01 sc]# mkdir /food

[root@kafka01 sc]# cp /etc/passwd /food

[root@kafka01 sc]# cd /food

[root@kafka01 food]# ls

passwd

[root@kafka01 food]# setfacl -m g:shuiguo:rw- passwd

[root@kafka01 food]# setfacl -m u:jingshi:rwx passwd

[root@kafka01 food]# setfacl -m u:yueyang:--- passwd

[root@kafka01 food]# getfacl passwd

# file: passwd

# owner: root

# group: root

user::rw-

user:jingshi:rwx

user:yueyang:---

group::r--

group:shuiguo:rw-

mask::rwx

other::r--

练习3

yum  install net-tools -y

授予bailongma用户:useradd、userdel、passwd

授予baigujing用户:ip、ping、ifconfig、route

授权yutujing用户:poweroff、reboot

vim /etc/sudoers

定义命令别名

Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/ip

Cmnd_Alias SHUTDOWNMA = /sbin/shutdown, /sbin/poweroff, /sbin/reboot

Cmnd_Alias USERMANAGER = /usr/sbin/useradd, /usr/sbin/userdel, /usr/bin/passwd

授权命令给指定的用户

baigujing ALL=NETWORKING

yutujing ALL=SHUTDOWNMA

bailongma ALL=USERMANAGER

创作不易,客官点一个赞吧!评论一下!❤😜 

以上是关于Linux——万字总结用户与组的权限那些事儿!建议收藏!的主要内容,如果未能解决你的问题,请参考以下文章

Linux——超超讲解SSH的原理与SSH的实现!建议收藏❤

Linux 用户与组的基本操作及文件权限位的设置方法

[apue] linux 文件访问权限那些事儿

Linux CentOS 8(用户与组相关权限管理实验)

Linux CentOS 8(用户与组相关权限管理实验)

Linux CentOS 8(用户与组相关权限管理实验)