web-dev-qa-db-ja.com

複数のLinuxインストールで外部EXT4ハードディスクを使用する場合の許可問題の解決

外付けハードドライブがあり、UbuntuとFedoraのみを使用しているため、ハードドライブをext4にフォーマットすることに決めました。

問題は、ドライブをマウントするとき、読み取りと書き込みができるように許可を変更する必要があることです。

どのような許可を使用すべきですか?ユーザー名を許可しますか?

18
Javier Gonzalez

ラメは私のことかもしれませんが、別の質問で質問に答えなければなりません。私たちが話しているのが1つのOSだけである場合、それは次のいずれかになります。

Sudo chown -R (user name) /dev/(device name)

ubuntu

あるいは単に

chown -R (user name) /dev/(device name)

Fedora-no Sudo、ルートからコマンドを実行するだけです。

麺のスクラッチ部分、および私が良い答えを持っていない部分は、ディストリビューション間を行き来するときに手動で再入力する必要がないようにする方法です。私は~/.bashrcに行を追加したいと思うかもしれませんが、おそらく私が知らない、またはまだ考えていないより良い方法があります。

5
user2367

最も簡単な解決策は、UbuntuとFedoraのユーザーアカウントが同じユーザーID(UID)を持っていることを確認することです。

Fedoraはデフォルトでユーザーアカウントを500で開始しますが、DebianとUbuntuは1000で開始するため、一方のOSではユーザー番号500、もう一方ではユーザー番号1000である可能性が非常に高くなります。ファイルシステムはこのUID番号を使用します許可を追跡するため、同じUIDを持っていることを確認すると、それらは同じユーザーと見なされ、許可の問題は発生しません。

あなたができる最善の方法は、両方をUID = 1000にすることですので、FedoraシステムのUIDを変更してから、外部ディスク上のすべてのファイルを確認してくださいおよびFedoraインストールのユーザーの$ HOME UID 1000が所有しています。それ以降、アクセス許可の問題は発生しなくなります。

10
JanC

/ etc/fstabに、ユーザーが所有するドライブのuid = 1000(Ubuntuの場合はFedoraの場合は500)を配置できます(最初のユーザーであると仮定すると、yada yada yada ...そうでない場合は、ユーザーのすべてのユーザーがアクセスできるようにしたい場合は、id)およびumask = 000からのuid(またはuid =で指定されたユーザーのみに077-マスクなので、chmodとは逆のことを行います)

/ etc/fstabの使用に関する詳細情報: http://ubuntulinuxtipstricks.blogspot.com/2008/02/fun-with-etcfstab.html

3
maco

残念ながら、Linuxカーネルはext2/ext3/ext4 FSでPOSIXアクセス許可を強制します。

共有グループでPOSIXアクセス許可を回避できます。対応する質問をします: https://unix.stackexchange.com/questions/273144/predefined-group-ids-across-linux-distros/ .

Sysグループは、Debian、Ubuntu、RedHat、Fedora、CentOS、Suse、FreeBSD、OpenBSD、NetBSD、MacOSX、Solarisでid 3を共有していることを発見しました。

このような発見を念頭に置いて、1つのソリューションは次のようになります。

$ Sudo chgrp -R sys /mnt/data/dir
$ Sudo chgmod -R g+s /mnt/data/dir
$ Sudo fsetacl -R -m g:sys:rwx /mnt/data/dir
$ Sudo fsetacl -R -d -m g:sys:rwx /mnt/data/dir

これのフレーバー(Linux/FreeBSD/MacOSX/Solarisを使用している場合):

$ Sudo adduser user sys

こちらもご覧ください:

2
gavenkoa

Exfatまたはntfsを使用してみてください。私にとってはこのように動作します。しかし、すべてのファイル許可で動作する場合、私は今はしません。私はそうは思いません。

2
d3rdon

これは、共有グループを使用する@gavenkoaのアプローチのわずかなバリエーションであり、マウントされたドライブの変更は含まれません。

マウントされたドライブで使用されているグループID(GID)を確認します。

su
cd /mnt/data/dir  # or wherever it is mounted
ls -l

次のようなものが表示されるとしましょう。

drwxr-xr-x 3 12588 12000  4096 30.06.2017 11:22 Documents/

これは、12000がドライブ内のデータの現在のGIDであり、グループの他のユーザーがデータを読み取りおよび実行できることを意味します(ただし、書き込みはできません)。新しいグループ(たとえば、driveusers)を作成し、現在のユーザーを新しいグループに追加します。

groupadd -g 12000 driveusers
Sudo gpasswd -a $USER driveusers  # add the current user to the new group
Sudo chmod 770 /mnt/data/dir      # optional, just to ensure the drive mount is accessible to user and group of the drive
2
jadelord

私はこの他の解決策を見つけました:

https://unix.stackexchange.com/questions/422656/how-to-make-an-ext4-formatted-usb-drive-with-full-rw-permissions-for-any-linux-m/ 468933#4689

https://unix.stackexchange.com/a/273705

これとともに:

Sudo chgrp -R sys /mnt/data/dir
Sudo chmod -R g+s /mnt/data/dir
Sudo setfacl -R -m g:sys:rwx /mnt/data/dir
Sudo setfacl -R -d -m g:sys:rwx /mnt/data/dir

そしてこれの味:

Sudo adduser user sys  

ユーザーは/dirの任意のファイルを読み書きできます。

@jadelord @ givenkoa Ubuntu(またはFedora)のユーザー向けに提案されたソリューションに関して、今日改善できる点はありますか?ありがとう

0
horizonbrave