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


18

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

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

回答:


17

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

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

umask = 0で十分です。わかりやすくするためにuidとgidであるため、必ずしも「root」所有者が表示されることはありません。


@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-グループ書き込みなし、その他のアクセスなしです。


umask=0 0 0fstabにエントリとして追加すると、「悪いオプション」でエラーが発生します。いumask、最後のエントリであるために-entry必要が?managed=0 0 0現在最後のエントリは何をしますか?
ジョナス

1
FWIW、umaskオプションはVFATのみのオプションです。つまり、USBメモリがVFATファイルシステムを使用している限り解決策が役立ちます(私の場合はそうではありませんでした)。
トミスラフナキクアルファレビッチ

2
ありがとうございました。しかし、私はそれを機能させるためにそれを変更しなければなりsudo mount -o umask=0,uid=nobody /dev/something /mnt/somewhereませんでした:それはgid-parameterを設定しないでのみ機能します。
ニッペイ

2

/ etc / fstabにエントリを追加します。Seagate USBドライブに数時間前に追加したエントリは次のとおりです。

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

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

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


ユーザーがドライブをマウントした場合、他のすべてのユーザーrwも許可を取得しますか?
ジョナス

1

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