第五天-9月23-文件权限

文件权限

1、基本权限

角色:

	属主(所有者)  		属组			其他人
	U					 G				O

基本权限概述:读(read)、写(write)、执行(x)

	r	  w	      x
	4	  2		  1

修改所有者和属组:

image-20240923110228935

两种方式:
chown  username.groupname filename
chown  username:groupname filename

属组不变,所有者变了:
chown username    filename

所有者不变,属组变了:
chown  .groupname  filename
chown  :groupname filename

改目录(递归修改):

chown -R username.groupname dirname		#递归修改
chown			-R  tom.hr  test/

image-20240923105459221

角色权限的添加和修改:

chmod  u+x  a.txt					#   "+"   在原来基础上附加

chmod    g=wx  a.txt				#  "="  赋予权限

chmod    o=x	a.txt

chmod   ugo=r  a.txt

chmod   a=r		a.txt					# a可以代替ugo

chmod  u+r  go=x  a.txt
chmod  ug=rx,o=r  a.txt
chmod  go-x    a.txt

数字赋予权限:

普通文件修改权限:
chmod  777   a.txt
递归修改目录权限:
chmod -R 777  dirname			#test是目录  

切换用户:

su -  xiaozhang
su   xiaozhang
!su			#切换到上次登陆的用户

image-20240923142456649

RWX对文件的影响:

image-20240923143239137

RWX对目录的影响:

image-20240923144838467

目录创建默认权限:读和执行:rx #至少要rx权限,w权限谨慎给。

权限掩码umask (一般不会改)

umask
0022   root用户默认
0022   普通用户默认
修改umask  0044
	777-044=733
#root用户默认最高权限
目录:777		文件:666
root用户创建完成的目录和文件的默认权限:
目录:755
文件:644

2、高级权限

suid普通文件

sgid,sticky 目录

这三个权限不能给到同一个文件

对象:命令文件
给cat授权:
chmod  u+s   /usr/bin/cat  /usr/sbin/rm
效果:普通用户可以

屏幕截图 2024-09-23 155820

sticky

image-20240923160021090

image-20240924091945984

高级权限的类型:

suid == 4 提权 (只对二进制命令文件生效,其他不管用)
sgid == 2 继承属组权限   (只能对目录设置)
sticky == 1 (t权限) 权限控制
设置权限特殊权限:
a、字符---语法
chmod  u+s  file  提权
chmod  g+s dir   只能对目录设置
chmod  o+t  dir		即使有删除权限,也不能删除

b、数字
chmod  4777  file
chmod  2770  dir
chmod  1770  dir
普通用户通过suid提权:
给于普通用户提权,  "cat"、"rm"
chmod   u+s  /user/bin/cat			#提权
chmod   u+s  /user/bin/rm			#提权

image-20240923185548328

取消提权:
chmod  u-s  /user/bin/rm    #取消提权
chmod  u-s  /user/bin/cat    #取消提权

Set GID案例:

[root@linux-server ~]# mkdir /opt/dir1  			#创建目录
[root@linux-server ~]# groupadd hr  					#创建一个组
[root@linux-server ~]# chmod 775 /opt/dir1/ 			 #设置权限
[root@linux-server ~]# ll -d /opt/dir1/
drwxrwxr-x. 2 root root 6 Nov  6 21:26 /opt/dir1/
[root@linux-server ~]# chown .hr /opt/dir1/  			#设置属组
[root@linux-server ~]# chmod g+s /opt/dir1/             #设置sgid
[root@linux-server ~]# ll -d /opt/dir1/
drwxrwsr-x. 2 root hr 6 Nov  6 21:26 /opt/dir1/
[root@linux-server ~]# touch /opt/dir1/a.txt
[root@linux-server ~]# ll /opt/dir1/a.txt
-rw-r--r--. 1 root hr 0 Nov  6 21:33 /opt/dir1/a.txt

