web-dev-qa-db-ja.com

すべてのユーザーまたは特定のユーザーの書き込み権限でUSBドライブをマウントします

同様の質問がありますが、克服できない特定の問題があります。

私は持っています:

  • HDDは2つのパーティションに分割されています。 /dev/sdb1および/dev/sdb2sdb1はNTFSであり、必要ありません。 fat32であるsdb2が必要です。
  • Ubuntu 12.04.1 LTS(サーバー)

が欲しいです:

最終的に、ユーザーmediaのアクセス権(rw)を持つパーママウント/dev/sdb2から/home/storageが必要です。

私が直面している問題:

1)コマンドラインから手動マウントを使用します。

私が使うだけなら

server# Sudo mount /dev/sdb2 /home/storage

マウントされますが、/home/storageは所有者およびグループとしてルートを受け取り、mediaユーザーがそこに書き込むことを許可しません。

ユーザーとしてmountなしでSudoコマンドを使用する場合media-許可されていません。ルートだけがマウントを使用できると言います。

オプションでmountを使用すると:server# Sudo mount /dev/sdb2 /home/storage -o umask=000必要なものが得られます。もちろん、ストレージフォルダーは誰でも書き込み可能になるため、少しやり過ぎです。 しかし-それは手動でマウントされます-今、私はそれを再起動するたびに再マウントする必要があります。

2)再起動時に再マウント-fstabを使用

したがって、リブートするたびにfstabを使用してこのパーティション(/dev/sdb2)をマウントすれば大丈夫だと思いました。追加したfstab行:

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8,noauto 0 0

blkidでuuidを取得しました。 fs type auto私は数回変更しました... vfatも試してみましたが、再起動時に常に(考えられるように)fstabをメッセージ(ログから取得)で処理するとubuntuは停止します。

fsck from util-linux 2.20.1 /dev/sda5: clean, 120559/10969088 files, 19960144/43861504 blocks mount: unknown filesystem type 'static' mountall: mount /etc/fstab: [772] terminated with status 32 mountall: Filesystem could not be mounted: /etc/fstab: Skipping /etc/fstab: at user request

また、Sudo mount -aは実際には何もしません。

何が間違っていますか?私は何かを台無しにしたと思う:)

更新:

どうやら-fstabは静的ドライブのマウントのみを保持し、USBのようなものは保持しないようにします。ネット上で成功談を投稿しているすべての人々とこれがどのように機能するのか困惑しています...

しかし、これが不可能な場合-再起動するたびにUSBを再マウントする方法を知りたい... fstabではない場合-方法よりも:)

22
GeekSince1982

あなたの問題はあなたが設定した許可に関するもののようです。 FAT/FAT32フォーマットのドライブは、ファイルのアクセス許可をサポートしていません。すべてのアクセス許可は、ドライブのマウント方法によって決まります。あなたが許可を開くと、あなたが

server# Sudo mount /dev/sdb2 /home/storage -o umask=000

リブート時に自動マウントしないのは

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8, -->noauto<-- 0 0

「noauto」は、システムが起動して/ etc/fstabファイルを解析するときに、これを自動的にマウントしないようにします。そのオプションを削除すると、起動時にマウントされます。 chmodでマウントされたマウントポイントにアクセス許可を設定するか、/ etc/fstabでそれらを指定できます。

メディアユーザーにアクセスする必要がある場合は、アクセス許可を764に設定し、セキュリティグループに追加できます。ルートは常にすべてにアクセスできます。

適切なファイル許可の例については、 http://www.linux.org/threads/file-permissions-chmod.4094/ を参照してください

ちなみに、bodhi.zazenは良い点を指摘しましたFATを使用する必要がある理由はありますかそうでない場合は、データをバックアップし、Linuxネイティブファイルシステムを使用します。その後、所有権と許可を設定できます。

25
CacheXT

マウントオプションGID =またはUID =で上書きされない限り、マウント時のマウントポイントの所有者とアクセス許可は、マウントされるファイルシステムツリーのものになります。

したがって、/ dev/sdb1にユーザーが所有するext4ファイルシステム(バックアップなど)が含まれている場合、ユーザーはマウントが成功するとマウントポイントの所有者になります。

まず、マウントポイントとして機能する空のフォルダー「バックアップ」があり、ルートが所有しています。

# ls -alR /mnt
/mnt/:
drwxr-x---  5 root root 4096 May 30 20:59 ./
drwxr-xr-x  3 root root 4096 Dec  5  2015 ../
drwx------  2 root root 4096 Jan  1 07:45 backup/

/mnt/backup:
drwx------  2 root root 4096 Jan  1 07:45 .
drwxr-x---  5 root root 4096 May 30 20:59 ..

ここで/ dev/sdb1をマウントします(読み取り専用)

# mount -o ro /dev/sdb1 /mnt/backup

見てみましょう...

# ls -alR
/mnt/:
drwxr-x---  5 root root 4096 May 30 20:59 ./
drwxr-xr-x  3 root root 4096 Dec  5  2015 ../
drwx------  2 user user 4096 Jan  1 07:45 backup/

/mnt/backup:
drwx------  2 user user 4096 Jan  1 07:45 .
drwxr-x---  5 root root 4096 May 30 20:59 ..
-rw-------  1 user user 252076021760 Jun  9 21:11 backup.tar

空のドライブがあり、「ユーザー」のディスク容量の拡張として「ユーザー」用にマウントする場合は、ドライブをルートとしてマウントし、マウントのルートを「ユーザー」に変更してアンマウントします。

次回ファイルシステムがマウントされるとき(rootまたはfstabによる誰か)、マウントの所有者は 'user'になります。

4
user555425

実行することもできます

Sudo chmod 0777 /home/storage

FATドライブには権限がないため、Linuxはマウントポイントの権限をドライブ全体に適用します。

2
Zane Hooper