私はEXT4パーティションを持つUbuntu 10.04ボックスを持っています。このパーティションは/etc/fstab
に自動的にマウントされるように設定されています。この記事の目的のために、それを/media/foo
と呼びます。
残念ながら、root
のルートファイルシステム上にファイル/ディレクトリを作成/削除できるのはfoo
だけです。他のユーザーがこのボリュームに対してファイル/ ioを実行するには、root
がディレクトリを作成し、chmod
が他のユーザーに対する権限を作成する必要があります。
誰もがroot
からchmod
を必要とせずにボリュームを読み書きできるようにボリュームをマウントしたいと思います。
以下が私のfstab
エントリーです:
/dev/sda8 /media/foo ext4 rw,user,exec 0 0
このエントリはもともとrw,user,exec
ではなくdefaults
でした。追加のエントリ、つまりrw
を追加したので、どのユーザーも読み書きできます。
残念ながら、fstab
エントリーは機能しません。うまくマウントできますが、介入するにはroot
がまだ必要です。
そして、万が一誰かが尋ねた場合、root
としてchmod -R 777 *
上で/media/foo
を実行するだけではうまくいきません。
マウントオプションuser
は、ファイルシステムをどのユーザもマウントできるようにするだけです。 rw
オプションはファイルシステムを読み取り専用にしません。親ディレクトリを書き込み可能にするには権限を使用する必要があります。
chmod 777 /media/foo
表示されるchmod
コマンドは、既存のファイル within /media/foo
にのみ影響します。
Fstabのエントリを次のように変更するほうが簡単だと思います。
/dev/sda8 /media/foo ext4 rw,user,exec,umask=000 0 0
umask=000
は、誰でもfoo内の任意のファイルまたはディレクトリを読み取り、書き込み、または実行できることを意味します。通常のデフォルトは022です。これは、ユーザーが書き込めないことを意味します。
私はopenSUSEでも同じ問題を抱えていましたが、解決策はこれにも当てはまると思います。マウントしたファイルシステムを共有したいすべてのユーザーは、同じプライマリグループに属します。
Fstabに次の行があります。
/dev/<partition> <mount_point> ext4 rw,acl 0 0
そして私は次のコマンドを実行しました:
Sudo chgrp -R users <mount_point>
Sudo setfacl -d -m g::rwx <mount_point>
新しく作成されたファイルまたはディレクトリがそれらの許可を得るように。これはaclパッケージがインストールされていることを意味します。
一つの理由として、/ media/foo自身のディレクトリが書き込み可能であることを確認したいのです。まだ行っていない場合は、次のコマンドを実行します。
chmod +w /media/foo
覚えておいてほしいのは、starはディレクトリの表示内容にのみ適用され、ディレクトリ自体にも表示されないファイルにも適用されないということです。
やってみる
Sudo setfacl -R -d -m u::rwx,g::rwx,o::rwx <mount_point>
数年前、マウントポイントのグループをplugdevグループに設定し、そのグループにユーザーを追加しました。このように、新しいグループを作成することで、ユーザーごとに権限を付与することができます。家庭での使用のためには、マウントポイントのパーミッションを他の人に設定するのに十分です:上で書かれたように読み/書き/実行します。
私は端末で 'Sudo nautilus&'を使ってそれをし、右クリック - >プロパティ - >権利を持っていましたが、rootとして動いている他のファイルマネージャなら大丈夫でしょう。