Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Terminal Sudo Problem

Terminal Sudo Problem

bernd-007-
bernd-007-19.08.0703:18
Hallo,

ich habe ein kleines problem wenn ich im terminal sudo eingeben dann kommt:

sudo: /private/etc/sudoers is zero length

ich hoffe ihr könnt mir helfen
0

Kommentare

Simoon
Simoon19.08.0707:32
Schreib' einfach folgendes rein:

root ALL=(ALL) ALL
%admin ALL=(ALL) ALL

Mehr steht standardmäßig (bis auf Beispiele und Kommentare) nicht drin.
0
sapajou19.08.0711:24
dieter

Das kann ich bestätigen, aber wie soll er die Datei ohne "sudo" in "/private/etc"
schreiben können?

Indem er sich direkt als root einloggt:
einfach su in der Konsole eingeben und das root-Passwort eingeben. Vorher den Root-Account gegebenenfalls in der Systemsteuerung freischalten. Dann einfach visudo eingeben und den Text von Simoon reinkopieren. Mit :q speichern und fertig.

0
DarkLord541
DarkLord54119.08.0711:27
sapajou

Das wird nicht funktionieren da du um den Root Account ein zu schalten auch Admin (sudo) Rechte brauchst.
„Nimm das Leben nicht zu ernst, du kommst da eh nicht lebend raus...“
0
bernd-007-
bernd-007-26.08.0720:02
Das ist etwas verzwickt. Du kannst so auch keine Programme installieren oder Aktionen ausführen, die den Berechtigungsdialog anzeigen.

das kann ich ja "komischer" weise, es geht nur im terminal der sudo befehl nicht und wenn man zb. ordnern anderen rechte geben möchte gibts immer mal probleme und auf untergeordnete objekte das geht garnicht.

Ich wüsste im Augenblick nur eine Methode, es zu "korrigieren". Das System im Singel-User-Mode booten, die Platte Read/Write mounten und dann die Datei "korrigieren".

ja es ist ein zweiter mac vorhanden

Frage: Wie fit bist Du in UNIX/Shell? Hast Du einen zweiten Rechner für Fragen, wenn Du im Singel-User-Mode bist (keine Oberfläche, kein Mail, kein Web)?
ja es ist ein zweiter mac vorhanden - mit unix/shell kenne ich mich leider garnicht aus.

PS: die datei ist 0kb groß

ich bin mir ziemlich sicher das ich im netinfo manager den root benutzer anschalten kann, hilft das weiter ?

PS2: wenn ich das hier: ls -l /private/etc/sudoers eingebe dann kommt das:

localhost:~ mein kurzname$ ls -l /private/etc/sudoers
-r--r----- 1 root wheel 0 Aug 8 12:44 /private/etc/sudoers
localhost:~ mein kurzname$
0
_mäuschen
_mäuschen26.08.0720:26

# This file MUST be edited with the 'visudo' command as root.

0
Moss
Moss26.08.0722:58
Hallo,

hatte kürzlich genau dasselbe Problem.
Lösung:
Root Benutzer anlegen mit Netinfomanager.
Als root anmelden über Anmeldeschirm.

Terminal starten
man visudo - anleitung zu visudo lesen

weiteres Termainal Fenster öffnen
visudo eintippen
e zum editieren

Das hineinkopieren:
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

# Defaults specification

# Runas alias specification

# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL

# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL

# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h n

Q zum Beenden und sichern

Gibt doch Rückmeldung, ob es funktioniert.
0
Dieter19.08.0710:16
Simoon<br>
Mehr steht standardmäßig (bis auf Beispiele und Kommentare) nicht drin.

Das kann ich bestätigen, aber wie soll er die Datei ohne "sudo" in "/private/etc" schreiben können? Eine neue Datei kann er dort nicht anlegen und wenn bei ihm die Rechte korrekt gesetzt sind, kann er sie auch nicht überschreiben.

$ ls -ld /private/etc
drwxr-xr-x 104 root wheel 3536 Aug 19 06:37 /private/etc
$ ls -l /private/etc/sudoers
-r--r----- 1 root wheel 629 Mar 21 2005 /private/etc/sudoers

bernd-007

Das ist etwas verzwickt. Du kannst so auch keine Programme installieren oder Aktionen ausführen, die den Berechtigungsdialog anzeigen.

Ich wüsste im Augenblick nur eine Methode, es zu "korrigieren". Das System im Singel-User-Mode booten, die Platte Read/Write mounten und dann die Datei "korrigieren".

Frage: Wie fit bist Du in UNIX/Shell? Hast Du einen zweiten Rechner für Fragen, wenn Du im Singel-User-Mode bist (keine Oberfläche, kein Mail, kein Web)?
0
Dieter19.08.0712:07
sapajou<br>
dieter
Indem er sich direkt als root einloggt:
einfach su in der Konsole eingeben und das root-Passwort eingeben. Vorher den Root-Account gegebenenfalls in der Systemsteuerung freischalten. Dann einfach visudo eingeben und den Text von Simoon reinkopieren. Mit :q speichern und fertig.

Nun ja, nette Idee, aber wenn der Root-Account nicht bereits frei geschaltet ist, dann bräuchte er einen funktionierenden "sudo". Es sei denn, man kann von CD booten und dann den Root-Account freischalten.

Und Du willst aber keinen "vi"-Kurs hier geben, oder? ":x" ist zum speichern und verlassen. ":q" ist zu verlassen ohne speichern, was aber nur geht, wenn keine Änderung an der Datei vorgenommen wurde.

Ich würde eher vorschlagen:
$ ls -l /private/etc/sudoers
Wenn die Dateigröße nicht "0" ist, hier überlegen, ob man weiter macht!
$ su
<Root-Passwort>
# cd /private/etc
# chown 640 sudoers
# cat > sudoers
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
<Ctrl-D drücken>
# chmod 440 sudoers
# chown root:wheel sudoers
# exit
$ exit

"$" und "#" nicht mit eingeben (Kennzeichnen Shell und Root-Shell! Der erste "chmod" ist notwendig, da aufgrund der Rechte auch "root" die Datei nicht überschreiben darf. Wenn man sich bei dem Text
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
vertippt, sollte man mit <Ctrl-C drücken> abbrechen und den "cat > sudoers" und den Rest wiederholen.

Achtung: Alle Befehle der Shell sollte ohne Meldung enden, sonst ein "Problem"!

-----

Wenn kein "Root" Account activierbar. Dann im Single-User-Mode starten (Booten mit "Apfel-Alt-S").
# ls -l /private/etc/sudoers
Wenn die Dateigröße nicht "0" ist, hier überlegen, ob man weiter macht!
# /sbin/mount -wu
# cd /private/etc
# chown 640 sudoers
# cat > sudoers
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
<Ctrl-D drücken>
# chmod 440 sudoers
# chown root:wheel sudoers
# reboot

"$" und "#" nicht mit eingeben (Kennzeichnen Shell und Root-Shell!
Achtung: Alle Befehle der Shell sollte ohne Meldung enden, sonst ein "Problem"!
0
Dieter19.08.0712:11
+m +n +n
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.