Sudo bzw kdesu

german

#1

Hallo

welcher Gruppe muss ich einen Benutzer zuordnen wenn er sudo, bzw kdesu ausführen soll. Die Gruppe sudo gibt es nicht. Anlegen bringt auch nichts.
z.B braucht truecrypt eine solche Möglichkeit…

Marc Schumann


#2

Hallo,

Bei mir gibt es eine Gruppe “sudo” Ist sudo bei dir am System überhaupt installiert?

pkg -l | grep sudo

Wenn nicht, dann installieren mit:

apt-get install sudo

#3

Hallo,
der Befehl klappt so nicht:[code]> root@niebelheim:/data/home/marc# pkg -l | grep sudo

bash: pkg: Kommando nicht gefunden.[/code]

, aber wenn ich versuche zu installieren:[code]>root@niebelheim:/data/home/marc# apt-get install sudo

Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen… Fertig
sudo ist schon die neueste Version.
sudo wurde als manuell installiert festgelegt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.[/code]

gehe ich davon aus, dass sodo existiert.

und auf der Konsole z.B.: sudo mail[code]>[sudo] password for marc:

marc is not in the sudoers file. This incident will be reported.[/code]

ich habe manuell die Gruppe sudo angelegt und in der /etc/sudoers git es ja den Verweis auf diese Gruppe:[code]# /etc/sudoers

This file MUST be edited with the ‘visudo’ command as root.

See the man page for details on how to write a sudoers file.

Defaults env_reset

Host alias specification

User alias specification

Cmnd alias specification

User privilege specification

root ALL=(ALL) ALL

Allow members of group sudo to execute any command

(Note that later entries override this, so you might need to move

it further down)

%sudo ALL=(ALL) ALL

#includedir /etc/sudoers.d[/code]

Damit bin ich dann hängengeblieben…


#4

Nachtrag zum letzten Post:

wenn ich in der /etc/sudoers den user marc expizit mit : marc ALL=(ALL) ALL angebe, erreiche ich zumindest mal dass ich in der Konsole sudo ausführen kann. Die Gruppendefinition wird aber weiterhin ignoriert und kdesu fragt zwar nach dem rootpasswort, bricht aber nach mehreren Sekunden kommentarlos ab.

Marc


#5

Hallo Herr Schumann,

Der korrekte Befehl lautet:

dpkg -l | grep sudo

Da ist irgendwo das ‘d’ verloren gegangen. Für etwas mehr Output mit Legende können Sie ‘| grep’ auch weglassen:

dpkg -l sudo

Wenn sudo installiert ist, sollte die Ausgabe in etwa so aussehen:

||/ Name Version Beschreibung +++-===============================-===============================-============================================================================== ii sudo 1.7.4p4-2.squeeze.4.31.20130311 Provide limited super user privileges to specific users

Wichtig sind dabei die beiden ‘i’ am Anfang der Zeile. Diese zeigen den gewünschten und den tatsächlichen Status des Paketes an (i = installiert).

Unabhängig davon sollte auf einem Standard-UCS die lokale Gruppe ‘sudo’ existieren. Prüfen können Sie das bspw. wie folgt:

getent group | grep sudo
Das liefert bei mir Folgendes zurück:

sudo:x:27:

Dies ist keine Gruppe im LDAP und wird dementsprechend auch nicht in der UMC angezeigt. Das folgende ist jetzt Spekulation, bremsen Sie mich, wenn ich falsch liege:
Ich vermute, dass Sie die Gruppe ‘sudo’ über die UMC angelegt haben? Wenn dies der Fall ist, existiert auf ihrem System dann eine zweite Gruppe ‘sudo’ als LDAP-Gruppe. Diese sollte bei dem obigen Befehl ebenfalls ausgegeben werden, dann allerdings nicht mit der ID 27 sondern mit einer ID größer 5000. Also bspw. so:

sudo:x:27: sudo:*:5041:marc
Das Paket ‘sudo’ kümmert sich in seiner Standardkonfiguration erstmal nur um die erste Gruppe und meldet dann auch korrekterweise, dass der Benutzer dort nicht Mitglied ist.

Mir fallen nun spontan drei Möglichkeiten ein:

  1. Sie fügen den Benutzer der lokalen sudo-Gruppe hinzu:
usermod -a -G sudo marc
  1. Sie erstellen eine neue Gruppe, die nicht sudo heißt, fügen den Benutzer dort hinzu und konfigurieren /etc/sudoers so um, dass die neue Gruppe verwendet wird.

  2. Sie schauen sich [wiki]Sudo-ldap[/wiki] an.
    Diese Lösung hat den Vorteil, dass die sudo-Konfiguration bequem in der UMC erfolgen kann und das Ergebnis sogar domänenweit greift. Die beiden Lösungen oben sind hingegen auf den lokalen Server beschränkt.

Mit freundlichen Grüßen,
Michael Grandjean


#6

Hallo Grandjean,

Vielen Dank für die Ausfühlichkeit der Antwort. Sie hatten recht mit ihrer Vermutung: Nachdem ich die Gruppe nicht im Gruppenmodul gesehen habe, hatte ich sie manuelle nagelegt. Natürlich nicht als Systemgruppe :-((. Dann konnte sudo natürlich nicht funktionieren.root@niebelheim:/data/home/marc# dpkg -l | grep sudo ii libgksu2-0 2.0.13~pre1-3.17.201104281219 library providing su and sudo functionality ii sudo 1.7.4p4-2.squeeze.4.31.201303111239 Provide limited super user privileges to specific users root@niebelheim:/data/home/marc# getent group | grep sudo sudo:x:27: sudo:*:5038:michaela,Administrator,marc root@niebelheim:/data/home/marc# usermod -a -G sudo marc

Allerdings ist mein Problem damit nur zur Hälfte gelöst. Der user marc ist sudo jetzt zugeordnet, sudo geht, aber immer noch nicht kdesu. Irgendwo muss da noch ein Haken sein.


#7

Hi,

kdesu ist standardmäßig “kde” “su”, nicht “kde” “sudo”:[quote=“kdesu(1) - Linux man page”]“KDE su is a graphical front end for the UNIX® su command for the K Desktop Environment. It allows you to run a program as different user by supplying the password for that user. KDE su is an unprivileged program; it uses the system’s su.”[/quote]

Man kann allerdings konfigurieren dass “kdesu” statt “su” “sudo” aufruft:kwriteconfig --file kdesurc --group super-user-command --key super-user-command sudo
Das erstellt/ändert dann die eigene ~/.kde/share/config/kdesurc, für eine Systemweite Konfiguration kann man die evtl. auch unter /usr/share/kde4/config/ ablegen.

emg