权限管理

权限管理

权限管理

上一篇:账号管理

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找到的二进制文件,执行对应的提权操作。