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


25

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

私が持っています:

  • HDDは2つのパーティションに分割されています。/dev/sdb1および/dev/sdb2sdb1NTFSであり、私はそれを必要としません。sdb2fat32 が必要です。
  • Ubuntu 12.04.1 LTS(サーバー)

が欲しいです:

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

私が直面している問題:

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

でuuidを取得しましたblkid。fsタイプautoiは数回変更されました...試してみ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を使用しない場合-どのように:)


1行だけでなく、すべてのfstabをレビュー用に投稿する必要があると思います。適切な権限については、実行id mediaおよび使用uid=およびgid=and umask=027オプション。
mikewhatever

1
FATを使用する必要がある理由はありますか?そうでない場合は、データをバックアップし、Linuxネイティブファイルシステムを使用します。その後、所有権と許可を設定できます。
パンサー

@mikewhatever感謝しますが、実際には奇妙に働いています...まあ..そうではありません:)
GeekSince1982

@ bodhi.zazenはもっと読みました... ubuntu 12のような継ぎ目fstabには静的ドライブ用のマウントのみが必要です。ないusb
...- GeekSince1982

回答:


27

あなたの問題はあなたが設定した許可に関するもののようです。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ネイティブファイルシステムを使用します。その後、所有権と許可を設定できます。


1
-o umask=000それは...ですか!!ありがとうございました!
アントニー

4

マウントオプション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'になります。


3

実行することもできます

sudo chmod 0777 /home/storage

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


1
決してすべてのユーザーのためのR + W + X権限を適用しない。これは......、実行、削除、ストレージ、およびその内容を変更し、アクセスに誰か何かをできるようになる
怒っている84

1
ほとんどのオペレーティングシステムでは、USBドライブがマウントされているため、すべてのユーザーが内容を変更できます。これが問題になる可能性がある状況でサーバー管理者である場合、0777の意味を説明する必要はありません。
ゼーンフーパー

すべてのユーザーを許可するために、ドライブがデフォルトでマウントされることはありません。これが、グループと権限がある理由です。人々は、単により良い知らずにコピーして貼り付けられますよう、より良いセキュリティのmodを表示その、常に安全ないずれかの方法
怒っている84

-1

NTFSを使用してLinuxボックスに外部ストレージデバイスを接続している場合は、ファイルシステムがクリーンであることを確認してください。

ストレージをLinuxボックスにマウントする前に:

  1. 以下のコマンドを実行します

    ntfsfix /dev/storagedevice ( like sdb1 or sdc1 )  
    
  2. Linuxボックスを再起動します

  3. 次のコマンドを実行して、外部ストレージをマウントします。

    mount -o rw /dev/storagedevice /media/ 
    

    または

    mount -o rw /dev/storagedevice /mnt/ 
    

    または、GUIを介してストレージデバイスをマウントします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.