리눅스 서버를 운영하다 보면 사용자 계정 관리는 가장 기본이면서도 중요한 작업입니다. 단 한 번의 설정 실수로 권한이 노출되거나, 불필요한 계정이 남아 보안 위험을 초래할 수 있기 때문입니다. 이번 글에서는 리눅스 계정 생성부터 그룹 관리, 권한 설정, 삭제까지 실무에서 꼭 알아야 할 계정 관리 방법을 정리했습니다.
1. 계정 생성 : useradd의 기본
리눅스에서 새 계정을 추가할 때는 useradd 명령을 사용합니다.
sudo useradd username
sudo passwd username
첫 번째 명령은 계정을 생성하고, 두 번째 명령은 비밀번호를 설정합니다.
기본적으로 /home/username 디렉터리가 생성되며, 사용자별 환경 파일(.bashrc, .profile)이 자동 복사됩니다.
옵션을 활용하면 홈 디렉터리, 쉘, 그룹 등을 지정할 수 있습니다.
sudo useradd -m -d /data/users/gwan -s /bin/bash username
여기서 -m은 홈 디렉터리 생성, -d는 경로 지정, -s는 기본 쉘을 의미합니다.
2. 그룹 관리 : groupadd와 usermod
계정은 항상 하나 이상의 그룹(group) 에 속합니다.
그룹을 만들 때는 다음처럼 합니다.
sudo groupadd devteam
sudo usermod -aG devteam username
-aG 옵션은 기존 그룹을 유지하면서 새 그룹을 추가합니다.
이 구성을 통해 프로젝트별 접근 제어를 유연하게 운영할 수 있습니다.
예를 들어 /project/devteam 폴더의 소유 그룹을 devteam으로 바꾸고 그룹 쓰기 권한을 주면 팀원만 접근 가능합니다.
sudo chown :devteam /project/devteam
sudo chmod 770 /project/devteam
3. 권한 관리 : chown과 chmod
리눅스의 권한 체계는 소유자(owner), 그룹(group), 기타(other) 로 나뉘며, 각 항목에 대해 읽기(r), 쓰기(w), 실행(x) 권한을 부여합니다.
예를 들어 chmod 750은 소유자에게 모든 권한, 그룹에게 읽기·실행, 그 외에는 접근 불가를 의미합니다.
chmod 750 script.sh
파일 소유자를 변경하려면 chown 명령을 사용합니다.
sudo chown username:devteam script.sh
4. 계정 삭제 및 정리
사용자가 퇴사하거나 더 이상 필요하지 않을 때는 계정을 삭제해야 합니다.
sudo userdel -r username
-r 옵션을 주면 홈 디렉터리와 메일 스풀까지 함께 제거됩니다.
단, 프로젝트 파일 등이 남아있다면 삭제 전 백업이 필수입니다.
5. 실무용 보안 팁
- root 계정 직접 사용 금지 :
sudo로 대체 - 공유 계정 사용 자제 : 개인 계정 + 그룹 권한 분리
- 비활성 사용자 주기적 점검 :
/etc/passwd확인 - SSH Key 로그인 권장 : 비밀번호보다 안전
마무리
리눅스 계정 관리는 단순히 사용자 추가 이상의 의미를 가집니다.
프로젝트 협업, 서버 보안, 접근 통제의 근간이 바로 user/group 관리 체계이기 때문입니다.
오늘 배운 명령어들을 실습해 보면 chmod, chown, usermod 같은 기본 명령의 중요성을 체감하게 될 것입니다.
리눅스 보안의 시작은 올바른 계정 관리에서 출발합니다.