(gelöst) Befehl als root

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
asmate
Beiträge: 8
Registriert: 06.07.2014 17:00:22

(gelöst) Befehl als root

Beitrag von asmate » 06.08.2018 19:47:55

Hallo,
ich hab mir ein Script unter Linux Mint geschrieben was dort auch ohne Probleme lief.
Nun bin ich auf Debian Testing umgestiegen und komme einfach an einer Stelle nicht weiter.
In Debian ist root und Benutzer getrennt und ich habe den Benutzer auch keine root Rechte gegeben und so bleibt jetzt mein Script an der "su" Stelle stehen.

Code: Alles auswählen

# wenn neue Daten da dann in den Ordner cd build_QMapShack wechseln und mit
	cd /media/DATEN/QMapShack/build_QMapShack
	make
	su
	checkinstall -D --pkgname=qmapshack --pkgversion=$datum --arch amd64 --backup=no
	echo "$(tput bold)$(tput setaf 1)Update abgeschlossen$(tput sgr0)"
	read ENDE
	exit 0;;
Nach Eingabe root PW bin ich zwar im richtigen Ordner aber "checkinstall" wird nicht abgearbeitet.
Da meine Kentnisse auf dem Gebiet auch sehr dürftig sind komm ich im Moment nicht weiter.
THX für Infos, Gruß
Zuletzt geändert von asmate am 07.08.2018 17:40:23, insgesamt 1-mal geändert.

Benutzeravatar
TRex
Moderator
Beiträge: 6060
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Befehl als root

Beitrag von TRex » 06.08.2018 19:55:58

Das hat so garantiert noch nie funktioniert. Du öffnest bei "su" ne neue Shell, und wenn die beendet ist, gehts mit dem Script weiter.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!

asmate
Beiträge: 8
Registriert: 06.07.2014 17:00:22

Re: Befehl als root

Beitrag von asmate » 06.08.2018 20:05:08

Unter Mint (Ubuntu) geht folgender Code

Code: Alles auswählen

# wenn neue Daten da dann in den Ordner cd build_QMapShack wechseln und mit
	cd /media/DATEN/QMapShack/build_QMapShack
	make
	# ein neues Paket bauen, ins System dann wieder mit
	sudo checkinstall -D --pkgname=qmapshack --pkgversion=$datum --arch amd64 --backup=no 
	echo "$(tput bold)$(tput setaf 1)Update abgeschlossen$(tput sgr0)"
Das würde auch unter Debian gehen aber dazu müsste ich den Benutzer root Rechte geben aber so hab ich mein Debian nicht eingerichtet, Benutzer darf nichts.

Benutzeravatar
TRex
Moderator
Beiträge: 6060
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Befehl als root

Beitrag von TRex » 06.08.2018 20:09:06

Achso, du hast su einfach nicht verstanden - ist okay. Wenn du sudo durch su ersetzen willst, dann verwende:

Code: Alles auswählen

su -c "checkinstall -D --pkgname=qmapshack --pkgversion=$datum --arch amd64 --backup=no"
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!

uname
Beiträge: 9542
Registriert: 03.06.2008 09:33:02

Re: Befehl als root

Beitrag von uname » 07.08.2018 08:18:20

Wäre ein schönes Beispiel gewesen, um mal Debiansudo korrekt anzuwenden. Bei Ubuntu bzw. Mint (Ubuntu) darf sudo ja immer alles, wodurch es dort auch nie (!!!) Rückfragen geschweige denn Probleme gibt.

Unter Debian vielleicht so. Natürlich muss installiert sein und die Datei sollte mit "visudo" editiert werden:
/etc/sudoers

Code: Alles auswählen

username ALL=(root) NOPASSWD:/usr/bin/checkinstall
Und dann als "username":

Code: Alles auswählen

...
sudo /usr/bin/checkinstall -D --pkgname=qmapshack --pkgversion=$datum --arch amd64 --backup=no 
...
Bitte bei sudo vollständige Pfade verwenden. Vielleicht kann das mal jemand verifizieren. Ich nutze eigentlich kein Debiansudo.
Falls man kein Problem mit "Sicherheitslücken" hat kann man natürlich auch die sudo-Konfiguration von Ubuntu übernehmen ;-)

asmate
Beiträge: 8
Registriert: 06.07.2014 17:00:22

Re: Befehl als root

Beitrag von asmate » 07.08.2018 17:38:18

THX für de Antworten.
Habe das von @TRex umgesetzt.

Gehe ich auch recht in der Annahme das nach dem Abarbeiten der Zeile ich dann wieder normaler User bin also root wieder abgemeldet ist?

Ansonsten setze ich das mal auf gelöst, Gruß und noch schöne Woche.

uname
Beiträge: 9542
Registriert: 03.06.2008 09:33:02

Re: (gelöst) Befehl als root

Beitrag von uname » 07.08.2018 19:24:40

Ja. Nur die su-Zeile wird als root ausgeführt.

Antworten