사용자를 생성하기 위해서는 useradd 명령어를 사용한다.
useradd [option] user-name
위 사진은 옵션을 아무것도 설정하지 않고 사용자를 생성했다. 그리고 /etc/passwd(사용자 정보)를 확인해보면 UID값과 GID 값이 1001로 설정된 것을 볼 수 있다. 왜냐하면 0번은 root, 999번까지는 시스템 사용자가 사용하고, 일반 사용자는 1000번부터 사용할 수 있기 때문이다. 그래서 옵션을 아무것도 설정하지 않으면 현재 생성된 UID에 1씩 증가하여 자동으로 생성해준다.
🤔 그러면 왜 1000번이 아니라 1001번일까 ? 블로그 글을 쓰면서 이전에 user라는 사용자를 생성해서 user가 1000번이 할당되고 user01이 1001번을 받은 것이다...🤣
그리고 홈디렉토리의 절대경로를 살펴보면 자동으로 home디렉토리 하위에 사용자의 이름과 동일한 디렉토리를 생성해주는 것을 알 수 있다.
만약에 home아 아니라 내가 따로 설정한 디렉토리에서 자동으로 생성해주기 위해서는 /etc/default/useradd
을 변경해주는 방법도 있다.
/etc/shadow(패스워드 파일)을 살보면 패스워드 필드부분이 !
로 되어있는 것을 볼 수 있다.
즉, 비밀번호가 설정안되어있다는 것이다.
⚠️ 하지만 로그인이 안된다 .. 왜냐하면 !
는 LOCK되어있다는 뜻이다. 그렇기 때문에 passwd
명령어를 통해 비밀번호를 설정해 준 후 usermode -U user-name
를 통해 LOCK을 풀어주어야한다.
✅ 정상적으로 로그인 되는 것을 확인 할 수 있다.
-u UID
: 사용자 UID 지정-U
: 사용자 생성 시 사용자 이름과 동일한 그룹 생성-g GID
: 사용자 기본 그룹 지정-G GID
: 사용자 생성 시 보조 그룹 지정-c 주석
: 사용자에 대한 GECOS 지정-d 주석
: 사용자 생성 시 기본 홈 디렉토리 지정-s 쉘
: 사용자의 기본 쉘을 지정-o 주석
: UID 중복 허용-m
: 📌 사용자 홈 디렉토리가 존재하지 않을 경우 생성해준다.-e만기일
: 사용자 생성 시, /etc/shadow파일의 EXPIRE값을 지정-f기간
: 사용자 생성 시, /etc/shadow파일의 INACTIVE값을 지정-D
: 기본그룹, 홈디렉토리, 기본 쉘 등 기본 설정을 확인사용자 정보를 수정하기 위해서는 usermod
명령어를 사용합니다
usermod [option] user-name
-u UID
: 사용자 UID를 변경합니다-g GID
: 사용자 기본 그룹을 변경합니다.-G GID
: 사용자 보조 그룹을 변경합니다.-a
: -G 옵션과 같이 사용하며 사용자의 보조 그룹을 추가할때 사용한다-c 주석
: GECOS, 주석 필드에 들어갈 값을 변경합니다.-d 디렉토리
: 사용자 홈 디렉토리 변경합니다.-m
: -d 옵션고 같이 사용하며 홈 디렉토를 이동할 때 사용합니다.-s
: 기본 쉘을 변경합니다.-U
: 사용자의 잠금상태를 해제합니다.-L
: 사용자를 잠금상태로 변경합니다.사용자 정보를 삭제하기 위해서는 userdel
명렁어를 사용합니다.
userdel [option] user-name
사용자를 삭제할 때에는
-r
옵션을 함께 사용하는 것을 권장한다. 왜냐하면-r
옵션을 사용하지 않으면 삭제된 사용자의 홈 디렉토리가 남게되고, 남아 있는 홈 디렉토리와 파일은 삭제된 사용자와 같은 UID로 새로 생성된 ㅅ용자가 소유할 수 있어 보안상 문제를 발생시키기 때문이다.
이처럼 user01 사용자가 /etc/passwd(사용자정보)파일에서 삭제되었지만, 홈 디렉토리는 삭제가 안된 것을 볼 수 있다.
이런 상황을 방지하기 위해서-r
옵션을 함께 사용해서 삭제하는 것을 권장한다.
-r
옵션을 이용하면 정상적으로 홈 디렉토리까지 삭제되는 것을 확인할 수 있다.
그룹을 생성하기 위해서 groupadd
명령어를 사용합니다.
groupadd [option] group-name
-g
: 그룹 생성 시 그룹의 GID를 지정합니다.-o
: 그룹 생성 시 지정한 GID가 이미 사용 중일 때 중복을 허용합니다.-r
: 그룹 생성 시 시스템 그룹을 생성합니다. 201 ~ 999
의 GID 중 사용하지 않고 있는 GID를 부여합니다.-r
옵션을 통해서 201 ~ 999
사이의 사용되지 않는 GID값을 부여받은 것을 볼 수 있다.그룹의 정보를 수정하기 위해서는 groupmod
명령어를 사용합니다.
groupmod [option] group-name
-g
: 지정된 그룹의 GID를 변경합니다.-n
: 지정된 그룹의 그룹명을 변경합니다.-o
: 지정된 그룹의 GID를 변경할 때 GID의 중복을 허용합니다.그룹을 삭제하기 위해서는 groupdel
명령어를 사용합니다.
groupdel group-name