서버 간에 홈 디렉터리를 공유하면서 사용자 관리

서버 간에 홈 디렉터리를 공유하면서 사용자 관리

홈 디렉토리를 공유하는 두 개의 우분투 서버가 있습니다. server1의 /home 디렉토리는 server2의 /home 디렉토리로 마운트됩니다. 새로운 사람에게 두 서버 모두에 대한 액세스 권한을 부여하려고 할 때 문제가 있습니다. 동일한 사용자 이름을 가진 각 서버에서 adduser 명령을 사용합니다. 그러나 이 작업을 수행하면 UID가 일치하지 않으므로 사용자는 server2의 계정으로 액세스할 때 홈 디렉터리의 파일에 대한 권한을 갖지 못하게 됩니다.

사용자가 홈 디렉터리와 함께 생성된 서버 1에서. (괜찮아 보이는데)

selah@server1:~$ tail -n 2 /etc/passwd
dfulgon:x:1083:1087:,,,:/home/dfulgon:/bin/bash
swartp:x:1085:1089:,,,:/home/swartp:/bin/bash

selah@server1:~$ ll -a /home/dfulgon | tail -n 3
-rw-rw----  1 dfulgon dfulgon   25 Jun  2 13:41 .my.cnf~
-rw-r--r--  1 dfulgon dfulgon  675 Jun  2 13:35 .profile
drwxrwxr-x  2 dfulgon dfulgon 4096 Jun  2 14:27 .ssh/

동일한 이름의 사용자 계정이 생성되었지만 다른 서버의 홈 디렉터리가 사용되는 서버 2에서: (권한이 엉망이어서 잘못된 사용자를 가리킴)

selah@server2:~$ tail -n 2 /etc/passwd
bslf:x:1083:1087:,,,:/home/bslf:/bin/bash
dfulgon:x:1087:1091:,,,:/home/dfulgon:/bin/bash

selah@server2:~$ ll -a /home/dfulgon | tail -n 3
-rw-rw----  1 bslf bslf   25 Jun  2 13:41 .my.cnf~
-rw-r--r--  1 bslf bslf  675 Jun  2 13:35 .profile
drwxrwxr-x  2 bslf bslf 4096 Jun  2 14:27 .ssh/

공유 홈 디렉토리의 편리성을 유지하면서 이 문제를 극복할 수 있는 좋은 방법이 있습니까?

답변1

가장 쉬운 방법은 일부 중앙 데이터베이스에 계정을 만드는 것입니다. 요즘에는 거의 모든 사람들이 이를 위해 일종의 LDAP 데이터베이스를 사용합니다. 그러나 안전하지 않은 구식 방법을 사용하고 싶다면 NIS를 살펴볼 수도 있습니다. (하지 않다).

또 다른 옵션은 구성 관리 도구를 사용하여 계정을 생성하고 UID를 동기화된 상태로 유지하는 것입니다. 따라서 꼭두각시로 계정을 만들고 원하는 특정 UID/GID를 정의할 수 있습니다.

NFS ID 매퍼를 사용하여 시스템 간 ID를 변환할 수 있지만 이는 관리상의 악몽이 될 수 있습니다.

답변2

우리가 진행하는 솔루션은 다음과 같습니다.

/etc/passwd 파일을 모두 확인하고 다음으로 적합한 GID 및 UID를 선택하십시오. 그런 다음 사용자 생성 프로세스 중에 이를 지정합니다.

addgroup -g $GID $username
adduser -g $GID -u $UID $username 

관련 정보