사용자 A에게 사용자 B에게 전체 액세스 권한을 부여하고 그 반대의 경우도 마찬가지입니다.

사용자 A에게 사용자 B에게 전체 액세스 권한을 부여하고 그 반대의 경우도 마찬가지입니다.

두 명의 사용자가 있습니다. 각 사용자에게는 프로젝트가 있습니다.

질문:

두 개의 프로젝트를 동시에 작업해야 하는데, 변경하려면 항상 다른 사용자로 로그인해야 합니다. 그렇지 않으면 권한이 없기 때문입니다.

두 사용자 모두에 대한 또 다른 별칭 세트가 필요하기 때문에 두 사용자 간에 프로젝트를 분할했습니다. 두 프로젝트 모두 서로 다른 PHP 버전으로 실행되고 있으며 별칭은 올바른 버전을 참조해야 합니다. 별칭은 프로젝트별 CLI 명령에 사용됩니다.

질문:

사용자 A에게 사용자 B에게 전체 액세스 권한을 부여하고 그 반대의 경우도 가능합니까?

답변1

사용자 A에게 사용자 B에게 전체 액세스 권한을 부여하고 그 반대의 경우도 가능합니까?

실제로 사용자 A와 사용자 B 모두인 경우(즉, 두 계정이 서로 완전히 신뢰할 수 있는 경우) 를 sudo사용하여 두 계정 간에 전환할 수 있습니다. 별칭 및 기타 정의를 로그인/시작 스크립트 .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 모두 루트 권한을 갖지 않고 다른 계정으로 전환할 수 있는 권한만 갖도록 설정할 수 있습니다.

  1. 루트 셸( sudo -s)을 엽니다. 구성을 변경하기 전에 닫지 마십시오.알잖아이렇게 하면 sudo계속 루트 액세스 권한이 제공됩니다.

  2. visudo(또는 EDITOR=nano visudo마음에 들지 않는 경우 )을 사용 vi하고 파일 하단 근처에 한 줄을 추가하십시오.

    usera   ALL=(userb) NOPASSWD: ALL
    userb   ALL=(usera) NOPASSWD: ALL
    
  3. 당신이 거기에 도착하고 돌아올 sudo수 있는지 테스트하십시오 .userauserb

  4. 1단계를 구현한 것과 동일한 방식으로 여전히 루트 액세스 권한을 얻을 수 있는지 테스트합니다.


댓글에서 눈치채셨네요당신은비슷한 작업을 수행하되 두 사용자 계정 중 하나를 사용하고 다른 사용자의 디렉터리 트리에 직접 쓸 수 있기를 원합니다.

일반적으로 말하면, 특히 각 사용자의 개발 환경에 대해 서로 다른 구성이 있는 경우에는 이 작업을 전혀 수행하지 않는 것이 좋습니다. 특히 그럴 수도 있을 것 같으니까다른 고객. 그러나 이 작업을 수행하려면 두 사용자를 모두 동일한 그룹에 넣고 파일이 그룹 쓰기 권한으로 생성되었는지 확인하면 됩니다.

준비하다:

# 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매 시간마다 또는 로그인할 때 이 두 명령을 사용자별로 변형하여 실행하는 것이 유용 할 수 있습니다 .

사용자의 기본 그룹은 변경되지 않습니다 bothusers. 현재 세션 내에서 이 작업을 수행 할 수 있지만 newgrp bothusers새 하위 쉘이 시작된다는 점에 유의하세요.

관련 정보