[Linux/리눅스] 04. 사용자 명령어 , 그룹 명령어 , su , sudo , 액세스 제한
사용자 및 그룹
사용자
파일/디렉토리 관련 사용자를 확인하기 위해서 ls -l 명령을 사용한다.
세 번째 열은 사용자 이름을 보여준다.
프로세스 정보를 확인하기 위해서 ps 명령을 사용한다.
프로세스와 연관된 사용자를 확인하기 위해서 u 옵션을 적용한다.
첫 번째 열은 사용자 이름을 보여준다.
root : UID를 username 으로 매핑한 것이다. x : 암호화된 암호를 저장한 것이다. 현재에는 /etc/shadow 파일에 저장된다. 0 : UID는 사용자 ID이며, 사용자를 식별하는 번호이다. 0 : GID는 사용자의 주 그룹 ID 이다. ~ |
그룹
그룹에는 이름과 번호(GID)가 있다.
프라이머리 그룹
- (1 사용자) : (1 기본 그룹)
- 기본 그룹은 사용자가 만든 새 파일을 가진다.
세컨더리 그룹
- 사용자는 0개 이상의 보조 그룹에 속할 수 있다.
- /etc/group에서 그룹 항목의 마지막 필드에 나열된다.
- 보조 그룹은 사용자가 시스템에 있는 파일등에 대한 액세스 권한을 확인하는 데 사용된다.
wheel : 그룹 이름 10 : GID이다. civic, boob : 소속 그룹원 |
슈퍼유저 액세스 권한 취득
root 사용자
su 명령
su 명령을 사용하여 다른 사용자 계정으로 전환할 수 있다.
사용자 이름이 없거나, root 를 입력하면 root 계정을 의미한다.
su [ - ] <username>
- su username 명령은 로그인이 아닌 쉘 을 시작한다.
- su 는 현재 환경에서 로그인 하려는 계정의 쉘을 시작한다.
- su - username 명령은 로그인 쉘 을 시작한다.
- su - 는 로그인 하려는 계정의 쉘 환경을 설정한다.
sudo 명령
로컬 사용자 계정 관리
useradd 명령
- useradd username 명령은 /etc/passwd 의 기본값을 설정한다.
- useradd 명령은 기본적으로 암호를 설정하지 않는다.
암호를 설정될 때 까지 로그인 할 수 없다.
- 속성 규칙 /etc/login.defs 은 생성할 때만 사용된다.
usermod 명령
userdel 명령
- userdel username 은 /etc/passwd 에서 사용자를 제거한다.
하지만 홈 디렉토리는 그대로 유지한다.
- userdel -r username 은 사용자와 사용자의 홈 디렉토리 모두를 제거한다.
id 명령
- id 는 사용자 UID 번호 / 그룹 구성원을 포함한 사용자 정보를 표시한다.
- id username 은 username 사용자 정보를 표시한다.
passwd 명령
- passwd username을 사용하여 username 사용자의 암호를 설정할 수 있다.
- root 사용자는 암호를 어떤 값으로든 설정할 수 있다.
UID 범위
로컬 그룹 계정 관리
groupadd 명령
groupmod 명령
- groupmod 명령은 그룹 이름과 GID 매핑을 변경하는 데 사용된다.
- groupmod -n changename groupname 은 groupname 을 changename 으로 변경한다.
- groupmod -g GID groupname 은 groupname 의 GID 를 지정한다.
groupdel 명령
usermod 명령
- usermod -g groupname username 명령은
username 을 groupname 으로 기본 그룹을 변경한다.
- usermod -aG groupname username 명령은
username 을 groupname 으로 보조 그룹에 추가한다.
사용자 암호 관리
Shadow 암호 / 암호 정책
$6$5CygCo1Pvboac9qI$3yGfa0EZ. 7~ :
- 6 : 해시 알고리즘 ( 1 은 MD5 , 6 은 SHA-512 해시 )
- 5CygCo1Pvboac9qI : 암호화 salt , 랜덤 선택 , 중복되지 않는다.
- 3yGfa0EZ. 7~ : : 암호화된 해시이다.
암호 속성 변경
- chage -d 0 username 명령은 다음 로그인 시 강제로 암호 갱신을 실행한다.
- chage -l username 명령은 사용자의 현재 설정이 나열된다.
- chage -E YYYY-MM-DD username 명령은 YYYY년 MM월 DD일 에 계정을 만료한다.
- chage -m <number> -M <number> -W <number> -I (대문자 i) <number> username
- m (Min days) : 최소 사용 기간
- M (Max days) : 최대 사용 기간
- W (Warn days) : 사용기간 만료일에 근접할 시 경고/알림
예 : -W 7 은 계정 만료 7일전에 경고/알림
- I (Inactive) (i) : 만료 후 잠금상태 대기
- l (List) (L) : 사용자 계정의 설정을 표시
- d : 사용자가 비밀번호를 변경한 마지막 일자
- h : 도움말
액세스 제한
- usermod -L username 명령으로 username 사용자를 LOCK 할 수 있다.
- usermod -U username 명령으로 username 사용자를 UNLCOK 할 수 있다.
- usermod -s /sbin/nologin username 명령으로 쉘 연결을 바로 종료할 수 있다.
-M (max) : 최대 사용기간
-W (warn) : 사용기간 만료 몇 일전 경고 또는 알림.
-I (inactive) : 만료 후 잠금상태 대기 (일종의 유예기간)
-E [YYYY-MM-DD] : 사용자가 사용할 수 있는 계정의 유효기간
-l (list) : 사용자 계정의 현재 설정을 표시
-d 0 : 다음 로그인시 암호 업데이트를 강제 수행
-d : 사용자가 비밀번호를 변경한 마지막 일자
-h : 도움말
출처: http://kimttthhh.tistory.com/entry/사용자-계정-비밀번호-만료 [나만의 공간]
-M (max) : 최대 사용기간
-W (warn) : 사용기간 만료 몇 일전 경고 또는 알림.
-I (inactive) : 만료 후 잠금상태 대기 (일종의 유예기간)
-E [YYYY-MM-DD] : 사용자가 사용할 수 있는 계정의 유효기간
-l (list) : 사용자 계정의 현재 설정을 표시
-d 0 : 다음 로그인시 암호 업데이트를 강제 수행
-d : 사용자가 비밀번호를 변경한 마지막 일자
-h : 도움말
출처: http://kimttthhh.tistory.com/entry/사용자-계정-비밀번호-만료 [나만의 공간]
-m (min) : 최소 사용기간
-M (max) : 최대 사용기간
-W (warn) : 사용기간 만료 몇 일전 경고 또는 알림.
-I (inactive) : 만료 후 잠금상태 대기 (일종의 유예기간)
-E [YYYY-MM-DD] : 사용자가 사용할 수 있는 계정의 유효기간
-l (list) : 사용자 계정의 현재 설정을 표시
-d 0 : 다음 로그인시 암호 업데이트를 강제 수행
-d : 사용자가 비밀번호를 변경한 마지막 일자
-h : 도움말
출처: http://kimttthhh.tistory.com/entry/사용자-계정-비밀번호-만료 [나만의 공간]