DAY 07

DAY 07

权限

1.linux中权限在文件中标识

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EyZE0UK0-1670305105988)(D:\迅雷下载\屏幕截图 2022-12-03 141433.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kEnCvcwa-1670305105989)(D:\迅雷下载\屏幕截图 2022-12-03 140929.png)]

2.权限的描述形式

(1)字符形式 r read w write x excute

(2)数值形式 r=4 w=2 x=1

-rw-------. 1 root root 1456 Nov 19 12:19 anaconda-ks.cfg     600
drwxr-xr-x. 2 root root    6 Nov 19 14:12 Desktop              755

3.权限字符的含义

文本文件: r 查看文件的内容 cat tac more less head tail grep vim

​ w 编辑文件内容 vim echo 123 >a.txt cat << EOF > FILE

​ x 执行文件中内容(脚本)命令文件

目录文件: r 查看目录中的文件名 ls

​ w 创建文件 touch mkdir cp mv > rm

​ x 执行cd (r-x) (rwx)

4.权限的匹配规则

可执行文件(命令文件)进程的所属用户身份是用户发起者身份;

判断发起者身份是否是目标文件所属用户,是,只匹配目标文件所属用户位的权限

不是,判断发起者身份是否是目标文件所属组用户,是组用户,只匹配目标文件所属组的权限

不是,直接匹配目标文件其他用户位的权限。

5.修改权限

chmod 权限 FILE…

注:作为普通用户只能更改属于自己的文件的权限。
u所属用户位   g所属组    o其他用户   a 所有
chmod  ugo=rwx  file1       == chmod a=rwx  file1   == chmod rwx  file
chmod  u=rw,g+r,o-r  file1   == chmod -x file
------------------------------------------------------------------------
chmod 644  file2      rw-r--r--
chmod  006 file3

【chmod u=6 file4 ----错误的】

chown  更改文件的所属用户
	chown  用户名  FILE
	chown  用户名:组名  FILE
	chown  .组名  FILE
chgrp  更改文件的所属组
	chgrp  组名   FILE
eg:
[root@www ~]# ll aaa
-------rw-. 1 root root 5 Dec  4 14:30 aaa
[root@www ~]# chown xixi:haha  aaa
[root@www ~]# ll aaa
-------rw-. 1 xixi haha 5 Dec  4 14:30 aaa
[root@www ~]# chown redhat aaa
[root@www ~]# ll aaa
-------rw-. 1 redhat haha 5 Dec  4 14:30 aaa
[root@www ~]# chgrp  xixi aaa
[root@www ~]# ll aaa
-------rw-. 1 redhat xixi 5 Dec  4 14:30 aaa

6.创建文件默认的权限值

文本文件最高的权限值:666

