Stránka 1 z 2

Automatické spuštění i se SUDO

Napsal: 11 led 2018, 19:13
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.

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

Napsal: 11 led 2018, 21:36
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 ...

.

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

Napsal: 11 led 2018, 22:33
od Ventero1
Doplněno - upraveno a opravena chyba v nastavení spustitelnosti.

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

Napsal: 13 dub 2018, 08:13
od bambulko68
nemozem si pomoct, ale mne sa nikdy nepodarilo nastavit, aby sa nejaky script dal spustit bez toho, aby si pytal root heslo :'(

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

Napsal: 13 dub 2018, 19:02
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.

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

Napsal: 16 dub 2018, 06:41
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

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

Napsal: 26 dub 2018, 12:52
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

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

Napsal: 26 dub 2018, 21:32
od Ventero1
Me to stale funguje, tak jak jsem popsal ...

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

Napsal: 26 dub 2018, 21:39
od bambulko68
S tým, čo som doplnil, mi to už fičí OK

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

Napsal: 27 dub 2018, 07:36
od Ventero1
Mozna je to tim, ze jsem to testoval na Xubu 14.04 a ty na Mint 18.3 (16.04 based).