[gelöst] sudoers will mir keine erweiterten Rechte geben...

Begonnen von Loki, 20 Februar 2019, 20:56:34

Vorheriges Thema - Nächstes Thema

Loki

Hallo,
ich habe ein Problem mit meiner sudoers.

Die Datei sieht so aus:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root ALL=(ALL:ALL) ALL
nuc     ALL=(ALL) NOPASSWD: ALL
fhem    ALL=(ALL) NOPASSWD: ALL

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d


Fhem läuft unter unter dem user "fhem".

Wenn ich allerdings versuche shell Kommanos, oder Script aus Fhem heraus auszuführen, kommt im Log:
Wir gehen davon aus, dass der lokale Systemadministrator Ihnen die
Regeln erklärt hat.  Normalerweise läuft es auf drei Regeln hinaus:

    #1) Respektieren Sie die Privatsphäre anderer.
    #2) Denken Sie nach, bevor Sie tippen.
    #3) Mit großer Macht kommt große Verantwortung.

sudo: Kein TTY vorhanden und kein »askpass«-Programm angegeben


und der Befehl schlägt fehl.

Worin liegt mein Problem?


Otto123

Hi,

zum Einen wäre lesen nicht schlecht:
Zitat# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
Zum Zweiten empfehle ich mehr Selektivität  :o -> fhem    ALL=(ALL) NOPASSWD: ALL
Und zum Schluss: In Abhängigkeit vom System, muss man einmal das Passwort angeben und diesen Meldungstext/Hinweis quittieren. Ich weiß leider nicht, wo man das ausschalten kann.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Loki

Hallo Otto, zunächst Danke für die Hinweise.

Meine sudoers habe ich nur der Einfachheit halber direkt (mit visudo) editiert. Ein separates file in sudoers.d hatte ich vorher schon getestet, leider auch ohne Erfolg. Ebenso wollte ich mit ALL=(ALL) anfangen, um überhaupt erstmal ein positives Ergebnis zu haben. Danach wäre dann verfeinern dran gewesen.
Aber wie gesagt, soweit komme ich nicht. Der sture Bock will einfach ein sodu Passwort haben, egal was ich in die sudoers schreibe...

Otto123

wie gesagt, sudoers einrichten, einmal anmelden, sudo ausführen, Passwort eingeben und den Hinweis bestätigen.
Danach sollte es ohne Passwort Abfrage gehen.
Kannst ja das Ganze erstmal mit einem anderen Konto (nuc) probieren.

Übrigens: Der Einfachheit halber werden 90% der Systeme entsichert und nie wieder gesichert - man ist ja froh das es geht  ::)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Loki

So, das Thema ist gelöst!

Es lag einfach nur daran, das der User "fhem" noch überhaupt keine passwort gesetzt hatte.

Otto123

Braucht er aber auch nicht dauerhaft :)
Ach ja, ich hatte das schon mal aufgeschrieben :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

cs-online

Hallo zusammen,

ich habe genau das gleiche Problem, habe nach Ottos Anleitung für den User fhem ein Passwort vergeben. Ein su fhem macht genau gar nichts, der prompt bleibt beim User, der angemeldet ist. Ein Userwechsel über das System ging, ebenso das anmelden des Users fhem mit dem vergebenen Passwort. Einmal rebootet. Trotzdem die Fehlermeldung


Wir gehen davon aus, dass der lokale Systemadministrator Ihnen die Regeln erklärt hat. Normalerweise läuft es auf drei Regeln hinaus: #1) Respektieren Sie die Privatsphäre anderer. #2) Denken Sie nach, bevor Sie tippen. #3) Mit großer Macht kommt große Verantwortung. sudo: Zum Lesen des Passworts ist ein Terminal erforderlich; verwenden Sie entweder die Option -S, um aus der Standardeingabe zu lesen oder richten Sie das Askpass-Hilfsprogramm ein sudo: Ein Passwort ist notwendig
System ist Debian 11 Bullseye

Was kann man da noch machen ?

Grüße

Chrsitian
FHEM auf DELL Thinclient, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway+Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem TC und da geht noch mehr

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Otto123

Hi,
Zitat von: cs-online am 28 November 2025, 20:56:22ich habe genau das gleiche Problem,
Du meinst Du willst aus fhem heraus Befehle auf der gleichen Maschine mit sudo ausführen? Das hatte ich hier mal aufgeschrieben.

Zitat von: cs-online am 28 November 2025, 20:56:22Ein su fhem macht genau gar nichts, der prompt bleibt beim User, der angemeldet ist. Ein Userwechsel über das System ging, ebenso das anmelden des Users fhem mit dem vergebenen Passwort.
Das verstehe ich nicht, klingt irgendwie verwirrend. Bei su fhem sollte er nach dem Passwort fragen.

Allerdings kann man auch ohne fhem ein Passwort zu geben als user fhem arbeiten:
sudo -su fhem
Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

cs-online

Hallo Otto,

ich habe Probleme mit dem Start meiner beiden EBUSD-Services. Das war schon auf dem RPI so und das ist leider nun auch unter Proxmox, FHEM auf einer VM mit DebianEDU 11, alles auf einem Dell Thinclient so. Irgendwas beisst sich hier halt. Von Hand einmal den Service neu angestartet mit "systemctl start ebusd", dann fängt sich das meist. Ich hatte auf dem RPI zwei SERVICED-Devices, eines für jede Ebusd Instanz. Konnte ich da so anstarten. Nun auf dem TC kommt immer der Fehler:

Wir gehen davon aus, dass der lokale Systemadministrator Ihnen die Regeln erklärt hat. Normalerweise läuft es auf drei Regeln hinaus: #1) Respektieren Sie die Privatsphäre anderer. #2) Denken Sie nach, bevor Sie tippen. #3) Mit großer Macht kommt große Verantwortung. sudo: Zum Lesen des Passworts ist ein Terminal erforderlich; verwenden Sie entweder die Option -S, um aus der Standardeingabe zu lesen oder richten Sie das Askpass-Hilfsprogramm ein sudo: Ein Passwort ist notwendig
Ich habe mittels "visudo /etc/sudoers" ergänzt:

fhem ALL=(ALL) NOPASSWD: /usr/bin/systemctl
ein "which systemctl" hat den Pfad ausgegeben.

Ich habe ohne PW vorher probiert, ich habe, wie mein Vorredner, auch ein PW vergeben, ich habe x-mal neu gestartet...

Terminal startet mit "root@fhem", wenn ich "su fhem" eingebe, passiert nichts, es kommt wieder "root@fhem". Ein "sudo -su fhem" gibt dann ein "fhem@fhem:/root$". Eine PW-Abfrage kommt in keinem der Fälle...

Ich kenne mich nur knapp oberflächlich mit Linux aus, ich blicke hier nicht mehr durch... Bin für jede Hilfe dankbar !

Grüße

Christian
FHEM auf DELL Thinclient, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway+Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem TC und da geht noch mehr

Otto123

Hallo Christian,

ich zitiere mal explizit meinen Text
Zitat/usr/sbin -> für alles im Verzeichnis
/usr/sbin/service * -> für alle Parameter
/usr/sbin/service apache2 * -> für alle weiteren Parameter
/usr/sbin/service apache2 reload -> genau nur hierfür
Wirklich so schwierig? Ich würde es so versuchen:
fhem ALL=(ALL) NOPASSWD: /usr/bin/systemctl *

Übrigens:
ZitatIch habe mittels "visudo /etc/sudoers" ergänzt:
macht "man" nicht ;) - aber egal.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz