web-dev-qa-db-ja.com

LinuxでUSBドライブをマウントするときに書き込み権限を自動的に設定するにはどうすればよいですか?

Linux(CentOs4)に外部USBドライブをマウントすると、権限はデフォルトで読み取り専用に設定されます。コンピューターには外部ドライブを使用する必要のある複数のユーザーがいるため、すべてのユーザーにドライブ全体に対するrw権限を付与してください。また、コンピュータが誤ってシャットダウンされた場合に、ドライブをマウントできるようにしてほしいです。彼らはSudo mountを使用してドライブをマウントできますが、これは彼らに読み取り権限を与えるだけであり、私は明らかにSudo chmodを許可したくありません。

すべての新しい外部USBディスクが自動的にrw権限を取得するように変更できるデフォルト設定はありますか?

18
Jonas

全員のrwアクセスを有効にするには、mountコマンドのumask = 0オプションが重要です。

Sudo mount -o umask=0,uid=nobody,gid=nobody /dev/something /mnt/somewhere

umask = 0で十分です。明確にするためにuidとgidを使用しているため、必ずしも「ルート」の所有者が表示されることはありません。


@Tomの回答(/ etc/fstabエントリを書き込む)を使用すると、Sudoをスキップできます。そこで追加のオプションとしてumask = 0を書き込むと、両方の利点が得られます。

これを/ etc/fstabに入れます:

/dev/something /mnt/somewhere auto users,noatime,umask=0 0 0

あなたはただ走ることができます

mount /dev/something

誰もがすべてのファイルにアクセスできます。


詳細を知りたい場合は、テクニカルノートをご覧ください。

なので man mountは、「umask = 0」は、ファイルアクセスモードに追加のルールが適用されないことを保証しますと言います。 FATファイルシステム(USBディスクで最も広く使用されている)の場合、保存されているアクセスモードはありません。しかし、現在のプロセスにはいくつかのumask値が設定されています。ターミナルでumaskを実行するだけで確認できます。 mountはそれをデフォルトとして使用し、マウントされたディスク上のすべてのファイルからumask値のアクセスモードを削除します。最も広く使用されているumask値は(8進数)022-グループおよびその他の書き込みなし、027-グループ書き込みなし、その他のアクセスなしです。

17
temoto

/ etc/fstabにエントリを追加します。これは、数時間前にSeagate USBドライブに追加したエントリです。

UUID = 4ACC734ECC733375/media/Linux ext3 errors = remount-ro、defaults、users、noatime、nodiratime 0 0

ここで重要なのは、ユーザーがドライブをマウントおよびマウント解除できる「ユーザー」エントリです。

編集:これは特定のドライブで機能します-1つのエントリを持つallドライブで有効にできるかどうかはわかりません。

2
Tom

mountと入力します。これにより、現在の場所がわかります。これが私の出力です。

rick@rick-Main ~ $ mount
/dev/sda4 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/Fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda6 on /media/DATA1 type vfat (rw,uid=1000,utf8,umask=077)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-Fuse on /run/user/1000/gvfs type Fuse.gvfsd-Fuse (rw,nosuid,nodev,user=rick)
/dev/sdf1 on /media/usb0 type vfat (rw,noexec,nodev,sync,noatime,nodiratime)

最後はLinux Mintが自動マウントした私のUSBドライブです。

今タイプしてください

Sudo umount /dev/sdf1

これでドライブがアンマウントされます

正しく再マウントします。

Sudo mount -t vfat /dev/sdf1 /media/usb0 -o rw,users,umask=0
1
Rick