Angenommen, es gibt ein Verzeichnis, auf das ich nicht zugreifen kann. Offensichtlich sudo cd foo
wird es nicht funktionieren, da cd
in jeder Shell jemals eine Shell eingebaut ist.
Bisher habe ich nur sudo bash
eine Root-Eingabeaufforderung verwendet (ja, ich weiß, dass es bessere Möglichkeiten gibt). Dann kann ich cd
in das Verzeichnis stöbern.
Gibt es einen besseren Weg, dies zu tun?
bash
sudo
cd-command
strugee
quelle
quelle
cd
als Root (es sei denn, Sie befinden sich tatsächlich in einer Root-Shell)?cd
.sudo ls
.Antworten:
Nein, es gibt keinen Weg zu
cd
einem Verzeichnis, das nur root zulässt, ohne root zu sein. Es sollte wirklich nicht zu viele Verzeichnisse geben, die diese Einschränkung haben. Meistens ist der Zugriff auf eine bestimmte Datei eingeschränkt, z. B. auf die/etc/shadow
Datei oder bestimmte Protokolldateien unter/var/log
.Sie können verwenden
sudo ls <dir>
, um sie anstelle von zu sehenbash
. Auch wenn Sie verwendensudo
, um root zu werden, möchten Sie normalerweise Benutzer (su
Befehl) anstelle von festlegen. Verwenden Sie stattdessenbash
diesen Befehl:Sie können dasselbe auch mit einem Sudo-
-i
Schalter erreichen:Auszug aus der Manpage zu
sudo -i
Für die Dateien, auf die Sie nicht zugreifen können, können Sie einen der folgenden
sudo
Befehle verwenden:quelle
sudo su -
anstelle von verwendensudo -i
? Beide geben Ihnen alle Superuser-Berechtigungen, obwohl Sie nur die CAP_DAC_READ_SEARCH-Funktion benötigen.sudo
war durch Solaris-Umgebungen und die Versionsudo
davon war dort nicht enthalten. Wenn Sie sich das Sudo-Änderungsprotokoll ansehen , sieht es so aus, als ob diese Option im Jahr 2004 hinzugefügt wurde. Ich schätze, ich datiere mich damit, aber Sie haben 8-) gefragt. Ich werde die Antwort so ändern, dass sie beide enthält, danke!sudo -Hi
weil es auch das Home-Verzeichnis festlegt (es ist in meiner Distribution nicht standardmäßig auf home eingestellt, die Standardeinstellung kann variieren). Wenn Sie dies nicht tun, erhalten Sie möglicherweise Root-Dateien in Ihrem Haus, wenn dort neue Dateien erstellt werden.Nein, gibt es nicht. Sie benötigen eine Shell, die als Root ausgeführt wird.
quelle
cd
sei denn, Sie führen eine Shell oder einen vergleichbaren Prozess aus.Richtig, das kannst du nicht. Hier ist eine Problemumgehung:
quelle