Ubuntu 14.04 jsem používal teprve nedávno. A nějak jsem změnil oprávnění na /etc/sudoers
soubor. Takže pokaždé, když spustím jakýkoli příkaz pomocí sudo, dostanu tyto chyby:
sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Mohl jsem se přihlásit jako uživatel a změnit oprávnění zpět. Takže teď, když spustím ls -l /etc/sudoers
příkaz dostanu:
-r--r----- 1 root root 755 жов 14 2016 /etc/sudoers
Ale nebyl jsem schopen udělat root vlastníkem. A stále dostávám stejné chyby, když se pokouším použít sudo.
O tomto problému jsem četl spoustu děsivých věcí. Mohli byste mi tedy pomoci vyřešit tento problém? Byl bych velmi vděčný za radu.
Přijatá odpověď:
Zkratka:
dpkg-reconfigure: Pokud je něco špatně se svolením /etc/sudoers
soubor s přístupem root spusťte:dpkg-reconfigure sudo
. něco jako pkexec dpkg-reconfigure sudo
měl by to udělat.
vizuo: Pokud dpkg-reconfigure
nefunguje pro vás, pak stačí spustit pkexec visudo
, sudoers
soubor se otevře v editoru, pak stačí soubor uložit a zavřít visudo
opraví oprávnění za vás.
Koneckonců, pokud jste změnili sudoers.d
také oprávnění k adresáři, pak spusťte:
pkexec chmod 755 /etc/sudoers.d
Pokud tam soubory jsou a jejich oprávnění jsou taková, jaká mají být, ale stále se vám zobrazuje tato chybová zpráva, jediná možnost, která mě napadá, je, že jste porušili ostatní oprávnění a sudo
nemá přístup k /etc/sudoers
. nejpravděpodobnějším odhadem jsou oprávnění /etc/
.
Takže běžte:
pkexec chmod 755 /etc
Jsme hotovi, pokud však chcete podrobný návod k obnovení poškozených nebo odstraněných sudoers
následovat soubor se zpackanými oprávněními, použijeme jiný způsob, jak věci opravit.
Úvod
Popletl jsem se se svými /etc/sudoers
soubor, aby se zobrazila podobná chyba jako u vás. Dostanu se opravdu blízko, takže ten svůj úplně smažu a stal se přesně jako váš.
Co jsem udělal, abych problém vyřešil:
Můj účet root byl uzamčen a neměl žádné heslo, takže jsem nemohl dělat, co jsem chtěl. pokud je však váš účet root aktivní a má heslo, přepněte na uživatele root pomocí su -
a přeskočte tuto část. pokud ne, postupujte podle pokynů.
Než přejdu dále, musím zmínit, že k provedení chroot
můžete vždy použít živý disk do vašeho systému je spousta instrukcí o chrootu pomocí živého disku, takže se nebudu obtěžovat s uváděním všech těchto instrukcí znovu, místo toho budu předpokládat, že nemáme žádný živý disk a k vyřešení tohoto problému použijeme to, co již máme. Pokud jste spokojeni s cheroot
jděte tím směrem, to by také fungovalo.
Získání přístupu root
- Restartujte systém
- Když se objeví grub, stiskněte e jej upravit
- Na konec řádku, který začíná linuxem, přidejte
init=/bin/bash
- Stiskněte CTRL +X
Nyní budete vhozeni do bash shellu s přístupem root. nejprve znovu připojte systém souborů s přístupem pro zápis:
mount -o remount,rw /
Poté odemkněte uživatele root a nastavte mu heslo:
passwd -u root
passwd root
Nyní If vaše /etc/sudoers
stále existuje na /etc
, přesuňte ji někam jinam:
mv /etc/sudoers /etc/sudoers.broken
Protože budeme informovat našeho správce balíčků, že tento soubor chybí, a nahradí ho správným, takže by tam neměl být.
Jsme téměř hotovi, restartujte svůj systém. přihlaste se jako normální uživatel, otevřete terminál a zkuste su -
přepnout na uživatele root. Nebyl jsem schopen to udělat, takže jsem použil CTRL +ALT +F1 , přejděte do tty1
, pak jsem se přihlásil jako root s novým heslem, které jsme právě nastavili.
Přiveďte sudoery zpět
Jednoduše bychom měli znovu nainstalovat sudo
balíček, nicméně přeinstalace tento soubor nevrátí zpět, měli bychom to sdělit dpkg
pro opravu chybějících konfiguračních souborů také takto:
apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall sudo
Pamatujte, že se vás zeptá na instalaci /etc/sudoers
soubor vložením y
řekni ano.
Pokud vám to nefungovalo, postupujte jako root takto:
mkdir /root/tmp
cd /root/tmp
apt-get download sudo
dpkg-deb -x sudo*.deb .
cp etc/sudoers /etc/sudoers
cd /root
rm -r tmp
Nyní mohou být mezi oprávněními nějaké rozdíly, spusťte dpkg-reconfigure sudo
opravit to. pokud to nefungovalo, spusťte visudo
jako uživatel root, sudoers
soubor se otevře v editoru, pak stačí soubor uložit a zavřít visudo
opraví oprávnění za vás.
Pokud vše půjde správně, váš soubor sudoers bude zpět a vy budete moci sudo používat jako předtím.