• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Gelöst sudo: unable to execute (Debian 12 Server)

Stimmt, mit Absicht. wenn Root-Rechte gebraucht werden, dann halt mit sudo.
Das ist *buntu-Denkweise. sudo verwendet man dann, wenn es entsprechend konfiguriert ist (was bei Dir nicht der Fall ist, denn "%sudo ALL=(ALL:ALL) ALL" ist leider weit verbreiteter Schwachsinn). Außerdem arbeitet sudo nicht in einer vollständigen root-Umgebung, und daher ist
wenn ein Root-PW hinterlegt ist, dann funzt was anderes nicht mehr so gut
keine akzeptierbare Erklärung. Ohne entsprechende sudo-Konfiguration meldet man sich mit su - als root an, um entsprechende Tätigkeiten auszuüben.

Weiß jemand, was der Stern oder das Ausrufezeichen da ausmacht?
man shadow: If the password field contains some string that is not a valid result of crypt(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means).

lrwxrwxrwx 1 root root 4 5. Jan 2023 /usr/bin/sh -> dash
Was ergibt: ls -l /usr/bin/bash
 

susejunky

Moderator
Teammitglied
Hallo @EmmJay ,

Habe nur ein einfaches Debian 12 via NetInst installiert
ich verwende ausschließlich openSUSE Tumbleweed und ohne sudo. Deswegen kann ich Dir nur sehr eingeschränkt weiterhelfen.

Trotzdem nachfolgend ein paar Hinweise. Vielleicht helfen sie Dir weiter:

su - will nicht funktionieren
Code:
chef@dell:~$ su -
Passwort:
su: Fehler bei Authentifizierung
Ich vermute, dass die in Beitrag #16 gegebene Erklärung zutrifft.

Was sudo su - für einen Mehrwert bringen soll, erschließt sich mir nicht. Ich würde entweder ein Kennwort für "root" vergeben und su - verwenden oder sudo korrekt konfigurieren und dann verwenden.

Passt das mit #!/bin/bash und so überhaupt?
Wenn #!/bin/bash auf eine Shell verweist, sollte das OK sein. Ob tatsächlich bash verwendet wird, hängt davon ab, ob das Ziel tatsächlich bash oder ein Link auf eine andere Shell (z.B. dash, csh, ...) ist.

PAM verkonfiguriert? Schau mit einem passenden journalctl-Befehl im Systemlog nach, ob dazu etwas zu finden ist.
Meines Erachtens durchaus ein hilfreicher Hinweis ...

Viele Grüße

susejunky
 
Code:
lrwxrwxrwx   1 root root    7 11. Jun 2023  bin -> usr/bin
...
Der symlink setzt tiefer an
Danke Dir!
Das erklärt auch, warum in Debian 12 der Ort /bin/bash per whereis-Kommando nicht angezeigt wird.

@EmmJay
Code:
chef@dell:~$ ls -al /home/chef/.local
(…)
-rwxr-xr-x 1 chef chef 3703 19. Jun 08:44 backup.sh
Probiere doch bitte mal, dein Skript per bash [file] zu starten:
Code:
bash /home/chef/.local/scripts/backup.sh
bzw.
Code:
sudo bash /home/chef/.local/scripts/backup.sh
 
Zusätzlich zum Befehl ganz unten im Beitrag 21 hätte ich gerne noch:
Code:
hexdump -C /home/chef/.local/scripts/backup.sh | head -10
 
Hallo allerseits!

wie gewünscht:
Code:
chef@dell:~$ hexdump -C /home/chef/.local/scripts/backup.sh | head -10
00000000  23 21 2f 62 69 6e 2f 62  61 73 68 0d 0a 62 61 6b  |#!/bin/bash..bak|
00000010  6f 6c 64 3d 2f 68 6f 6d  65 2f 63 68 65 66 2f 62  |old=/home/chef/b|
00000020  61 63 6b 75 70 2f 70 61  70 65 72 6c 65 73 73 2f  |ackup/paperless/|
00000030  62 61 63 6b 75 70 5f 6f  6c 64 2e 7a 69 70 0d 0a  |backup_old.zip..|
00000040  62 61 6b 6e 65 77 3d 2f  68 6f 6d 65 2f 63 68 65  |baknew=/home/che|
00000050  66 2f 62 61 63 6b 75 70  2f 70 61 70 65 72 6c 65  |f/backup/paperle|
00000060  73 73 2f 62 61 63 6b 75  70 5f 6e 65 77 2e 7a 69  |ss/backup_new.zi|
00000070  70 0d 0a 6c 6f 67 66 69  6c 65 3d 2f 68 6f 6d 65  |p..logfile=/home|
00000080  2f 63 68 65 66 2f 2e 6c  6f 63 61 6c 2f 6c 6f 67  |/chef/.local/log|
00000090  73 2f 64 61 74 61 73 79  6e 63 2e 6c 6f 67 0d 0a  |s/datasync.log..|

Das Script wurde mit Nano erstellt, bin deswegen davon ausgegangen, dass mit CrLF und so alles seine Richtigkeit hat

Code:
chef@dell:~$ ls -l /usr/bin/bash
-rwxr-xr-x 1 root root 1265648 23. Apr 2023  /usr/bin/bash
 
Du verwendest eine DOS-/Windows-Datei (Zeilenende: x'0d0a'). Die Bash verlangt eine UNIX-Datei (Zeilenende: X'0a'). Konvertiere die Datei (z. B. mit dos2unix), dann wird es passen.

Dein Editor ist offenbar falsch eingestellt.
 
Hammermäßig! Volltreffer!
Ich hatte tatsächlich Teile des Scripts in Windows bearbeitet (mehrere Fenster und so), weil mein Paperless-Server mangels GUI nicht allzuviel Bequemlichkeit bietet. War aber auch der Meinung, dass wenn ich die Scripts dann in Nano nochmal Zeile für Zeile durchgehe, dass dann keine falschen Zeichen etc. drin bleiben. Pustekuchen, die Zeilenschaltung hat Nano offenbar nicht ausgenommen.
Das war eine schwierige Geburt und ich bin Euch allen für die Unterstützung dankbar!
 
Oben