Binärdatei kann nicht ausgeführt werden, wenn man nicht als su angemeldet ist

Binärdatei kann nicht ausgeführt werden, wenn man nicht als su angemeldet ist

Ich spiele mit Linux herum und beginne mit der Verwendung des Terminals. Ich versuche, Ordner im Stammverzeichnis des Dateisystems zu erstellen, wozu mein normaler Benutzer keine Berechtigung hat.

Beim Ausführen su root mkdir u01werde ich zur Eingabe der Anmeldeinformationen aufgefordert und das Terminal gibt den Fehler „Binärdatei kann nicht ausgeführt werden“ zurück.

Wenn ich su rootund dann ausführe mkdir u01, funktioniert der Befehl einwandfrei.

Irgendwelche Ideen?

Ich verwende Oracle Linux 6.5

Antwort1

Das Problem ist Ihr Anruf bei su.

Die korrekte Syntax zum Ausführen eines Befehls als ein anderer Benutzer lautet:

su [username] -c "[command]"

Beachten Sie die Anführungszeichen um den Befehl. Sie sind wichtig, damit die anderen Argumente des Befehls ordnungsgemäß ausgeführt werden.

Antwort2

Insgesamt sollte es einem „normalen“ Benutzer nicht gestattet sein, Dateien oder Ordner im Stammverzeichnis des Dateisystems zu erstellen. Dies zuzulassen führt zu allen möglichen Sicherheitsproblemen.

Wenn Sie „su root mkdir u01“ ausführen, fragt Ihr System Sie nach dem Root-Passwort. Was Sie wahrscheinlich ausführen sollten, ist „sudo mkdir u01“, das Sie nach Ihrem normalen Benutzerpasswort fragt. Beachten Sie, dass dies voraussetzt, dass sudo richtig konfiguriert ist, um dies zuzulassen.

Antwort3

Bei sudoordnungsgemäßer Konfiguration können Sie dieses Verzeichnis folgendermaßen erstellen:

sudo mkdir u01

Wenn sudo aus irgendeinem Grund nicht funktioniert (oder nicht einmal installiert ist – unwahrscheinlich, aber möglich), können Sie es sumit Befehlsparametern -cwie folgt verwenden:

su -c "mkdir u01"

(Beachten Sie, dass der Befehl in Anführungszeichen gesetzt werden muss, damit er ordnungsgemäß übergeben werden kann su.)

Wichtiger Unterschied zwischen der Verwendung von sudound su: Bei der Aufforderung zur Eingabe eines Passworts sudowird das Passwort Ihres Benutzerkontos benötigt, aber sudas Passwort des Root-Kontos. Bei vielen Linux-Distributionen (insbesondere der Ubuntu/Debian-Familie) wird das Passwort des Root-Kontos möglicherweise nie zugewiesen und sukann daher fehlschlagen (es sei denn, Sie weisen dem Root-Konto vorher ein Passwort zu).

verwandte Informationen