权限掩码(权限过滤值:022 #umask

文本文件默认的权限值:644


目录文件最高的权限值:777

权限掩码(权限过滤值:022 #umask

目录文件默认的权限值:755

rw-	rw-	rw-	  6  6  6
--- -wx -wx   0  3  3   
rw- r-- r--   6  3  3-----x   644

练习题3

拷贝文件/etc/fstab 到/var/tmp/fstab

配置文件/var/tmp/fstab 的权限
• 文件/var/tmp/fstab 的拥有者是 zhangsan

• 文件/var/tmp/fstab 属于 zhangsan 组
• 文件/var/tmp/fstab 对任何用户不可执行
• 其他用户(当前和将来的)能对文件/var/tmp/fstab 进行读操作

#cp /etc/fstab /var/tmp/fstab
#chown zhangsan /var/tmp/fstab
#chgrp  zhangsan  /var/tmp/fstab 
#chmod a-x /var/tmp/fstab 
#chmod o+r /var/tmp/fstab

7.特殊权限

u+s =4 suid 所属用户的禁锢位

仅对可执行文件(命令文件)设置有意义:
可执行文件(命令文件)设置u+s权限,可执行文件的进程所属用户是可执行文件自身的用户;
eg:
[root@www ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 33544 Dec 14  2019 /usr/bin/passwd
[root@www ~]# ll /etc/shadow 
----------. 1 root root 1568 Dec  4 11:58 /etc/shadow    (对所有用户没有任何权限)
[redhat@www ~]$ passwd       (为什么普通用户可以修改密码/etc/shadow)
Changing password for user redhat.
Current password:                
原因:通过普通用户执行passwd,passwd文件进程身份是root

设置情况:通过任意用户执行命令,通过root身份来执行就可以设置特殊权限u+s

g+s =2 sgid 所属组的禁锢位

(1)对可执行文件设置有意义:(很少用)
可执行文件(命令文件)设置g+s权限,可执行文件的进程所属组是可执行文件自身的所属组;
(2)对目录文件设置有意义:
任意用户在该目录下创建的文件,文件的所属组都是目录的所属组
eg:
[root@www ~]# mkdir /pub
[root@www ~]# chmod 777 /pub
[root@www ~]# ll /usr/bin/touch 
-rwxr-xr-x. 1 root root 96144 Jul 10  2021 /usr/bin/touch
[user@www ~]$ touch /pub/u1
[user@www ~]$ ll /pub/u1 
-rw-rw-r--. 1 user user 0 Dec  4 16:20 /pub/u1
----------------------目录g+s------------------------------------
[root@www ~]# chmod g+s /pub
[root@www ~]# ll /pub -d
drwxrwsrwx. 2 root root 16 Dec  4 16:20 /pub
[user@www ~]$ touch /pub/u2
[user@www ~]$ ll /pub/
total 0
-rw-rw-r--. 1 user user 0 Dec  4 16:20 u1
-rw-rw-r--. 1 user root 0 Dec  4 16:22 u2

o+t =1 sticky 冒险位

仅对目录文件设置有意义:
目录文件设置o+t权限后,普通用户只能删除自己的文件不能删除别人的文件
[root@www ~]# ll -d /test
drwxrwxrwx. 3 root root 102 Dec  4 15:18 /test
[root@www ~]# ll /test
total 0
-rw-r--r--. 1 root   root   0 Dec  4 15:09 r2
-rw-r--r--. 1 root   root   0 Dec  4 15:09 r3
-rw-r--r--. 1 redhat redhat 0 Dec  4 15:10 red1
-rw-r--r--. 1 redhat redhat 0 Dec  4 15:10 red2
-rw-r--r--. 1 redhat redhat 0 Dec  4 15:10 red3
-rw-r--r--. 1 user   user   0 Dec  4 15:10 u1
-rw-r--r--. 1 user   user   0 Dec  4 15:10 u2
-rw-r--r--. 1 user   user   0 Dec  4 15:10 u3
[user@www test]$ rm -f r2    删除任意用户的文件
--------------------目录o+t----------------------------------
[root@www ~]# chmod o+t /test
[root@www ~]# ll -d /test
drwxrwxrwt. 3 root root 92 Dec  4 16:28 /test

[user@www test]$ rm -f r3
rm: cannot remove 'r3': Operation not permitted
[user@www test]$ rm -f u1
[user@www test]$ rm -f red1
rm: cannot remove 'red1': Operation not permitted

8.扩展权限

./+

getfacl 查看文件的权限列表

[root@www ~]# getfacl aaa
# file: aaa
# owner: redhat
# group: xixi
# flags: sst
user::rw-
group::r--
other::r--

setfacl 设置权限列表

-m 指定权限列表

​ setfacl -m u:用户名(UID):权限 file

​ setfacl -m g:组名(GID):权限 file

[root@www ~]# setfacl -m u:xixi:rwx aaa
[root@www ~]# getfacl  aaa
# file: aaa
# owner: redhat
# group: xixi
# flags: sst
user::rw-
user:xixi:rwx
group::r--
mask::rwx
other::r--

-x 删除扩展权限列表

-b 清空扩展权限(扩展权限的表示符)

[root@www ~]# setfacl -x u:xixi:  aaa
[root@www ~]# ll aaa
-rwSr-Sr-T+ 1 redhat xixi 5 Dec  4 14:30 aaa
[root@www ~]# getfacl  aaa
# file: aaa
# owner: redhat
# group: xixi
# flags: sst
user::rw-
group::r--
mask::r--  (扩展权限标识)
other::r--

[root@www ~]# setfacl  -b aaa
[root@www ~]# ll aaa
-rwSr-Sr-T. 1 redhat xixi 5 Dec  4 14:30 aaa

作业题:

1.创建下列用户,组,和组的成员关系(servera)
• 创建组sysmgrs
• 一个名为 natasha 的用户,其属于 sysmgrs,这个组是该用户的从属组
• 一个名为 harry 的用户,属于 sysmgrs,这个组是该用户的从属组
• 一个名为 sarah 的用户,其在系统汇总没有可以交互的 shell
• 用户 natsha,harry,sarah 的秘密吗都要设定为:modteed

[root@localhost ~]# groupadd sysmgrs
[root@localhost ~]# useradd -G sysmgrs natasha
[root@localhost ~]# useradd harry
[root@localhost ~]# usermod -G sysmgrs harry
[root@localhost ~]# useradd -s /sbin/nologin sarah
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
geoclue:x:997:995:User for geoclue:/var/lib/geoclue:/sbin/nologin
gluster:x:996:992:GlusterFS daemons:/run/gluster:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
pipewire:x:995:991:PipeWire System Daemon:/var/run/pipewire:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
clevis:x:994:988:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
unbound:x:993:987:Unbound DNS resolver:/etc/unbound:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
chrony:x:992:986::/var/lib/chrony:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
setroubleshoot:x:991:984::/var/lib/setroubleshoot:/sbin/nologin
saslauth:x:990:76:Saslauthd user:/run/saslauthd:/sbin/nologin
libstoragemgmt:x:989:982:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
dnsmasq:x:980:980:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
sssd:x:979:979:User for sssd:/:/sbin/nologin
cockpit-ws:x:978:978:User for cockpit web service:/nonexisting:/sbin/nologin
cockpit-wsinstance:x:977:977:User for cockpit-ws instances:/nonexisting:/sbin/nologin
flatpak:x:976:976:User for flatpak system helper:/:/sbin/nologin
colord:x:975:975:User for colord:/var/lib/colord:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
gnome-initial-setup:x:974:974::/run/gnome-initial-setup/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
kerwin:x:1000:1000:RHEL8.5:/home/kerwin:/bin/bash
zhangsan:x:1001:1004::/home/zhangsan:/bin/bash
natasha:x:1002:1006::/home/natasha:/bin/bash
harry:x:1003:1007::/home/harry:/bin/bash
sarah:x:1004:1008::/home/sarah:/sbin/nologin
[root@localhost ~]# echo modteed |passwd --stdin natasha
Changing password for user natasha.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo modteed |passwd --stdin harry
Changing password for user harry.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo modteed |passwd --stdin sarah
Changing password for user sarah.
passwd: all authentication tokens updated successfully.

2.拷贝文件/etc/fstab 到/var/tmp/fstab 配置文件/var/tmp/fstab 的权限
• 文件/var/tmp/fstab 的拥有者是 root 文件/var/tmp/fstab 属于 root 组
• 文件/var/tmp/fstab 对任何用户不可执行
• 用户 natasha 能够对文件/var/tmp/fstab具有读写权限

• 用户 harry 对文件/var/tmp/fstab 既不能读也不能写

• 其他用户(当前和将来的)能对文件/var/tmp/fstab 进行读操作

[root@localhost ~]# cp /etc/fstab /var/tmp
cp: overwrite '/var/tmp/fstab'? y
[root@localhost ~]# chown root.root /var/tmp/fstab
[root@localhost ~]# chmod a-x /var/tmp/fstab
[root@localhost ~]# setfacl -m u:natasha:rw /var/tmp/fstab
[root@localhost ~]# setfacl -m u:harry:- /var/tmp/fstab
[root@localhost ~]# chmod o=r /var/tmp/fstab
[root@localhost ~]# ll /var/tmp/fstab
-rw-rw-r--+ 1 root root 615 Dec  5 02:51 /var/tmp/fstab

3.创建一个共享目录/home/managers 特性如下

• /home/managers 目录的所有权是 sysmgrs
• sysmgrs 组成员对目录有读写和执行的权限。除此之外的其他用户没有任何权限(root 用户除外)
• 在/home/managers 目录中创建的文件,其组所有权会自动设置为属于 sysmgrs组

[root@localhost ~]# mkdir -pv /home/managers
[root@localhost ~]# chown sysmgrs:sysmgrs /home/managers
[root@localhost ~]# chmod g=rwx /home/managers
[root@localhost ~]# chmod 770 /home/managers
[root@localhost ~]# chown o=- /home/managers
[root@localhost ~]# chmod g+s /home/managers

户没有任何权限(root 用户除外)
• 在/home/managers 目录中创建的文件,其组所有权会自动设置为属于 sysmgrs组

[root@localhost ~]# mkdir -pv /home/managers
[root@localhost ~]# chown sysmgrs:sysmgrs /home/managers
[root@localhost ~]# chmod g=rwx /home/managers
[root@localhost ~]# chmod 770 /home/managers
[root@localhost ~]# chown o=- /home/managers
[root@localhost ~]# chmod g+s /home/managers
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值