权限管理
::: {.container}
::: {.post}
::: {.show-content}
上一篇:账号管理
linux可以分为root与非root用户。而这章,权限管理,讲的是root怎么管理非root用户。
root就像领导者,而许许多多普通用户就是员工。不同的员工有着不同的部门。
id命令,查看是什么员工,属于什么部门的命令。
UID:
账号管理一文里提过了,大于500说明是普通用户。root的uid=0。
GID:
group id
,在/etc/passwd的每一行的第四项就是GID。GID大于500,说明是普通用户群组。
/etc/passwd 部分内容:
king-phisher:x:132:140::/var/lib/king-phisher:/usr/sbin/nologin
dradis:x:133:141::/var/lib/dradis:/usr/sbin/nologin
beef-xss:x:134:142::/var/lib/beef-xss:/usr/sbin/nologin
geoclue:x:135:143::/var/lib/geoclue:/usr/sbin/nologin
statd:x:136:65534::/var/lib/nfs:/usr/sbin/nologin
vulnix:x:2008:2008::/home/vulnix:
新建group:groupadd xxd
新建gid为2018的group:*** groupadd -g 2018 xxd***
修改存在的group,xxd的gid为2020:groupmod -g 2020 xxd
修改存在的group,xxd的name为happy:** groupmod -n happy xxd**
删除存在的group,xxd:groupdel xxd
改变文件权限:rwx
每个文件大致有三种,可读可写可执行权限。
chomd:更改文件权限。
chmod u=rwx,go=r filename
将filename的所有者user拥有rwx权限,群组group和other非群组,拥有可读权限。
添加文件所有者:
chown xxd filename
将xxd用户,添加为filename文件的所有者
添加文件群组:
chgrp xxgroup filename
将xxgroup群组,添加为filename文件的群组权限。
SUID权限:
set user id,是一种文件许可权限,使得用户可以执行这个文件。和x(access
mode)权限不同的是,x只能被owner执行,例如,一个可执行文件,所有者是root,那么非root就不能执行。
例如,ping需要root权限,来开启网络套接字,但是它需要被一般权限的普通用户执行,来确定与其他主机的连接状况。
SUID提权:
提权,首先有了普通用户权限,然后,第一步就是寻找有root权限,但是普通用户可以使用的二进制文件。
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -perm -4000 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;
第二步,已知的linux可执行允许提权的有:
nmap、vim、find、bash、more、less、nano、cp。
根据find找到的二进制文件,执行对应的提权操作。
:::
:::
:::