web-dev-qa-db-ja.com

Ubuntuで外部ハードドライブの権限/所有権/グループを変更できない

Linuxボックスに外付けハードドライブを接続しています。その上のファイルにアクセスするようにWebサーバーをセットアップしたかったのですが、ドライブ上のすべてのファイルとディレクトリに対する権限は、私のローカルログインである所有者のrwxであり、グループはrootグループです。

Apacheユーザーがファイルを読み取れるようにする必要があります。すべてのファイルをchmod a+rwx -R *に設定しようとしましたが、これは何もしません(エラーが発生せず、効果がありません)。chgrpを使用してグループを変更してみました私のユーザーグループに、しかしそれも機能しない、それらすべてのコマンドをSudoとして実行しても、権限がないというエラーが表示されます。

このハードドライブはどうしたの??? Sudo chmod a+rwx *は何でも処理する必要がありますよね?

12
MikeN

最初に使用しているファイルシステムのタイプをdf -Tで確認します。

sys @ p:〜$ df -T 
使用されているファイルシステムタイプ1Kブロック使用可能な使用率%
 ext3 ext3にマウントされています。 /lib/init/rw
udev tmpfs 10240 64 10176 1%/dev
tmpfs tmpfs 1684988 0 1684988 0%/ dev/shm

たとえば/mnt/externalにマウントされている場合は、右端の列に表示されます。 2列目にはファイルシステムのタイプが表示されます。 NTFSの場合は、 NTFS-3G が必要になります(おそらくすでにインストールされており、インストールされていない場合はSudo apt-get install ntfs-config、次にgksu ntfs-config)。 Linuxは既に読み取りと書き込みのFATサポートを持っていますがそれらは権限をサポートしていません

特定のユーザー/グループに所有権を適用してマウントされたNTFSパーティションが必要な場合は、マウントスイッチで指定します。

mount -o uid = username、gid = groupname/dev/sdc/path/to/mount

上記のようにext3に変更する場合は、chownを使用できます。

chown -R user *
chown -R user .
19
John T

キムが言ったように、あなたはUnixのファイルシステム上でUnixの許可と所有権しか得られません。 ext3は良い候補です。

再フォーマットせずにこのドライブを使用する必要がある場合は、所有者、グループ、読み取り/書き込み権限を指定するmountコマンドのオプションを使用して実行できます。これらのオプションは、ドライブ上のすべてのファイルに影響します(FSTYPEを判別する方法については、John Tの回答を参照してください)。

# list files as owned by X, use numerical UID as found in /etc/passwd
$ mount -t <FSTYPE> -o uid=X /dev/?? /path/to/mount/point

# list files as owned by group Y, use numerical GID found in /etc/passwd
$ mount -t <FSTYPE> -o gid=Y /dev/?? /path/to/mount/point

# list files as accessible per umask 
#   (022 gives rwx permissions to owner, r-x permissions to everyone else)
$ mount -t <FSTYPE> -o umask=022 /dev/?? /path/to/mount/point

# combine all of the above:
$ mount -t <FSTYPE> -o uid=X,gid=Y,umask=022 /dev/?? /path/to/mount/point
4
quack quixote

したがって、同じドライブ上の複数のマシンからのバックアップがあったため、少し時間がありました。 hdfsplusユーティリティ(hfsprogs)をインストールしてからドライブをマウントし、最後にユーザー名とグループ名の両方を使用して関連フォルダーの所有権を変更する必要がありました。

注:ターミナルでmountと入力するだけで、マウントポイントとデバイスを一覧表示できます。

最初:

Sudo apt-get install hfsprogs

次に、ドライブがすでにマウントされている場合は、マウントを解除します。

Sudo umount /media/user/mount_point

次の引数を使用してドライブを(再)マウントします。

Sudo mount -t hfsplus -o force,rw /dev/sdb# /media/user/mount_point

問題のあるフォルダを含むディレクトリに移動します。次に行います:

chmod -R your_user_group:your_user_name ./target_directory

お役に立てば幸いです。

2
Gopherkhan

私はこれを行い、それはうまくいきました:

Sudo umount /dev/sda3 /media/windows1
Sudo umount /dev/sda5 /media/windows2

その後

Sudo mount -o rwx /dev/sda3 /media/windows1
Sudo mount -o rwx /dev/sda5 /media/windows2

Ubuntu 11.10を使用しており、sda3は私のWindows C:sda5G:であることに注意してください。

2
arvash

それはおそらくファイルのアクセス許可をサポートしないFATとしてフォーマットされています。代わりにext3を使用してください。

1
Kim