データ
- このマシンのオペレーターユーザーに自分のcifs共有をマウントしてもらいたい
-
sudoers
ファイルにはすでに/bin/mount -t cifs //*/* /media/* -o username=*
が含まれています すべてのオペレーターのためのコマンド - ユーザーに
cifs
をマウントしてもらいたい 2回ではなく、1回だけパスワードを入力するスクリプトを介して共有します。 - sudoパスワードとcifsパスワードは同じです。
私がすでに持っているもの
このスクリプトは機能します:
#!/bin/bash
sudo 'mount -t cifs //192.168.1.1/home /media/$USER/home -o username=$USER'
…ただし、ユーザーは同じパスワードを2回入力する必要があります!
-
sudo
に1回 - マウント自体に1回
これも機能します:
#!/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'
…ただし、これには、すべてのオペレーターユーザーがsudo sh
できるようにする必要があります。 (主要なセキュリティ問題)
質問
cifs共有をbashにマウントする方法 ¹sh
を入れずに sudoers
で ファイル永続的/一時ファイルの作成も???
注1: Python、Perl、C、Go、…お願いしますか?
注2: sudoers
からパスワードを削除できることはわかっています ファイルですが、利便性を損なうことなく、セキュリティを緩めるのではなく、強化しようとしています…
承認された回答:
代わりに、sudoをsudo script
として使用する呼び出しをユーザーに行わせる必要があります。 。スクリプトがrootとして実行されているかどうかを確認し、要求されていない場合は
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root, use sudo "$0" instead" 1>&2
exit 1
fi
ユーザーのパスワードを取得しようとしないでください。