非rootユーザーがデバイスをマウント/アンマウントできるようにする必要があります。私はUNIXに関してはまったくの初心者なので、私のためにそれをおろそかにしてください。
私はinterwebz全体を調べて答えを見つけましたが、誰もが同じ答えを出しているようです。/etc/fstab
を変更して、user
オプション(またはusers
、両方を試しました)。私はそれをしました、そしてそれはまだmount: only root can do that
と言います。
これが私のfstabの内容です。
#/ etc/fstab:静的ファイルシステム情報。 # # 'vol_id --uuid'を使用して、 #デバイスの汎用一意識別子を出力します;これは、デバイスに名前を付けるためのより堅牢な方法としてUUID =とともに使用できます #。これは、ディスクが追加および削除されても機能します。 fstab(5)を参照してください。 # # proc/proc proc defaults 0 0 #/インストール中に/ dev/mapper/minicc-rootにありました UUID = 1a69f02a-a049-4411-8c57-ff4ebd8bb933/ext3 relatime、errors = remount-ro 0 1 #/ bootはインストール中に/ dev/sda5にありました。 -1267-44c4-8788-e1354d71faf5/boot ext2 relatime 0 2 #インストール中に/ dev/mapper/minicc-swap_1にスワップがありました UUID = 0bb583aa-84a8-43ef-98c4-c6cb25d20715なしswap sw 0 0 ..____。]/dev/scd0/media/cdrom0 udf、iso9660 user、noauto、exec、utf8 0 0 /dev/scd0/media/floppy0 auto rw、user、noauto、exec 、utf8 0 0 /dev/sdb1/mnt/sdcard auto auto、user、rw、exec 0 0
サムドライブのパーティションが/dev/sdb1
と表示されます。私のfstab
は問題なく設定されていると思いますが、他の投稿の誰もが、このエントリがfstabファイルにあると、実際にmount
コマンドを呼び出す方法について言及し損ねているようです。ここが私の問題かもしれません。ドライブのマウントに使用するコマンドは次のとおりです。
$ mount /dev/sdb1 /mnt/sdcard
/bin/mount
はrootが所有し、rootグループに属しており、4755の権限を持っています。/bin/umount
はrootが所有し、rootグループに属しており、4755の権限を持っています。/mnt/sdcard
は私が所有し、私のグループの1つに属しており、0755の権限があります。
私のマウントコマンドはSudo
を使用すると問題なく機能しますが、Sudo
なしでこれを実行できるようにする必要があります(PHPから実行できるようにする必要があります= Shell_exec
を使用したスクリプト)何か提案はありますか?
ボリュームを通常のユーザーとしてマウントする場合は、マウントポイント名を指定するだけで済みます。
mount /mnt/sdcard
/etc/fstab
ファイルは、使用されるデバイスを提供します。
/dev/sdb1
の所有権をrootに変更してみてください:
chown root:root /dev/sdb1
とあなたのfstab
行
/dev/sdb1 /mnt/sdcard auto rw,user,noauto,exec,utf8 0 0
そして、あなたのmount
を次のようにしてください:
mount /dev/sdb1