/home
マイコンピュータには、異なるパーティションにありますが、両方のインストールで共有される2つのLinuxインストールがあります。競合を避けるために、インストールごとにユーザー名が異なります。問題は、私が開発者であり、ユーザーを混在させたくないが、共有フォルダの権限を設定したいということです。
はい、
- Ubuntu、既定のユーザー:
raul
、既定のフォルダー:/home/raul
- Fedora、既定のユーザー:
ricardo
、既定のフォルダー:/home/ricardo
- 私はこのフォルダに対する
/home/shared
whereraul
&have権限を望んでいますが、Linuxディストリビューションの他のユーザーも必要です。ricardo
www-data
root
あなたが私の問題を解決できることを願っています。
編集:予想以上に複雑なようです。
このメモは私が実際の英語力で説明できる最善の内容なので、親切にしてください。
同じコンピュータにディストリビューションAとBがインストールされています。ディストリビューションAとBは別のパーティションで共有されますが、/home
他のユーザーと共有されます。したがって、ディストリビューションAにユーザーがいます。 /home/a
そのため、ユーザーと同じフォルダを持ちたいのですが、どちらもその中にある可能性があります。フォルダの読み取りと書き込みは同じグループに属しているように見えますが、ユーザーはリリースBには存在せず、その逆も同様です。では、各ディストリビューションに自分を他のディストリビューションのユーザーとグループ化するように指示するにはどうすればよいですか?A
/home/b
/home/shared
A
B
A
答え1
問題が正確に何であるかよくわかりません。もっと詳しく知ることができますか?特に解析に問題があります。
私はraulとricardoがこのフォルダ(おそらくwww-dataとroot)にアクセスできる/home/sharedを望んでいますが、Linuxディストリビューションの他のユーザーにもアクセスできます。
共有フォルダ/パーティションを設定する方法を知りたいですか?その場合は、インストールごとに同じグループIDを使用してグループを設定できます。その後、aclを使用してグループにrw
パーティションに対する権限があることを確認できます。
man addgroup
説明する
GIDは、構成ファイル(FIRST_GID、LAST_GID)のシステムGIDSに指定された範囲から選択されます。このメカニズムをオーバーライドするには、--gid オプションを使用して GID を指定できます。
だからあなたはできます
addgroup [options] [--gid ID] group
ここでgroup
、ID
およびは両方のインストールで同じです。
ACLのチュートリアルについては、次を参照してください。Fedora Core 2でACLを使用する、そして私の外観を見てください回答2人のユーザー間のディレクトリ共有に関する最近の質問です。明らかに、両方のインストールでaclをサポートするパーティションが必要です。
acl
一度設定すると、フォルダ内のすべてのファイルとディレクトリにグループ権限があるため、あるrw
インストールraul
とricardo
別のインストールはフォルダを読み書きできます。
編集:以下Raulのコメントへの回答:
あなたの質問を正しく理解していて、両方のインストールで2人のユーザー間でデータを共有したい場合は、www-data
これはあなたが尋ねる質問とは少し異なる質問です。この場合、ユーザーは同じだからですraul
。ricardo
www-data
通常、ApacheなどのWebサーバーのインストールによって作成されるため、すでにそうでない限り、一致するIDで生成するのは難しいかもしれません(下記参照)。私はイベントが一致するようにuids / gidsを変更することに問題がないと思いますが、それについて100%確信することはできません。たぶん、ここの専門家がアドバイスを提供することができます。
Debianのデフォルト値はですuid/gid=33
。www
これは、他のLinuxディストリビューションによって異なる場合があります。ただし、インストールがすべて同じ展開である場合、IDが一致する可能性が高くなります。実際には、このような場合は何もせずにwww-dataグループをグループとして使用できます。
答え2
Faheemの言葉は正しいです。質問を正しく理解したら、共有グループ オプションを使用して問題を解決できます。
このコマンドを使用して、各システムで現在割り当てられている最高のGIDを見つけることができます(uniqは必須ではありませんが、習慣的に含まれています)。
awk -F':' '{ print $3 }' /etc/group | sort -n | uniq | tail -1
このコマンドの出力に関係なく、未使用のGIDも低い値で重複する可能性があります。ただし、印刷された値よりも高いGIDを選択すると、その識別子はどのシステムでも使用されません。
関連フォルダに設定されているすべてのグループ権限は、両方のシステムにあるグループのすべてのメンバーに適用されます。
また、グループ名が一致する必要はありませんが、自分の精神のためにこれが望ましいかもしれません。
Linuxディストリビューションに応じて、1人以上のユーザーをグループに追加するには、gpasswdコマンドにアクセスできます。
gpasswd -a <user> <group/GID>
このユーティリティが存在しない場合、または既定の設定に応じて以下を実行して同じ変更を実行できます。
usermod -G $(groups <user> | sed 's/ /,/g'),<new group> <user>
このコマンドは、指定されたユーザーに対してプライマリグループではなくセカンダリグループを設定すると仮定します。
答え3
カーネルとファイルシステムでは、ユーザーとグループは数字、ユーザーID、またはグループIDによってのみ識別されます。ユーザー名とグループ名は、表示の利便性と上位レベルの適用のためのものです。
複数のインストール間でファイルシステムを共有する場合は、両方のシステムに存在するすべてのユーザー(またはグループ)が両方のシステムで同じIDを持っていることを確認することをお勧めします。これにより、共有ファイルの所有権がすべてのインストールで同じになります。多くのユーザー管理GUIはIDの選択を許可しないため、コマンドadduser
(または)を使用する必要がありますaddgroup
。
ユーザーIDは登録なしで「存在」します/etc/passwd
。そのユーザーが所有するファイルは、ls
出力などの名前ではなくユーザーIDとして表示されます。 (再び、chown 1234 /path/to/file
これを使用してファイル所有者を任意のIDに変更できます。)
これを念頭に置いて、複数のインストール間でファイルの所有権を共有する問題を単一のインストールでファイルを共有する問題に軽減します。バラよりファイル保存権限このトピックに関する議論(推奨:ACLを使用)