[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 ~]$
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개의 필드를 포함하고 있다. 각 필드의 의미는
다음과 같다.
사용자명 (Username):
testuser2000
- 시스템에서 사용자를 식별하는 이름입니다.
암호 (Password):
!!
- 암호를 나타내는 필드입니다. 이 예에서는
!!
가 사용되었으며, 이는 암호가 설정되지 않았거나 비활성화된 상태를 의미합니다. - x는 비밀번호가 없다는 뜻(/etc/group)
-
!
: 이 기호는 사용자의 암호가 잠겨 있음을 의미합니다. 암호 필드의 앞에!
가 붙으면 사용자가 인증을 통해 시스템에 로그인할 수 없음을 나타냅니다. 기존의 암호 해시 앞에!
가 추가된 경우, 암호는 실제로 변경되지 않았지만 시스템은 이 계정을 잠금 상태로 처리합니다. !
또는!!
가 암호 필드에 포함된 경우, 해당 사용자는 일반적인 암호 인증 방법을 통해 로그인할 수 없습니다.!
는 기존 암호 해시 앞에 추가되어 계정을 잠그는 역할을 하며,!!
는 암호가 설정되지 않았거나 계정이 초기 상태임을 나타냅니다.
- 암호를 나타내는 필드입니다. 이 예에서는
최근 암호 변경일 (Last password change):
19927
- 1970년 1월 1일을 기준으로 암호가 마지막으로 변경된 날짜를 나타냅니다. 이 숫자는 '에포크(Epoch) 시간'을 기준으로 한 일 수입니다. 예를 들어, 이 숫자를 실제 날짜로 변환하면 다음과 같은 날짜가 됩니다.
암호 변경 최소 일수 (Minimum password age):
0
- 암호를 변경할 수 있는 최소 일수를 나타냅니다. 여기서 0은 사용자가 언제든지 암호를 변경할 수 있음을 의미합니다.
- 만약 7 이면 : 암호 변경 최소 일수. 즉, 사용자는 암호를 변경한 후 7일 동안 다시 변경할 수 없습니다.
암호 변경 최대 일수 (Maximum password age):
99999
- 암호를 유지할 수 있는 최대 일수를 나타냅니다. 99999는 암호가 거의 무한대로 유지될 수 있음을 의미합니다.
경고 일수 (Password warning period):
7
- 암호가 만료되기 전에 경고를 시작하는 일수를 나타냅니다. 여기서는 암호 만료 7일 전에 사용자에게 경고가 주어집니다.
비활성화 일수 (Password inactivity period): ``
- 암호가 만료된 후 비활성화되기 전까지의 일수를 나타냅니다. 이 필드가 비어있으면 비활성화 기간이 설정되지 않음을 의미합니다.
계정 만료일 (Account expiration date): ``
- 계정이 만료되는 날짜를 나타냅니다. 이 필드가 비어있으면 계정 만료일이 설정되지 않았음을 의미합니다.
예약 (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/ : 사용자 생성시 사용되는 기본 홈 디렉터리 생성 위치
댓글
댓글 쓰기