[root@linux-server ~]# chmod o+w /opt/dir1/ -R 
[root@linux-server ~]# su - alice
Last login: Wed Nov  6 21:34:59 CST 2019 on pts/2
[alice@linux-server ~]$ touch /opt/dir1/b.txt
[alice@linux-server ~]$ ll /opt/dir1/b.txt
-rw-rw-r--. 1 alice hr 0 Nov  6 21:35 /opt/dir1/b.txt

Sticky Bit

这个就是针对others来设置的了,和上面两个一样,只是功能不同而已。
SBIT(Sticky Bit)目前只针对目录有效,对于目录的作用是:当用户在该目录下建立文件或目录时,仅有自己与 root才有权力删除。

案例:

[root@linux-server ~]# cd /home/
[root@linux-server home]# mkdir dir2
[root@linux-server home]# chmod 757 dir2/
[root@linux-server home]# chmod o+t dir2/
[root@linux-server home]# ll -d dir2/
drwxr-xrwt. 2 root root 52 Oct 31 16:49 dir2/
[root@linux-server home]# useradd jack 			 #创建用户
[root@linux-server home]# su - alice 
Last login: Wed Nov  6 21:48:12 CST 2019 on pts/2
[alice@linux-server ~]$ touch /home/dir2/alice.txt  #用户alice创建文件
[alice@linux-server ~]$ exit
logout
[root@linux-server home]# su - jack 
Last login: Wed Nov  6 21:48:36 CST 2019 on pts/2
[jack@linux-server ~]$ touch /home/dir2/jack.txt   #用户jack创建文件
[jack@linux-server ~]$ rm -rf /home/dir2/alice.txt 
rm: cannot remove ‘/home/dir2/alice.txt’: Operation not permitted
	测试jack删除alice创建的文件,无法删除
两种给普通用户提权手段:
suid: 基本针对所有用户,任何用户在执行有suid权限的程序时(例如/usr/bin/rm),都是以root身份在执行。
sudo: 有针对性,例如针对某个用户以能够以root的身份执行某些命令。

放开所有命令使用权限:

[root@linux-server ~]# visudo    #打开配置文件
90 ##
91 ## Allow root to run any commands anywhere
92 root    ALL=(ALL)       ALL
93 jack    ALL=(ALL)       NOPASSWD: ALL   #添加内容
94 ## Allows members of the 'sys' group to run networking, software,
测试
[root@linux-server ~]# su - jack
Last login: Wed Nov  6 22:04:46 CST 2019 on pts/2
[jack@linux-server ~]$ sudo mkdir /test1

放开个别命令使用权限:


image-20240923162417693

image-20240923172926733

3、特殊权限

授权:

setfacl  -m   u:xiaocai:rwx a.sh		# -m 指定权限	#指定xiaocai对a.sh有 rwx 权限
getfacl a.sh	#查看权限

回收权限:

方法1、
	使用  -m  回收权限
	setfacl  -m   u:xiaocai:--- a.sh		#不授予任何权限,覆盖原来权限
方法2、
	setfacl  -b    a.sh			#回收全部权限
	getfacl a.sh		#查看权限
方法3、
	setfacl  -x   u:xiaocai  a.sh
	getfacl a.sh		#查看权限

image-20240923174057730

4、隐藏权限

查看:

lsattr

加上 i/a/A 隐藏权限:

chattr +i  b.txt	 #不可用做任意操作(保护文件,防止root用户误删除)
chattr +a  b.txt     #文件内容只可以追加,不可用覆盖
chattr +A b.txt		#文件访问时间不变

image-20240923174811172

取消 i 隐藏权限:

chattr -i b.txt
chattr -a b.txt
chattr -A b.txt

最近访问时间:

stat  b.txt

屏幕截图 2024-09-23 174930
b.txt #不可用做任意操作(保护文件,防止root用户误删除)
chattr +a b.txt #文件内容只可以追加,不可用覆盖
chattr +A b.txt #文件访问时间不变


[外链图片转存中...(img-OoqQxBRq-1727144472545)]

### 取消  i  隐藏权限:

```ini
chattr -i b.txt
chattr -a b.txt
chattr -A b.txt

最近访问时间:

stat  b.txt

[外链图片转存中…(img-PShOnu2y-1727144472546)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值