[linux] 계정 생성과 삭제

리눅스에서 계정을 생성하는 커맨드는 adduser, useradd 두 가지가 있습니다. 이름이 비슷하지만 사용방법이 조금 다르며, adduser는 자동, useradd는 수동으로 계정을 생성합니다.

adduser는 명령어 실행 후 프롬프트에 계정의 추가 정보와 패스워드를 입력하는 폼이 표시됩니다. 명령어 하나로 계정 홈 디렉토리까지 모두 생성됩니다.

반면 useradd 커맨드는 계정만 생성되며, 패스워드 설정을 포함해 나머지 모든 계정 설정을 별도의 커맨드로 따로 실행해야 합니다.

adduser로 계정추가

adduser user1

user1 계정을 생성하고 "user1" 그룹 추가, 홈 디렉토리 /home/user1 생성, 그리고 기본 파일들까지 복사됩니다.

계정 패스워드를 입력하면 계정 사용자 추가 정보를 묻는 프롬프트가 표시됩니다. 기본값으로 비워두려면 엔터키를 눌러서 모두 스킵하면 됩니다.

su 커맨드로 새로 만든 계정으로 로그인이 되는지 확인합니다.

su - user1

useradd로 계정 추가

useradd 커맨드는 계정만 생성되며 계정에 필요한 초기화가 되지 않습니다. 패스워드 초기화도 되어있지 않기 때문에 로그인도 할 수 없습니다. 다음 순서로 개별 초기화 작업을 진행해야 합니다.

  1. 계정을 추가합니다.
useradd user1
  1. 계정 패스워드를 설정합니다.
passwd user1
  1. 그룹을 생성한 후 그룹에 계정을 추가합니다. 계정 관련 변경은 usermod 커맨드와 옵션으로 개별 계정 설정을 변경합니다. -G 옵션은 그룹에 계정을 추가합니다.
groupadd usergroup
usermod -G usergroup user1
  1. 그룹에 계정이 잘 추가되었는지 확인합니다.
$ groups user1
user1 : user1 usergroup
$
  1. 계정의 기본 사용 셸을 지정합니다.
usermod -s /bin/bash user1
  1. 용자 홈 디렉토리를 생성합니다. 홈 디렉토리가 없으면 로그인 할 때마다 계정과 일치하는 홈 디렉토리가 없어서 경고가 발생합니다.
mkdir /home/user1
  1. bash 기본 환경 설정 파일을 홈 디렉토리에 복사합니다.
cp /etc/skel/.* /home/user1

adduser 커맨드를 사용하면 이 과정을 한번에 진행해줍니다.

계정 삭제

userdel 커맨드로 계정을 삭제합니다.

userdel user1

별도 옵션 없이 계정을 삭제하면 계정만 삭제되며, 홈 디렉토리는 그대로 남아있기 때문에 별도로 삭제해야 합니다.

계정 홈 디렉토리까지 한꺼번에 삭제하려면 -r 옵션을 사용해 삭제해야 합니다.

userdel -r user1

홈 디렉토리에 중요 파일이 있으면 복구할 수 없게 되므로 주의해야 합니다.

폴더 삭제는 다음 글을 참고하면 됩니다.

[linux] 디렉토리 삭제하기
리눅스에서 디렉토리를 삭제하는 커맨드는 “rmdir”과 “rm” 입니다. rmdir 커맨드는 기능이 단순하며 비어있는 디렉토리만 삭제할 수 있습니다. 부모 디렉토리까지 함께 삭제할 수 있는 기능이 있지만 빈 디렉토리를 삭제하는 단순한 커맨드입니다. “rm” 커맨드는 파일, 또는 디렉토리를 삭제할 수 있으며, 비어있지 않은 디렉토리와 하위 디렉토리까지 삭제할 수 있습니다. 기능이 강력한 만큼 위험한