Data
- Chci, aby uživatelé operátora na tomto počítači připojovali své vlastní sdílené soubory CIF
sudoers
soubor již obsahuje/bin/mount -t cifs //*/* /media/* -o username=*
příkaz pro všechny operátory- Chci, aby uživatelé připojili
cifs
sdílet prostřednictvím skriptu zadáním hesla pouze jednou, nikoli dvakrát. - Heslo sudo a heslo CIF jsou totožné.
Co již mám
Tento skript funguje:
#!/bin/bash
sudo 'mount -t cifs //192.168.1.1/home /media/$USER/home -o username=$USER'
…ale vyžaduje, aby uživatelé zadali stejné heslo dvakrát!
- Jednou pro
sudo
- Jednou pro samotný držák
To by také fungovalo:
#!/bin/bash
echo -n Password:
read -s szPassword
echo $szPassword | sudo -S sh -c 'echo $szPassword | mount -t cifs //192.168.1.1/home /media/$USER/home -o username=$USER'
…to by ale vyžadovalo, abych všem uživatelům operátora umožnil sudo sh
(hlavní bezpečnostní problém)
Otázka
Jak připojit sdílení CIF v bash ¹ bez zadání sh
v sudoers
soubor ani vytvoření trvalého/dočasného souboru???
Poznámka 1: no python, perl, C, Go, … please?
Poznámka 2: Vím, že mohu odstranit heslo pomocí sudoers
soubor, ale Snažím se zpřísnit zabezpečení, nikoli ho uvolnit, aniž bych se vzdal pohodlí…
Přijatá odpověď:
Místo toho byste měli přimět uživatele, aby zavolal pomocí sudo jako sudo script
. stačí zkontrolovat, zda je skript spuštěn jako root, pokud ne, požádejte ho
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root, use sudo "$0" instead" 1>&2
exit 1
fi
Nepokoušejte se zachytit hesla svých uživatelů.
U balíčku „grub-efi-amd64-signed“ se nepodařilo nainstalovat cíl/?
Chybí vám nový soubor v Ubuntu 13.04?