[Linux] 리눅스 사용자 관리~사용자 추가 및 비밀번호 설정, 사용자 전환 및 관리~(유저 추가 등록 비밀번호 변경 전환)_su sudo user add mod del password register-Linux directory structure-++

* 1. 사용자 추가/변경/삭제, 비밀번호 설정, 사용자 전환 

- 사용자 생성

root : useradd username
일반사용자: sudo useradd username
- 비밀번호 설정
passwd username
> Changing password for user username.
> New password: 1111 > BAD PASSWORD: The password is a palindrome > Retype new password: 1111 > passwd: all authentication tokens updated successfully.
* root는 비밀번호 규칙 무시가능
- 사용자 전환
su username

whoami 
>username

exit(혹은 logout) -> 세션(프롬프트) 나가기 
* 기본user에서 sudo -i를 통해 root로 세션을 변경했거나 
다른방법으로 세션를 변경했을 때 원래user로 돌아오게됨

  * 비밀번호가 설정 되어있지 않은 계정으로 사용자 전환 시 비밀번호가 없으면 

  접근 할 수 없기 때문에 sudo 권한 혹은 root 세션으로 변경해서 접근해야함

  * 프롬프트에 root는 [root@ip-172-31-14-252 ~]#  // [ec2-user@ip-172-31-14-252 ~]$ 

  로 #, $로 root와 user를 구분 할 수 있음.

  
 - 사용자 변경
sudo usermod -l new_username old_username
usermod 명령어는 리눅스 시스템에서 사용자 계정을 수정하는 데 사용됨
이 명령어는 다양한 옵션을 제공하여 사용자 정보, 홈 디렉토리,셸 등을 변경할 수 있다. 
그 중 -l 옵션은 사용자 계정 이름을 변경하는 데 사용됩니다.
- 사용자 삭제

userdel username // 사용자 계정만 삭제 userdel -r username // 계정의 home directory 등을 포함한 완전 삭제


* 계정삭제 시 패스워드 삭제할때 관련 데이터 전부 삭제할지 체크

     grep -n username/dev/null /etc/passwd /etc/group /etc/shadow /etc/gshadow

     으로 확인 시  해당 경로들에 user 비밀번호 정보가 담겨으며, 확인이가능하다. 

     그것까지 지울 때 같이 지울지 생각해봐야한다. 

    - username:!!:19927:0:99999:7::: 해석 

    이 줄은 콜론(:)으로 구분된 9개의 필드를 포함하고 있다. 각 필드의 의미는 

    다음과 같다.

  1. 사용자명 (Username): testuser2000

    • 시스템에서 사용자를 식별하는 이름입니다.
  2. 암호 (Password): !!

    • 암호를 나타내는 필드입니다. 이 예에서는 !!가 사용되었으며, 이는 암호가 설정되지 않았거나 비활성화된 상태를 의미합니다.
    •  x는 비밀번호가 없다는 뜻(/etc/group)
    •  !: 이 기호는 사용자의 암호가 잠겨 있음을 의미합니다. 암호 필드의 앞에 !가 붙으면 사용자가 인증을 통해 시스템에 로그인할 수 없음을 나타냅니다. 기존의 암호 해시 앞에 !가 추가된 경우, 암호는 실제로 변경되지 않았지만 시스템은 이 계정을 잠금 상태로 처리합니다.
    • ! 또는 !!가 암호 필드에 포함된 경우, 해당 사용자는 일반적인 암호 인증 방법을 통해 로그인할 수 없습니다.
    • !는 기존 암호 해시 앞에 추가되어 계정을 잠그는 역할을 하며, !!는 암호가 설정되지 않았거나 계정이 초기 상태임을 나타냅니다.
  3. 최근 암호 변경일 (Last password change): 19927

    • 1970년 1월 1일을 기준으로 암호가 마지막으로 변경된 날짜를 나타냅니다. 이 숫자는 '에포크(Epoch) 시간'을 기준으로 한 일 수입니다. 예를 들어, 이 숫자를 실제 날짜로 변환하면 다음과 같은 날짜가 됩니다.
  4. 암호 변경 최소 일수 (Minimum password age): 0

    • 암호를 변경할 수 있는 최소 일수를 나타냅니다. 여기서 0은 사용자가 언제든지 암호를 변경할 수 있음을 의미합니다.
    • 만약 7 이면 : 암호 변경 최소 일수. 즉, 사용자는 암호를 변경한 후 7일 동안 다시 변경할 수 없습니다.
  5. 암호 변경 최대 일수 (Maximum password age): 99999

    • 암호를 유지할 수 있는 최대 일수를 나타냅니다. 99999는 암호가 거의 무한대로 유지될 수 있음을 의미합니다.
  6. 경고 일수 (Password warning period): 7

    • 암호가 만료되기 전에 경고를 시작하는 일수를 나타냅니다. 여기서는 암호 만료 7일 전에 사용자에게 경고가 주어집니다.
  7. 비활성화 일수 (Password inactivity period): ``

    • 암호가 만료된 후 비활성화되기 전까지의 일수를 나타냅니다. 이 필드가 비어있으면 비활성화 기간이 설정되지 않음을 의미합니다.
  8. 계정 만료일 (Account expiration date): ``

    • 계정이 만료되는 날짜를 나타냅니다. 이 필드가 비어있으면 계정 만료일이 설정되지 않았음을 의미합니다.
  9. 예약 (Reserved): ``

    • 미래의 사용을 위해 예약된 필드로, 현재는 비어있습니다.

    이 줄은 특정 사용자의 암호 및 계정 관련 설정을 나타내며, 시스템 관리자가 사용자 

    계정의 보안 설정을 관리하는 데 사용됩니다.


