ユーザAにユーザBにフルアクセス権を付与し、その逆も同様である。

ユーザAにユーザBにフルアクセス権を付与し、その逆も同様である。

2人のユーザーがいます。各ユーザーにはプロジェクトがあります。

質問:

2つのプロジェクトを同時に作業する必要がありますが、変更するには常に別のユーザーとしてログインする必要があります。そうでなければ権限がないからです。

両方のユーザーに別のエイリアスセットが必要なので、2つのユーザー間でプロジェクトを分割しました。両方のプロジェクトは異なるPHPバージョンで実行されており、エイリアスは正しいバージョンを参照する必要があります。エイリアスはプロジェクト固有のCLIコマンドに使用されます。

質問:

ユーザーAにユーザーBにフルアクセスを与え、その逆も可能ですか?

ベストアンサー1

ユーザーAにユーザーBにフルアクセスを与え、その逆も可能ですか?

実際には、ユーザーAとユーザーBの両方(つまり、2つのアカウントが互いに完全に信頼できる場合)をsudo使用して、2つのアカウントを切り替えることができます。エイリアスやその他の定義をログイン/起動スクリプト.bash_profileに配置すると、.bashrcスイッチで自動的に実行されるようにすることもできます。

# as User A
sudo -su userb    # Or sudo -iu userb

# as User B
sudo -su usera    # Or sudo -iu usera

ユーザーAとユーザーBの両方がroot権限を持たず、他のアカウントに切り替える権限のみを持つように設定できます。

  1. ルートシェル(sudo -s)を開きます。設定を変更する前に閉じないでください。わかるこれにより、引き続きsudorootアクセス権が提供されます。

  2. visudo(またはEDITOR=nano visudo気に入らない場合)を使用しviて、ファイルの下部近くに1行を追加します。

    usera   ALL=(userb) NOPASSWD: ALL
    userb   ALL=(usera) NOPASSWD: ALL
    
  3. あなたがそこに着いて戻ってくることができるかどうかをsudoテストしてください。userauserb

  4. 手順1を実装したのと同じ方法でまだrootアクセス権を取得できるかどうかをテストします。


コメントに気づきました。あなたは同様のことを行いますが、2つのユーザーアカウントのいずれかを使用し、他のユーザーのディレクトリツリーに直接書き込むことができるようにしたいと思います。

一般的に言えば、特に各ユーザーの開発環境に異なる構成がある場合は、これをまったく実行しないことをお勧めします。特にそうかもしれないから他の顧客。ただし、これを行うには、両方のユーザーを同じグループに入れ、ファイルがグループ書き込み権限で作成されていることを確認します。

準備する:

# Add shared working group
groupadd bothusers
usermod -aG bothusers usera
usermod -aG bothusers userb

# Increase write permissions to both users' directory trees
find ~usera/* ~userb/* -exec chmod g=u {} +

# Set group membership
find ~usera/* ~userb/* -exec chgrp bothusers {} +

適切なディレクトリツリーのみが一致するように、両方のコマンド*でワイルドカードを減らすことができます。find

各セッションの開始時にそれを呼び出します(おそらく~/.bashrc構成設定スクリプトから)。

# Create files with group write permissions
umask 0002

findcron毎時間またはログインするときは、これら2つのコマンドをユーザーごとに変換して実行すると便利です。

ユーザーのデフォルトグループは変更されませんbothusers。現在のセッション内でこれを行うことができますが、newgrp bothusers新しいサブシェルが開始されることに注意してください。

おすすめ記事