
나는 일반적으로 루트로 로그인하는 경향이 있는데, 이는 나쁜 습관이라는 것을 알고 있습니다.
그래서 다른 사용자를 만들었으니 이름을 로 지정하겠습니다 user1
. 지금은 해당 사용자로 로그인할 때를 제외하고는 빈 /home 디렉토리에 배치되며 꽤 쓸모가 없습니다.
문제는 user1
다른 사용자의 /home/ 디렉토리에 액세스하여 다른 사용자의 권한을 효과적으로 복제하고 싶다는 것입니다. 어떻게 해야 하나요?
답변1
두 사용자 모두에 대해 동일한 사용자 ID(UID)를 사용하면 그렇게 할 수 있지만 이는 매우 나쁜 습관이며 의도하지 않은 결과를 초래할 수 있습니다. 보다이것그것에 대한 포괄적인 논의를 위해.
더 좋은 방법은 해당 사용자를 동일한 그룹에 두고 집에 R 또는 RW 그룹 권한을 설정하거나 확장 속성(man setfattr
)을 사용하거나 사용자가 파일을 sudo su - <anotheruser>
통해 허용하거나 /etc/sudoers
루트로 sudo를 수행하도록 허용하는 것입니다.
같은 그룹 옵션
먼저 team_a라는 특수 그룹을 만듭니다.
groupadd team_a
그런 다음 해당 그룹을 사용자로 설정합니다(예: user1
및 user2
). 기본적으로 각 사용자는 사용자와 동일한 이름을 가진 새 그룹에 생성됩니다. team_a를 기본 그룹으로 설정하고 개별 그룹을 보조 그룹으로 남겨둡니다.
for user in user1 user2; do usermod -g team_a $user; usermod -a -G $user $user; done
그런 다음 사용자 2의 집에 대한 권한을 업데이트하여 그룹의 모든 구성원 team_a
, 폴더 및 여기에 포함된 모든 파일과 폴더에 대한 전체 액세스 권한을 반복적으로 부여합니다. 이렇게 하면 모든 구성원이 의 홈 폴더 및 파일에 team_a
액세스 할 수 있지만 user2
다른 사용자에게는 액세스 권한이 부여되지 않습니다. 예를 들어 다음은 의 구성원에게 의 홈 폴더에 대한 액세스 권한을 제공하지 team_a
않습니다 user1
.
chmod -R g+rwX ~user2
user2
언제든지 해당 권한을 제거하거나 그룹에 액세스 권한을 부여하지 않고 새 파일을 만들 수 있습니다 .
마지막으로, 다른 사용자가 해당 그룹의 구성원에 대해 전체 액세스 권한이 있는 파일을 생성하는지 확인하세요.
echo "umask 002" >> ~user2/.profile
귀하의 사용자는 다른 사용자의 기본 그룹에 속해 있습니다:
아마도 위보다 간단할 것입니다. 귀하의 user1
사용자를 다른 사용자의 기본 그룹에 추가할 수 있습니다. 기본적으로 대부분의 Linux 배포판 및 UNIX 시스템에서 새 파일에 대한 기본 그룹 권한은 사용자 그룹 이름이 사용자 이름과 동일한 경우 그룹에 대한 전체 액세스 권한이므로 umask
이 경우 해당 사용자를 조작할 필요가 없습니다.
의 기본 그룹 user1
에도 속하도록 설정 :user2
usermod -a -G user2 user1
user2
그룹 구성원에게 user2
'의 홈 폴더 에 대한 액세스 권한 부여 :
chmod g+rwX ~user2