Linuxボックスに外付けハードドライブを接続しています。その上のファイルにアクセスするようにWebサーバーをセットアップしたかったのですが、ドライブ上のすべてのファイルとディレクトリに対する権限は、私のローカルログインである所有者のrwx
であり、グループはroot
グループです。
Apacheユーザーがファイルを読み取れるようにする必要があります。すべてのファイルをchmod a+rwx -R *
に設定しようとしましたが、これは何もしません(エラーが発生せず、効果がありません)。chgrp
を使用してグループを変更してみました私のユーザーグループに、しかしそれも機能しない、それらすべてのコマンドをSudo
として実行しても、権限がないというエラーが表示されます。
このハードドライブはどうしたの??? Sudo chmod a+rwx *
は何でも処理する必要がありますよね?
最初に使用しているファイルシステムのタイプを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 .
キムが言ったように、あなたは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
したがって、同じドライブ上の複数のマシンからのバックアップがあったため、少し時間がありました。 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
お役に立てば幸いです。
私はこれを行い、それはうまくいきました:
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:
、sda5
はG:
であることに注意してください。
それはおそらくファイルのアクセス許可をサポートしないFATとしてフォーマットされています。代わりにext3を使用してください。