如题,
首先写个小脚本找出系统中所有的setuid/git程序
#!/bin/bash
path=$(echo $PATH | tr ':' '\n')
for i in $path ; do
echo $i
cd $i
file=$(ls)
for j in $file ; do
quanxian=$(ls -l $j | cut -d' ' -f 1)
echo $quanxian | grep s > /dev/null
if $? == '0' ] ; then
echo $j : $quanxian
fi
done
done
程序输入如下:
exim4 : -rwsr-xr-x
pppd : -rwsr-xr–
at : -rwsr-sr-x
bsd-write : -rwxr-sr-x
chage : -rwxr-sr-x
chfn : -rwsr-xr-x
chsh : -rwsr-xr-x
crontab : -rwxr-sr-x
dotlockfile : -rwxr-sr-x
expiry : -rwxr-sr-x
gpasswd : -rwsr-xr-x
newgrp : -rwsr-xr-x
passwd : -rwsr-xr-x
pkexec : -rwsr-xr-x
ssh-agent : -rwxr-sr-x
sudo : -rwsr-xr-x
wall : -rwxr-sr-x
X : -rwsr-sr-x
unix_chkpwd : -rwxr-sr-x
fusermount : -rwsr-xr-x
mount : -rwsr-xr-x
ntfs-3g : -rwsr-xr-x
su : -rwsr-xr-x
umount : -rwsr-xr-x
以上是系统中所有的setuid/gid程序,不过不是以上所有的程序都能用capabilities来替换的,su和sudo就不可以,因为这两个程序的功能是进行验证并且使普通用户提权到root。