Vraag Autorun-vensters delen mount-script na inloggen als root


Ik heb overal gezocht naar een oplossing waarmee ik CIFS automount script kan uitvoeren na inloggen met een vertraging van ongeveer 20 seconden. Wat ik heb geprobeerd. Het script aan visudo toegevoegd:

rait ALL=(ALL) NOPASSWD: /home/rait/Downloads/Testing/mount.sh, /bin/mount

Hierna is het script toegevoegd aan Opstarttoepassingen, maar het werkt niet. Ook probeerde ik het toe te voegen aan .bash_profile en rc.d. In rc.d werkt het, maar dat wordt niet uitgevoerd na het inloggen. Ik heb het nodig na het inloggen omdat het via GUI mensen om hun AD-gebruiker en wachtwoord zal vragen. Het script zelf ziet er als volgt uit:

    #!/bin/bash
MOUNTDIR=Public
DIRNAME=Avalik
DOMAIN=Domain
SERVER=server_adr
SHARE=shares

if [ ! -d ${HOME}/Documents/${DIRNAME} ]; then
    mkdir ${HOME}/Documents/${DIRNAME}
fi

# get the windows username
wUsername=`zenity --entry --width=300 --title="Mount $MOUNTDIR" --text="Kasutaja
nimi:"`
if [ $? -ne 0 ]; then
    exit 1
fi

# get the windows password
wPassword=`zenity --entry --width=300 --title="Mount $MOUNTDIR" --text="Parool:"
 --hide-text`
if [ $? -ne 0 ]; then
    exit 1
fi

mount -t cifs //$SERVER/$SHARE ${HOME}/Documents/${DIRNAME} -o username=${wUsern
ame},password=${wPassword},domain=${DOMAIN}

if [ $? -eq 0 ]; then
    zenity --info --title="Mount OK!" --text="Mount OK!"
else
    zenity --error --title="Mount Failed!" --text="Mount Failed!"
fi

Ik hoop dat iemand weet hoe het moet.

PS: Nadat ik de visudo nu heb bewerkt, wordt er naar het root-wachtwoord gevraagd nadat ik de terminal heb geopend. Dus terminal vraagt ​​me om een ​​sudo-wachtwoord wanneer ik het ooit open na inloggen. Zodra ik de regel verwijder die het script in visudo zou moeten draaien, vraagt ​​het niet meer om een ​​wachtwoord.

Help alstublieft :)


1
2018-05-14 11:55


oorsprong




antwoorden:


Ik weet niet of dit een oplossing is voor je probleem, maar je zou kunnen proberen om het te gebruiken setuid vlag. Om dit te doen, moet je script eigendom zijn van root (chown root:root <filename>) en dan chmod +s <filename> het.

Natuurlijk moet je voorzichtig zijn met welke programma's je de setuid root maakt, want als het programma een beveiligingsfout heeft zodat gebruikers het willekeurige code kunnen laten uitvoeren, kan het misbruikt worden om volledige root-toegang te verkrijgen.

Wat betreft de automatische start na inloggen, denk ik dat inderdaad "Startup Applications" de plaats is om dit te plaatsen.


0
2018-05-14 12:11



Het script heeft rooteigendom en ik wil niet dat setuid eerlijk is. Ik wil gewoon dat het wordt uitgevoerd in sudo na het inloggen en verder niets. Het script bevindt zich in Opstarttoepassingen en de opdracht om het uit te voeren is bash / script / dir / - mYzk
Ik heb zelfs ~ / .profile getest, maar er gaat niets open. Het wachtwoord promt niet open of zo. - mYzk
Opgelost door dit toe te voegen aan sudoers:% sudo ALL = (ALL) NOPASSWD: / bin / mount, / bin / umount En de Opstarttoepassingen commando is bewerkt dus het was /home/user/script/path/script.sh en het begon te werken. Ook toegevoegd sudo voor de mount-opdracht in het script. :) Bedankt voor je help guys :) - mYzk


Opgelost door dit toe te voegen aan sudoers:

%sudo   ALL=(ALL) NOPASSWD: /bin/mount, /bin/umount

En de Opstarttoepassingen commando is bewerkt dus het was /home/user/script/path/script.sh en het begon te werken. Ook toegevoegd sudo voor de mount-opdracht in het script.

Bedankt voor je help guys :)


0
2018-05-15 06:34