리눅스 서버 사용자 계정 관리하기 (useradd, sudo 등)
서버를 운영할 때 사용자 계정을 체계적으로 관리하는 것은 보안과 운영 효율성 측면에서 매우 중요하다. 특히 여러 명이 함께 서버를 사용하는 환경에서는 각 사용자별로 권한을 분리하고, 필요한 최소 권한만 부여하는 것이 기본 원칙이다. 이 글에서는 Ubuntu 리눅스 서버를 기준으로 사용자 계정을 추가하고, sudo 권한을 부여하고, 삭제하거나 잠그는 기본적인 방법을 정리한다.
1. 새 사용자 계정 추가 – useradd 또는 adduser
리눅스에서는 useradd 또는 adduser 명령어를 사용해 새로운 사용자를 생성할 수 있다. adduser는 사용자에게 좀 더 친절한 인터페이스를 제공한다.
sudo adduser 사용자명
명령어를 실행하면 비밀번호 설정과 함께 홈 디렉터리, 쉘 등이 자동으로 설정된다.
2. 사용자에게 sudo 권한 부여하기
기본적으로 새로 생성한 사용자는 시스템 관리자 권한(sudo)을 가지고 있지 않다. sudo 그룹에 사용자를 추가해야 관리자 작업이 가능하다.
sudo usermod -aG sudo 사용자명
변경 사항을 적용하려면 해당 사용자로 재접속하거나 로그아웃 후 다시 로그인하면 된다.
3. 사용자 계정 목록 확인
현재 시스템에 등록된 사용자 계정을 확인하려면 /etc/passwd 파일을 조회한다.
cut -d: -f1 /etc/passwd
이 명령은 사용자 이름만 출력한다. 시스템 계정도 포함되어 있으므로 일반 사용자는 보통 홈 디렉터리가 /home/사용자명 형태로 설정되어 있다.
4. 사용자 계정 잠금 및 해제
특정 사용자 계정을 일시적으로 잠그고 싶을 경우 usermod 또는 passwd 명령어를 사용할 수 있다.
계정 잠금:
sudo usermod -L 사용자명
또는
sudo passwd -l 사용자명
계정 잠금 해제:
sudo usermod -U 사용자명
또는
sudo passwd -u 사용자명
5. 사용자 계정 삭제
사용자를 완전히 삭제하려면 다음 명령어를 사용한다.
계정만 삭제:
sudo deluser 사용자명
홈 디렉터리까지 포함해 삭제:
sudo deluser --remove-home 사용자명
6. 그룹 관리
리눅스에서는 사용자가 그룹에 속하게 되며, 그룹을 통해 파일 접근 권한을 관리할 수 있다.
새 그룹 생성:
sudo addgroup 그룹명
사용자를 그룹에 추가:
sudo usermod -aG 그룹명 사용자명
사용자가 속한 그룹 확인:
groups 사용자명
7. 사용자 전환 – su, sudo -i, ssh
서버 내에서 다른 사용자 계정으로 전환하려면 다음과 같은 명령어를 사용할 수 있다.
su - 사용자명
또는 관리자 권한으로 전환:
sudo -i
또는 로컬이 아닌 원격에서 특정 사용자로 접속:
ssh 사용자명@서버IP
마무리
리눅스 서버의 사용자 계정 관리는 보안을 위한 기본이자, 서버 운영의 핵심적인 부분이다. 각 사용자에게 필요한 권한만 부여하고, 계정 변경 이력이나 활동을 주기적으로 확인하는 것이 중요하다. 특히 외부인이 접근할 수 있는 서버일수록 사용자 관리에 신경 써야 하며, 비밀번호 정책과 함께 SSH 보안 설정을 병행하면 더욱 안전한 환경을 유지할 수 있다.