Řešení 1:
Uživatel Redhat:
chown 0:0 /bin/rpm && rpm -qa | xargs rpm --setugids
Uživatel Debian/Ubuntu:
chown 0:0 /bin/* /usr/bin/*
chown daemon:daemon /usr/bin/at
chown 0:utmp /usr/bin/screen
chmod 02755 /usr/bin/screen
chmod u+s /bin/fusermount /bin/mount /bin/su /bin/mount
chmod u+s /usr/bin/sudo /usr/bin/passwd
screen
Když je obrazovka spuštěna, proveďte to alespoň dvakrát:
dpkg --get-selections | awk '{ if ($2 == "install") print $1}' \
| xargs apt-get install --reinstall --
Plaťte velmi věnujte pozornost výstupu, protože pokud si stěžuje na něco, co má nesprávná oprávnění, měli byste to opravit v jiném okně obrazovky.
Crash kurz na obrazovce:
Control+A - command key
Control+A a - emit a control+A
Control+A n - next "screen"
Control+A c - create "screen"
Uživatel systému Solaris:
Jsi v prdeli.
pkgchk -R / -f -a
resetuje všechna oprávnění, ale nastavení bude stále narušeno. Pomocí zálohy nebo jiného počítače Solaris vyhledejte skripty a soubory setuid/setgid a opravte je ručně.
DŮLEŽITÁ VĚC O ZÁLOHÁCH
Jde o to, že je můžete obnovit, ne o to, že si je vezmete.
Jiní lidé vám radili, abyste zálohovali, ale chci dodat, že byste je měli testovat. Pokud používáte unixový systém, není k tomu žádný důvod že nemůžete pravidelně ukládat soubory na jiný počítač a ujistit se, že vše funguje.
Řešení 2:
Většinu všeho v /bin/ by měl vlastnit root:root, takže pokud spustíte následující, můžete opravit vlastnictví těchto souborů:
chown root:root -R /bin/
Můžete se také ujistit, že bit setuid je správně nastaven na /bin/su, což můžete opravit následujícím způsobem:
chmod 4755 /bin/su
Řešení 3:
Uvědomte si, že příznaky set-uid na všech ovlivněných binárních souborech mohly být také odstraněny; toto je bezpečnostní prvek chownu. Ověřte si u některého jiného systému, které binární soubory mají příznaky set-uid nebo set-gid, a nezapomeňte je také nastavit ve svých binárních souborech.
Řešení 4:
Chtěl jsem vysvětlit podrobnosti o používání RPM k resetování oprávnění souborů, ale našel jsem web s mnohem více informacemi. Zmiňuje také, že Ubuntu/Debian (takže .debs obecně) to nepodporují.
Ale obecně by varianta, kterou hledáte, byla v tomto smyslu:
rpm --setugids {packagename}
Řešení 5:
Pokud by to byl systém debian, přeinstaloval bych aptitude všechno.