谁能告诉我在哪里可以找到Linux上有效的suid / guid程序列表,最好是Ubuntu?
注意我可以使用find在我的机器上获取suid / sgid程序列表,但我想知道它们是否是真正有效的程序;有没有我可以比较的列表?
答案 0 :(得分:0)
一个答案(来自Rmano on askubuntu,)复制如下:
一个想法 - 但需要一些脚本工作---作为我的客人; - )
Find a suid/sgid file; let's call it scommand
Check from which package has been installed:
dpkg -S /full/path/to/scommand
Compare its permission with the original deb package, by firstly downloading the package:
apt-get download package
Check if the command should have the suid set in the package with
dpkg -c package*deb | grep /full/path/to/scommand
cleanup, rinse, repeat.
示例:
[romano:〜/ tmp]%ls -l / bin / passwd ls:无法访问/ bin / passwd:没有这样的文件或目录 [romano:〜/ tmp] 2%ls -l / usr / bin / passwd -rwsr-xr-x 1 root root 47032 2014年2月17日/ usr / bin / passwd [romano:〜/ tmp]%dpkg -S / usr / bin / passwd passwd:/ usr / bin / passwd [romano:〜/ tmp]%apt-get download passwd 获取:1 http://archive.ubuntu.com/ubuntu/ trusty / main passwd amd64 1:4.1.5.1-1ubuntu9 [755 kB] 提取755 kB in 1s(487 kB / s) [romano:〜/ tmp]%dpkg -c passwd * .deb | grep / usr / bin / passwd -rwsr-xr-x root / root 47032 2014-02-17 03:42 ./usr/bin/passwd
答案 1 :(得分:0)
试试这个我编写的小脚本,搜索Ubuntu的整个在线档案(或Debian或其他任何使用apt和dpkg的档案):
PKG=$(apt-cache search . | cut -f 1 -d ' ');
echo $PKG | xargs apt-get download;
F=(`find *.deb`); for i in ${F[@]};
do dpkg -c $i | cut -c 4- | grep ^s | cut -c 4- | cut -f 2 -d '.';
done | tee suid_root;
请注意,这需要批次的磁盘空间和带宽,并且未经过优化。