sodu提权/suid、sgid、sticky

sodu对的是某一用户提权,使那个用户能执行很多命令;

而操作suid是对命令减低权限,就是使一个本来要root才可以执行的命令,让每一个用户都可以执行了

-----------------------------------------------------

sodu提权的步骤:

首先要先找到sudoers,在/etc/下

可以在这里加进去要提权的用户,这里我就给h2和Bob提取了

Allow root to run any commands anywhere
root ALL=(ALL) ALL
h2 ALL=(ALL) ALL
Bob ALL=(ALL) ALL
# Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

然后我们也可以把要提权的用户加入wheel组内

## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL

[root@localhost ~]# usermod -aG wheel Bob

然后就可以在Bob下使用一些只有管理员root才可以使用的命令

[Bob@localhost ~]$ sudo useradd Bob1
[sudo] Bob 的密码:
[Bob@localhost ~]$

只要输入密码对了 就可以

如果没有在sudoers的用户或者没有在wheel组内的用户,用sudo会被报告的,也用不了高级命令

----------------------

错误例子:

但是有时候sudo也不起作用

[h1@localhost ~]$ sudo echo "123123" | passwd  h1 --stdin
只有根用户才能进行此操作。

然后密码还是原来的密码,没改成。

是因为sudo放的地方不对,sudo应该加到后面的命令才对

[h1@localhost ~]$ sudo echo "123123" | sudo passwd h1 --stdin
更改用户 h1 的密码 。
passwd:所有的身份验证令牌已经成功更新。

---------------------------------------------------------------------------------

suid

用法:让一个命令每个用户都可以用,通常对一些普通用户不能用的命令加s

首先第一步是找出命令的文件位置

[root@localhost ~]# which chmod
/usr/bin/chmod

然后chmod一下那个文件

[root@localhost ~]# chmod u+s /usr/bin/chmod

h1就可以用chmod了

[h1@localhost ~]$ chmod u+x /tmp/p1/
[h1@localhost ~]$

当-s权限之后就不行了,除非用sudo对用户提权

[h1@localhost ~]$ chmod u-s /usr/bin/chmod
[h1@localhost ~]$ chmod u+s /usr/bin/chmod
chmod: 更改"/usr/bin/chmod" 的权限: 不允许的操作

u+s之后执行者是root,而不是所在用户

----------------------------------------------------------------------------------------

sgid、继承父目录的属组

[root@localhost p1]# ll /tmp/
总用量 656
-rw-r--r--. 1 root root 15031 5月 12 20:01 anaconda.log
drwsrws---+ 5 h2 h2 4096 5月 16 20:52 p1

然后在里面创建文件的属组都会是父目录的属组了

[root@localhost p1]# mkdir pp
[root@localhost p1]# ll
总用量 76

drwxrwsr-x+ 2 root h2 6 5月 17 19:10 pp

但是在此目录以前就有的目录里面创建文件,属组不会受外面的sgid影响

[root@localhost p1]# cd ./p1/
[root@localhost p1]# mkdir pp
[root@localhost p1]# ll
总用量 72

drwxr-xr-x. 2 root root 6 5月 17 19:11 pp

但是在新的目录下建就会触发sgid的效果

drwxrwsr-x+ 2 root h2 6 5月 17 19:10 pp

[root@localhost p1]# cd ./pp/
[root@localhost pp]# mkdir ha?
[root@localhost pp]# ll
总用量 0
drwxrwsr-x+ 2 root h2 6 5月 17 19:13 ha?

---------------------------------------------------------------

然后sticky是有一个作业,就是谁建立谁删除

在/tmp下就是有这个规则

-rw-r--r--. 1 Bob Bang 13 5月 16 09:08 f1

[h1@localhost tmp]$ rm /tmp/f1
rm:是否删除有写保护的普通文件 "/tmp/f1"?y
rm: 无法删除"/tmp/f1": 不允许的操作

因为f1是属于Bob用户的

猜你喜欢

转载自blog.csdn.net/qq_41201816/article/details/80682320
今日推荐