十六、用户权限管理之普通权限与特殊权限

目录

一、普通基本权限rwx管理

二、特殊权限

三、禁止普通用户访问特定目录或文件


附加
1、hash算法:
一串内容-----hash算法----->hsah值
hash值:
	1>传入的内容与算法相同,hash值一定相同,反之,hash值与传入内容相同,则算法一定相同;
	2>hash值不可逆推,即反推算
	3>hash值的长度取决于采用的算法,与传入的内容无关
用途:
	1、密码加密
	2、校验文件的完整性
常见:
	MD5
	sha512	
测试用法:md5sum 1.txt,修改内容后再执行以下:
[root@peng ~]# md5sum 1.txt 
d41d8cd98f00b204e9800998ecf8427e  1.txt
[root@peng ~]# echo 123 > 1.txt 
[root@peng ~]# cat 1.txt 
123
[root@peng ~]# md5sum 1.txt 
ba1f2511fc30423bdbb183fe33f3dd0f  1.txt

2、umask
linux中的 umask 函数主要用于:在创建新文件或目录时 屏蔽掉新文件或目录不应有的访问允许权限。文件的访问允许权限共有9种,分别是:r w x r w x r w x(它们分别代表:用户读 用户写 用户执行 组读 组写 组执行 其它读 其它写 其它执行)。

其实这个函数的作用,就是设置允许当前进程创建文件或者目录最大可操作的权限,比如这里设置为0,它的意思就是0取反再创建文件时权限相与,也就是:(~0) & mode 等于八进制的值0777 & mode了,这样就是给后面的代码调用函数mkdir给出最大的权限,避免了创建目录或文件的权限不确定性
PS:
1>目录初始权限减umask为目录默认权限
即:777-022=755
2>文件初始权限减umask为文件默认权限
即:666-022=644
#减去022是为了保证目录或文件不被其他用户危险执行,保证安全性。
 

一、普通基本权限rwx管理

1、chmod权限设置方式

1>加减法方式(在原来权限基础上增减)
    属主:rwx 属组rx 其他rw
    则:chmod u+rwx,g+rx,o+rw a.txt
2>赋值方式(重新指定权限)
    则:u=rwx,g=rx,o=rw a,txt
    若减为0则:u=-,g=-,o=-
3>数字方式(重新指定权限)
    或chmod 756 a.txt
4>-R 递归修改 #对目录下的所有文件及目录进行修改
    chmod -R a/
    chmod a+r #a即所有用户
	chown #设置文件或目录的属主属组权限
		chown root.egon 1.txt
		chown Ken.mail /var/spool/mail/Ken

2、权限的作用(文件、目录) 1>针对文件:

r:4 #读,读文件的内容
w:2 #写,修改文件内容
x:1 #执行,把文件当成一个命令/程序运行

2>针对目录:

r:4 #读,可浏览该目录下的目录名和子文件名
w:2 #写,创建、删除、移动、文件
x:1 #执行,可进入该目录,操作目录下的内容

PS:不切换用户,以普通用户身份查看文件

su - egon -c 'cat 1.txt'

二、特殊权限

特殊权限总结:
SUID:
#主要是对一些命令或二进制文件,以该二进制文件的属主权限来执行该文件,以passwd命令为例。
​
SGID:
#主要是针对目录进行授权,共享目录。
​
SBIT:
#粘滞位,即便是该目录拥有w权限,但是除了root用户可以删除,其他用户只能对自己的文件进行删除、移动操作(除非解除粘滞位)
​
r:读
w:写
x:执行
SUID: 4000
SGID: 2000
SBIT: 1000

1、SUID 属主权限位,针对属主 执行文件时用户将获得该文件属主(主人)的权限。 仅对二进制可执行文件有效,会在属主权限位的执行权限上写s,如:

1>若属主位上有执行权限,则是小s:
-rwsr-xr-x 1 root root 27856 Aug 9 2019 /bin/passwd
2>若属主位上无执行权限,则是大s:
-rwSr-xr-x 1 root root 27856 Aug 9 2019 /bin/passwd

#s即SUID权限,以此命令主人的身份来运行命令,只是运行命令时转换身份;前提能运行此命令。

授权方式:

加:
• chmod u+s egon
• chmod 4755 egon #4即代表s
减:
• chmod u-s egon
• chmod 0755 egon ##4即代表s

总结:

1>让普通用户对可执行的二进制文件,临时拥有二进制文件的属主权限

2>如果设置的二进制文件没有执行权限,那么suid的权限显示就是S

3>特殊权限suid仅对二进制可执行程序有效,其他文件或目录则无效

注意:suid极其危险,比如让vim、rm等命令拥有该权限!

2、SGID 属组权限位,针对属组

1>对于普通文件: 与SUID类似,执行该文件时会获得文件所属组的权限;

1>若属组位上有执行权限,则是小s:
-rwxr-Sr-x 1 root root 27856 Aug 9 2019 /bin/passwd
2>若属组位上无执行权限,则是大s:
-rwxr-Sr-x 1 root root 27856 Aug 9 2019 /bin/passwd

2>对于目录作用就非常大了: 若对目录有wx权限,用户就可在该目录下创建文件,若再加上SGID修饰,则用户在此目录下建立的文件,都将属于这个目录所属的组;

作用:

1>针对用户组权限位修改,用户创建的目录或文件所属组和该目录的所属一致。

2>当某个目录设置了SGID后,在该目录中新建的文件不再是创建该文件的默认所属组。

3>使用SGID可以使多个用户之间共享一个目录的所有文件变得简单。

3>SBIT 阻止非文件的所有者删除文件,只对目录有效 举例:

[root@localhost ~]# ls -dl /tmp/
drwxrwxrwt. 13 root root 4096 8์ 11 17:09 /tmp/
[root@localhost ~]# chmod o+t /test/ 或 chmod 1755 /test

#权限中最后一位t表示该目录被设置了SBIT权限,即只有自己和root有权删除,主要作用与一个共享的文件夹。

授权方式
•   chmod 1755 /opt
•   chmod o+t/opt
#若其他用户有x权限,则小t
#若其他用户无x权限,则大t

SBIT粘滞位,目前只对目录有效,作用如下:

假设普通用户对改目录拥有w和x权限,即普通用户可以在此目录中拥有写入权限:

1>若无粘滞位,那么普通用户有写权限,就可删除此目录下的所有文件,包括其他用户建立的文件

2>若被赋予了粘滞位,除了root可以删除文件,普通用户就算有w权限也只能删除自己建立的文件,而不能删除其他用户建立的文件。

PS:系统中存在的/tmp目录,谁都有写入权限,因此安全成问题,常常是木马第一手跳板。

SUID权限演示

 

三、禁止普通用户访问特定目录或文件

1、创建普通用户

useradd test


2、对目录或文件设定权限

# 创建目录、文件
$ mkdir /opt/testdir
$ echo "123" > /opt/testdir/testfile

# 去除权限,0为其他普通用户的权限列,0代表无权,对目录无权,则对目录下的文件也无权
# chmod -R 选项,是对某个目录下的文件也递归授权
$ chmod 640 /opt/testdir

# root用户下查看内容
$ cat /opt/testdir/testfile
123


3、测试访问

# 切换到test用户
$ su - test

# 对目录、文件都无权访问
$ ls /opt/testdir
ls: cannot open directory /opt/testdir: Permission denied

$ cat /opt/testdir/testfile
ls: cannot access /opt/testdir/testfile: Permission denied

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋风お亦冷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值