スクリプトでmountコマンドを使用して、USBドライブをBashにマウントしています。 haldameonとautofsを無効にして、ドライブが自動マウントされないようにしました。BASH:root以外のユーザーのUSBドライブをマウントしても、ドライブへの書き込み権限が与えられない
すべてがルートで動作し、ルートで実行する場合は、ルート以外のアカウントに切り替えます。しかし、シャットダウンから非rootアカウントに入ってスクリプトを実行すると、ドライブはマウントされますが、書き込みコマンドは許可されません。ここで
は、いくつかの擬似コードです:オフにautofs、 挿入ドライブを手動haldaemon は、ディレクトリを使用して書き込むためにマウント 試みを実行するコンピュータには/ mnt/
エラー権限
ここで自動マウントコードを無効にします。ここで
#stop automounter
/etc/init.d/autofs stop
#stop hal daemon, this is the hardware abstraction layer
/etc/init.d/haldaemon stop
は、マウント・コードです:
echo "Copying Test Files to Drives"
#copy
cp $copyfile "/mnt/WHITE"
cp $copyfile "/mnt/GREEN"
cp $copyfile "/mnt/RED"
sync
sleep 2
またマウント、/etc/init.d/のためのコマンド:ここ
#WHITE---------------------------------------
if grep -qs '/mnt/WHITE' /proc/mounts; then
echo "WHITE Mounted re-mounting Unnecessary"
else
#check if the directories are already there and remove if necessary
if [ -d "/mnt/WHITE" ] ; then
rmdir "/mnt/WHITE"
fi
#create directory and mount by label
mkdir -p /mnt/WHITE
mount -L WHITE /mnt/WHITE
#check if the WHITE USB Drive is mounted to the correct directory
if [ -d "/mnt/WHITE" ] ; then
#check if USB is mounted by location
if grep -qs '/mnt/WHITE' /proc/mounts; then
echo "WHITE Mounted"
else
echo $errorstatus_white_mount
exit 1
fi
else
echo $errorstatus_white_mount
exit 1
fi
fi
は、エラーが発生したコピーコードがありますautofs stop、/etc/init.d/haldaemon stopはsudoersファイルにあります。
この許可の謎を助けてくれてありがとう。
:
具体的には、読み取り/書き込み権限を与え、または
読み取りとマウントは/ユーザに対してアクセス可能デバイスを作るだけでなく、書き込み、/mnt/WHITEのように見える? –
所有者:root、作成と削除。グループ:ルート、アクセスファイル。その他:アクセスファイル – bing281