사용자 생성


사용자를 생성하기 위해서는 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을 풀어주어야한다.

✅ 정상적으로 로그인 되는 것을 확인 할 수 있다.

✔︎ useradd 명령어 옵션

  • -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

✔︎ usermod 명령어 옵션

  • -u UID : 사용자 UID를 변경합니다
  • -g GID : 사용자 기본 그룹을 변경합니다.
  • -G GID : 사용자 보조 그룹을 변경합니다.
  • -a : -G 옵션과 같이 사용하며 사용자의 보조 그룹을 추가할때 사용한다
    -G옵션을 단독으로 사용하면 보조그룹이 추가되는 것이 아니라 변경만되기 때문에 추가하고 싶다면 -a옵션과 함께 사용해야한다.
  • -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

✔︎ groupadd 명령어 옵션

  • -g : 그룹 생성 시 그룹의 GID를 지정합니다.
  • -o : 그룹 생성 시 지정한 GID가 이미 사용 중일 때 중복을 허용합니다.
  • -r : 그룹 생성 시 시스템 그룹을 생성합니다. 201 ~ 999의 GID 중 사용하지 않고 있는 GID를 부여합니다.

    사진을 보면 -r 옵션을 통해서 201 ~ 999사이의 사용되지 않는 GID값을 부여받은 것을 볼 수 있다.

그룹 정보 수정


그룹의 정보를 수정하기 위해서는 groupmod 명령어를 사용합니다.
groupmod [option] group-name

✔︎ groupmod 명령어 옵션

  • -g : 지정된 그룹의 GID를 변경합니다.
  • -n : 지정된 그룹의 그룹명을 변경합니다.
  • -o : 지정된 그룹의 GID를 변경할 때 GID의 중복을 허용합니다.

그룹 삭제


그룹을 삭제하기 위해서는 groupdel 명령어를 사용합니다.
groupdel group-name

```groudel``` 명령어를 통해서 이전에 생성했던 group02가 검색되지 않는 것을 볼 수 있다.
profile
Back-End Developer

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN