GNU/Linux >> Znalost Linux >  >> Linux

Náhodně spustil chown www-data:www-data / -R jako root

Ř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.


Linux
  1. Oprávnění pro Linux 101

  2. Jak změníme heslo root?

  3. Rozlišení obrazovky neuvedené?

  1. Jak změnit vlastnictví souborů a adresářů pomocí příkazu chown

  2. Zabijte relaci oddělené obrazovky

  3. Kde je .bashrc pro root?

  1. Co znamená `chown Root.root $file`?

  2. Jak nastavit ssh bez hesla pomocí klíčů RSA

  3. Při spuštění jako root vypršel časový limit příkazů Systemctl