3. 명령어 

- su : 사용자 전환 명령어 

   [형식]

      su 계정명

     일반계정 -> root, 다른 일반계정 : 인증을 필요함

     root -> 다른 일반계정으로 전활 : 인증이 불필요함.    


- sudo : 제한적 관리자 권한 사용 명령어. 관리자 권한으로 명령을 실행해야 하는 경우 

    [형식]

      sudo [옵션] or [명령어-관리자 권한으로 실행할 명령어]

    (옵션)

      -i    : 해당 터미널에서 관리자 권한 세션으로 처리

* sudo -i : 입력 시 root 세션으로 변경됨 (프롬프트에 #이생김 사용자는 )

* sudo 는 관리자 권한을 사용할 수 있는 설정이 되어 있는 경우에만 사용이 가능함.

* sudo 설정 변경은 "visudo"를 통해서 변경이 가능함.( 설정파일의 위치 : /etc/sudoers ) 

- 사용자 정보 변경(usermod)

   [형식]

    usermod [옵션] 계정명

   (옵션) : 대부분 useradd옵션과 동일 

     -l  : 아이디[계정명]를 수정하는 옵션 

    ex) usermod -l testuser2000 testuser2  => testuser2 => testuser2000

 

- 사용자 정보 삭제(userdel)

   [형식]

     userdel [옵션] 계정명

   (옵션) : 대부분 useradd옵션과 동일 

     -r  : 계정과 연관된 파일, 디렉터리를 동시에 삭제


- 사용자 패스워드 설정 관리(passwd)

   [형식] 

     passwd [옵션] [사용자 계정]

   (옵션)

     -S : 계정의 패스워드 상태를 출력 ( /etc/shadow )

     -l  : 계정의 패스워드 Lock설정(잠김)

     -u : 계정의 패스워드 Unlock설정(잠김 해제)

     -d : 계정의 패스워드 삭제

     *옵션이 없는 경우, 사용자 패스워드 설정 또는 변경

     *사용자 계정을 사용하지 않는 현재 작업 중인 사용자가 대상

     *루트는 비밀번호 설정 시 비번 규칙무시됨

     *유저는 비밀번호를 설정안하면 접속안됨(sudo 권한으로 접근해야함)


4. 사용자 추가 관리

리눅스에서 사용자 관리에서 사용되는 파일들... 

1. /etc/passwd  : 사용자 정보가 저장되는 파일

2. /etc/group : 그룹 정보를 담고 있는 파일 (내용 확인 시 wheel 이 관리자 그룹 즉 sudo권한)

3. /etc/shadow : 사용자의 패스워드 및 계정 정책에 대한 내용이 존재함.

4. /etc/gshadow : 그룹 패스워드와 그룹관리자에 대한 정보를 저장한 파일

5. /etc/default/useradd : 사용자 생성시 기본값을 정의한 파일(useradd명령어의 기본 설정정보)

6. /etc/login.defs : 사용자 및 패스워드에 관한 설정 값에 대한 정의가 저장된 파일

7. /var/spool/mail : 사용자 mail함 파일이 생성되는 디렉터리 

8. /etc/skel : 사용자의 홈디렉터리를 구성하는 환경 파일이 저장되는 디렉터리

9. /home/ : 사용자 생성시 사용되는 기본 홈 디렉터리 생성 위치

댓글

T O P