UNIX-マウント:ルートのみがそれを行うことができます


15

非rootユーザーがデバイスをマウント/アンマウントできるようにする必要があります。UNIXに関しては、私はまったくの初心者です。

私は答えを見つけるために、すべてのtehのinterwebz上で見てきたし、誰もが変更することで、同じ1、与えているようだ/etc/fstabと、そのデバイスを含めるuserオプション(またはusers、その両方を試してみましたが)。私はそれをしました、そして、それはまだ言いmount: only root can do thatます。

ここに私のfstabの内容があります:

#/ etc / fstab:静的ファイルシステム情報。
#
# 'vol_id --uuid'を使用して、
# 端末; これは、デバイスを命名するためのより堅牢な方法として、UUID =とともに使用できます。
#ディスクが追加および削除されても機能します。fstab(5)を参照してください。
#
#                
proc / proc procデフォルト0 0
#/インストール中に/ dev / mapper / minicc-rootにあった
UUID = 1a69f02a-a049-4411-8c57-ff4ebd8bb933 / ext3 relatime、errors = remount-ro 0 1
#/ bootはインストール中に/ dev / sda5にありました
UUID = 038498fe-1267-44c4-8788-e1354d71faf5 / boot ext2 relatime 0 2
#インストール中にスワップが/ dev / mapper / minicc-swap_1にあった
UUID = 0bb583aa-84a8-43ef-98c4-c6cb25d20715 none 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設定されていると確信していますが、他の投稿の誰もが、mountこのエントリがfstabファイルにあると、実際にどのようにコマンドを呼び出すかについて言及していないようです。私の問題はここにあると思います。ドライブのマウントに使用するコマンドは次のとおりです。

$ mount /dev/sdb1 /mnt/sdcard

/bin/mountルートが所有し、ルートグループ内にあり、4755のアクセス許可があります。
/bin/umountルートが所有し、ルートグループ内にあり、4755のアクセス許可があります。
/mnt/sdcard私が所有し、私のグループの1つに属し、0755の権限を持っています。

を使用する場合sudo、私のマウントコマンドは正常に動作しますが、これをせずにこれを実行できるsudo必要があります(PHPスクリプトからを使用して実行できるようにする必要がありますshell_exec)。助言がありますか?


1
「teh interwebz」のような表現は使用しないでください。それは気を散らすだけです。
ゲオルクシェーリー

9
私は、誰かが怠と無知から「u」、「ur」、「any1」などを使用するのを見るよりも、ユーモアと個性が注入された「teh interwebz」を見たいと思います。私のポイントは違いがあり、文脈に基づいて明らかだということです。
追って通知があるまで一時停止します。

回答:


17

通常のユーザーとしてボリュームをマウントする場合、マウントポイント名のみを指定する必要があります。

mount /mnt/sdcard

この/etc/fstabファイルは、使用されるデバイスを提供します。


2
または、デバイスをマウントしfstabてマウントポイントを提供できます。
追って通知があるまで一時停止します。

あは!私はコマンド構文に何か問題があると考えました。とても簡単だったことを嬉しく思います。ありがとう!!! デニスの回答もこれを示唆しており、問題を解決したはずですが、それが私の問題に対する最も直接的かつ記述的な解決策であったため、この投稿への回答を表彰しました。
Travesty3

7

の所有権/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

回答ありがとうございます!あなたの解決策も問題を解決したでしょうし、うまくいけばこの投稿を読んでいる他の人もあなたの他の提案によって助けられるでしょう。再度、感謝します!
-Travesty3

-1

自動オプションは混乱を招くと思います。noautoで置き換えます。


スタンドアロンの「auto」ではなく、「auto、user、rw、exec」の「auto」であることに注意してください。スタンドアロンの「自動」は使用するファイルシステムを検出するためのものであり、問​​題ないはずです。
いんちきキホーテ

いや、同じ問題。/ dev / sdb1 / mnt / sdcard auto noauto、user、rw、exec 0 0と言うように変更したfstabファイル。使用できません。提案してくれてありがとう。
Travesty3
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.