Automatické spuštění i se SUDO

Zkušenosti, tipy a zlepšováky, které jsou příliš malé pro článek na webu.
Nehledejte zde odpovědi na obecné dotazy.
Zpráva
Autor
Uživatelský avatar
Ventero1
Příspěvky: 2763
Registrován: 31 říj 2016, 14:17
Bydliště: Sokolov, Olomouc

Automatické spuštění i se SUDO

#1 Příspěvek od Ventero1 »

Do vhodného umístění přidat vhodně pojmenovaný skript, např. /bin/skript.sh se zápisem bez použití sudo

Kód: Vybrat vše

#!/bin/bash

#vykonávaný modelový příkaz#
mousepad /home/uživatel/Plocha/text.txt
Tento skript je zkušební a pouze v textovém editoru otevře soubor text.txt a zobrazí jeho obsah. V praktickém využití bude příkaz obsahovat spíše start nějakého servisu, monitorovací utility apod.

V tomto případě se jedná o umístění ve složce, kde je třeba oprávnění pro přístup a je třeba použít sudo. Takže tvorba skriptu:

Kód: Vybrat vše

sudo mousepad /bin/skript.sh
otevře se prázdný soubor do kterého se zkopíruje výše uvedený zápis a uloží. V jiném prostředí či jiné distribuci může být textový editor ne mousepad, ale třeba gedit nebo nějaký jiný.

Nastaví se spustitelnost

Kód: Vybrat vše

sudo chmod a+x /bin/skript.sh
a nakonec se přidá /bin/skript.sh coby příkaz do aplikací po spuštění (autostart). V xfce Nastavení - Relace a spouštění - Automatický start - přidat. Zvolí se jméno, libovolně komentář a vyplní příkaz.

Je-li třeba příkaz nebo příkazy (skript může být i jako dávkový soubor) spustit jako sudo, tak je třeba přidat výjimku do/etc/sudoers:

Kód: Vybrat vše

sudo mousepad /etc/sudoers
na konec zápisu připsat

Kód: Vybrat vše

uživatel ALL=NOPASSWD: /bin/skript.sh
a sudo dopsat před příkaz přiřazený v autostartu

Kód: Vybrat vše

sudo /bin/skript.sh
Druhá varianta přidání výjimky je skrze terminálový editor Nano:

Kód: Vybrat vše

sudo visudo
Doplnit na konec zápisu, uložit (ctrl+o), potvrdit (enter) a ukončit (ctrl+x)

Ve složce /home/uživatel/.config/autostart/ se tak automaticky vytvoří spouštěč Skript.desktop, který má takový nebo podobný zápis:

Kód: Vybrat vše

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=Skript
Comment=
Exec=sudo /bin/skript.sh
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false
který pak zajišťuje spuštění po startu.
Naposledy upravil(a) Ventero1 dne 13 led 2018, 21:14, celkem upraveno 16 x.
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

menom
Příspěvky: 2757
Registrován: 12 pro 2012, 15:10

Re: Automatické spuštění i se SUDO

#2 Příspěvek od menom »

.
Ventero1 píše:Do vhodného umístění přidat vhodně pojmenovaný skript, např. /bin/skript.sh se zápisem bez použití sudo
Mohol si dat aj co osahuje /home/username/Plocha/text

nech to je kompletne ...

.
Naposledy upravil(a) menom dne 11 led 2018, 22:41, celkem upraveno 1 x.
.

Uživatelský avatar
Ventero1
Příspěvky: 2763
Registrován: 31 říj 2016, 14:17
Bydliště: Sokolov, Olomouc

Re: Automatické spuštění i se SUDO

#3 Příspěvek od Ventero1 »

Doplněno - upraveno a opravena chyba v nastavení spustitelnosti.
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

bambulko68
Příspěvky: 105
Registrován: 27 zář 2017, 11:44

Re: Automatické spuštění i se SUDO

#4 Příspěvek od bambulko68 »

nemozem si pomoct, ale mne sa nikdy nepodarilo nastavit, aby sa nejaky script dal spustit bez toho, aby si pytal root heslo :'(
Linux Mint Cinnamon 19 64-bit

West
Příspěvky: 323
Registrován: 20 kvě 2017, 11:02

Re: Automatické spuštění i se SUDO

#5 Příspěvek od West »

Mozno sa nedal spustit preto, lebo vsetky prikazy v tom skripte, ktore vyzaduju 'roota' je potrebne doplnit do 'sudoers' a nastavit im opravnenia pre uzivatela v 'sudoers'. Popisany skript funguje. Pouzivam v podstate rovnaky uz nejakych 10 rokov na primapovanie zdielanych adresarov zo servera, alebo NASu.

bambulko68
Příspěvky: 105
Registrován: 27 zář 2017, 11:44

Re: Automatické spuštění i se SUDO

#6 Příspěvek od bambulko68 »

aha. to je mozne. vyskusam

EDIT: Tak v mojom pripade mi stacilo pridat prikaz route do sudoers a funguje to super ;)
dakujem

EDIT2: tak nefunguje to :-/
do sudoers som pridal:

user ALL=NOPASSWD: /sbin/route
user ALL=NOPASSWD: /home/user/Skripty/SH/route.sh


a ani samotne sudo route nejde - pyta si heslo. moj script samozrejme tiez
Linux Mint Cinnamon 19 64-bit

bambulko68
Příspěvky: 105
Registrován: 27 zář 2017, 11:44

Re: Automatické spuštění i se SUDO

#7 Příspěvek od bambulko68 »

ha... nasiel som, kde je chyba v tomto navode ;)

nema byt:
uživatel ALL=NOPASSWD: /bin/skript.sh

ale napr:
uživatel ALL=(ALL) NOPASSWD: /bin/skript.sh

chybalo (ALL) ;)

...a dokonca to musi byt na konci suboru :-D
Linux Mint Cinnamon 19 64-bit

Uživatelský avatar
Ventero1
Příspěvky: 2763
Registrován: 31 říj 2016, 14:17
Bydliště: Sokolov, Olomouc

Re: Automatické spuštění i se SUDO

#8 Příspěvek od Ventero1 »

Me to stale funguje, tak jak jsem popsal ...
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

bambulko68
Příspěvky: 105
Registrován: 27 zář 2017, 11:44

Re: Automatické spuštění i se SUDO

#9 Příspěvek od bambulko68 »

S tým, čo som doplnil, mi to už fičí OK
Linux Mint Cinnamon 19 64-bit

Uživatelský avatar
Ventero1
Příspěvky: 2763
Registrován: 31 říj 2016, 14:17
Bydliště: Sokolov, Olomouc

Re: Automatické spuštění i se SUDO

#10 Příspěvek od Ventero1 »

Mozna je to tim, ze jsem to testoval na Xubu 14.04 a ty na Mint 18.3 (16.04 based).
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

Zamčeno