GNU/Linux >> Znalost Linux >  >> Ubuntu

Nelze statistikovat /etc/sudoers:Žádný takový soubor nebo adresář?

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
Související:Jak přizpůsobit (přidat/odebrat složky/adresáře) nabídku „Místa“ aplikace Ubuntu 13.04 „Soubory“?

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.


Ubuntu
  1. Chyba v souboru Sudoers? Zde je návod, jak to můžete opravit.

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Debian – -bash:/usr/bin/nano:Žádný takový soubor nebo adresář?

  1. Pochopení adresáře /etc/xinetd.d pod Linuxem

  2. CentOS / RHEL :Jak obnovit ze smazaného souboru /etc/passwd

  3. Vysvětlení adresáře /etc/sysconfig

  1. Vzor regulárního výrazu pro úpravu souboru /etc/sudoers

  2. cp:nelze vytvořit adresář:Žádný takový soubor nebo adresář

  3. unix:///var/run/supervisor.sock žádný takový soubor