01. 사용자 관리 - 사용자 관리 명령어 이론

prana·2023년 3월 2일
0

Linux

목록 보기
13/28

출처 : 따라하면서 배우는 it - 리눅스 고급편

사용자 및 그룹 관리 명령어

  • 사용자 관리 명령어 - 사용자 계정 생성 useradd
[옵션][아규먼트][사용자 이름]
-uUID를 지정(normally set unique)
-g주 그룹의 GID 설정
-G보조 그룹의 GID 설정
-d홈 디렉토리
-m홈 디렉토리 지정 시 홈 디렉토리가 존재하지 않는 경우, 해당 디렉토리를 자동으로 생성하도록 하는 옵션
-s로그인 쉘 지정
-c주석(사용자에 대한 설명)
-f휴면 계정 전환 날짜 지정
-e만료일 지정
  • 옵션은 선택
  • UID Linux는 일반 사용자 1000번부터/ Unix는 다름
  • 주 그룹 : /etc/passwd
  • 보조 그룹 : /etc/group 마지막 필드
  • m : 디렉토리가 없는 경우에 생성, 있는 경우엔 그대로. m옵션 없이도 요즘에는 자동으로 생성
  • s : 일반적으로 /bin/bash 쉘을 쓰고 있음
  • e : 특정 날짜 지정
  • 명령어는 잘못쓰면, 알려줌
  • 명령어를 사용해서 설정하는 게 좀 더 안정적임

사용자 계정 정보 변경 - usermod

[옵션][아규먼트][사용자 이름]
-uUID를 지정(normally set unique)
-g주 그룹의 GID를 설정
-G보조 그룹의 GID 설정
-d홈 디렉토리
-s로그인 쉘 지정
-c주석(사용자에 대한 설명)
-f휴면 계정 전환 날짜 지정
-e만료일 지정

사용자 계정 삭제 - userdel

[옵션][사용자 이름]
-r해당 사용자가 사용하던 홈 디렉토리도 같이 삭제
  • 🚑 상황에 따라 삭제를 판단해야 할 때
    ex) 사용자는 필요 없어졌는데, 사용자가 쓰던 파일은 필요 있을 때는 지우면 안 됨.

그룹 관리 명령어 - Groupadd, groupmod, groupdel

1. groupadd

groupadd-g그룹의 GID 지정
-oGID 중복 설정 가능하게 하는 옵션

2. groupmod

groupmod-g그룹의 GID 지정
-oGID 중복 설정 가능하게 하는 옵션

3. groupdel

groupdel그룹을 제거할 때 사용하는 명령어
  • ex) test사용자인데, UID가 0인 경우, -> root사용자만 있게 관리를 해줘야한다. 고 가이드라인에 나와있다.

실습

  • user01 추가

  • home디렉토리에도 추가된 것 확인

  • 주석 부분 확인

  • UID를 0 으로 하면?

  • 👍 su - 사용자명 해도 관리자 root로 열리게 됨ㅋㅋ gid는 다름!

  • 만든 것 확인

  • sh쉘로 바꿔봅시다.

  • sh로 바뀌어져있는 것을 알 수 있다.

  • 확인 가능! ($SHELL: 환경변수)

  • usermod로 수정해보기

  • user03 uid 0에서 변경하고 다시 해보기

  • userdel이 안돼서 프로세스를 죽였다
    -> 그럼에도 안돼서, root에서 exit하고 계속 나가니, 일반 사용자로 로그인이 같이 되어있는 것을 발견 후 .. 다시 root에서 하니 잘 됐다.

  • 삭제 잘 됨, r 옵션은 홈디렉토리도 같이 삭제.

  • r 옵션 없이 삭제하면 홈 디렉토리 남아있다.

  • 안 지워지면? -r로 지운 다음, 사용자는 사라진 것 확인한 다음 홈디렉토리는 별도로 삭제 해주는 방법도 있다.

실습2

  • 이 초기화 파일들은 어떻게 생겼고, 무엇인지?
  • alias라던가, 프롬프트 모양, 환경변수 등 사용자가 생성될 때부터 초기화 파일이 자동으로 생성된다.

  • 그런데, 이 파일들은 /etc/skel이라는 디렉토리 안에 내용 보면 똑같은 걸 볼 수 있다.
  • skel : 뼈대. 특정 생성되는 사용자에 뼈대를 잡아주는. 배포되어야 하는 파일을 여기에 만들어놓음. 초기화 파일도 수정해놓는다면, 수정된걸로. 기본값들이 저장되어 있는.
  • 👍 사용자 디렉토리는 여기에 있는 파일들이 복사가 되어서 만들어지는 것이다.!

  • useradd -D : 사용자가 생성될 때, 기본적으로 설정되는 설정값들을 출력해주는 내용.
  • 만약 기본값 자체를 바꾸게 되면, 바뀐 값으로 사용자가 생성이 된다.
  • 바꾸고 싶다. useradd -D -s /bin/sh 이런 식으로 바꾸면 된다.

  • sh쉘로 바뀐 것 확인
  • 옵션값 따로 지정 안 했음에도, /bin/sh로 바뀐 것을 알 수 있다.
  • 다시 돌려주기 ㅎㅎ

0개의 댓글