// mount samba directory
sudo mount -t cifs //$host/$path $mountpath -o username=$user,noauto,user,uid=1001,gid=1002,forceuid,forcegid
//mount remote ftp
echo $key | sshfs $user@$host: $mount -C -p $port -o idmap=user -o password_stdin
sudo 権限で最初のコマンドを実行する必要があります。それ以外の場合は、mount.cifs: permission denied: no match for XXXX found in /etc/fstab
プロンプトが表示されます。
しかし、私が実行する2番目のコマンドはsudo権限なしで成功します。
どちらのコマンドもリモートディレクトリをLinuxファイルシステムにマウントしますが、なぜ異なる動作をしますか?
セキュリティポリシーを確保するために、権限を持つユーザーがインストール作業を実行する必要があると思いましたが、誤解がありますか?
ユーザーはsudo権限を付与せずにファイルをマウントできますか?
答え1
これは特定のファイルシステムによって異なります。
sshfsはFUSE(ユーザースペースのファイルシステム)であり、スーパーユーザー権限は必要ありません。
CIFSはカーネルモジュールで、ルートが必要です。望むより:CIFSドライバはユーザーモードですか、それともカーネルモードですか?
一般ユーザーとして共有をマウントする場合にcifs
使用しますsudo
。望むより:ユーザーがCIFS共有をマウントできるsudoer仕様は何ですか?
しかもfuse-nfs
https://github.com/sahlberg/fuse-nfs