ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Linux/리눅스] 04. 사용자 명령어 , 그룹 명령어 , su , sudo , 액세스 제한
    Linux 2018. 12. 21. 13:01
    반응형

    사용자 및 그룹


    사용자


    시스템의 모든 프로세스는 특정 사용자로 실행된다.
    모든 종류의 파일은 특정 사용자가 소유한다.
    파일과 디렉토리에 대한 액세스는 사용자가 제한한다.

    id 명령은 현재 로그인한 사용자에 대한 정보를 표시한다.
    UID = 0~65535 까지의 범위이고 신규는 1000부터 할당된다.
    GROUPS = 주 그룹이다. [ , ] 는 세컨더리 그룹이다. MAX 32 개 까지 가능하다.

    파일/디렉토리 관련 사용자를 확인하기 위해서 ls -l 명령을 사용한다.

    세 번째 열은 사용자 이름을 보여준다.


    프로세스 정보를 확인하기 위해서 ps 명령을 사용한다.

    프로세스와 연관된 사용자를 확인하기 위해서 u 옵션을 적용한다.

    첫 번째 열은 사용자 이름을 보여준다.


    root : UID를 username 으로 매핑한 것이다.

    x : 암호화된 암호를 저장한 것이다.

        현재에는 /etc/shadow 파일에 저장된다.

    0 : UID는 사용자 ID이며, 사용자를 식별하는 번호이다.

    0 : GID는 사용자의 주 그룹 ID 이다.

    ~

    cat /etc/passwd 명령을 통해 로컬 사용자에 대한 정보를 확인한다.


    그룹


    그룹에는 이름과 번호(GID)가 있다.


    프라이머리 그룹

    - (1 사용자) : (1 기본 그룹)

    - 기본 그룹은 사용자가 만든 새 파일을 가진다.


    세컨더리 그룹

    - 사용자는 0개 이상의 보조 그룹에 속할 수 있다.

    - /etc/group에서 그룹 항목의 마지막 필드에 나열된다.

    - 보조 그룹은 사용자가 시스템에 있는 파일등에 대한 액세스 권한을 확인하는 데 사용된다.


    wheel : 그룹 이름

    10 : GID이다.

    civic, boob : 소속 그룹원





    슈퍼유저 액세스 권한 취득


    root 사용자


    모든 권한을 가진 슈퍼 유저이다.

    Windows의 로컬 Administrator 계정과 비슷한 역할을 한다.

    대부분의 장치는 root 로만 제어할 수 있다.

    이동식 장치는 일반 사용자도 제어할 수 있다.


    su 명령


    su 명령을 사용하여 다른 사용자 계정으로 전환할 수 있다.


    사용자 이름이 없거나, root 를 입력하면 root 계정을 의미한다.


    su [ - ] <username>


    - su username 명령은 로그인이 아닌 쉘 을 시작한다.

    - su 는 현재 환경에서 로그인 하려는 계정의 쉘을 시작한다.


    - su - username 명령은 로그인 쉘 을 시작한다.

    - su - 는 로그인 하려는 계정의 쉘 환경을 설정한다.




    sudo 명령


    관리자 권한으로 수행한다.
    /etc/sudoers
    관리자가 등록해야만 한다.
    su 명령에 비해 유리할 수 도 있다.





     

    로컬 사용자 계정 관리


    useradd 명령


    - useradd username 명령은 /etc/passwd 의 기본값을 설정한다.


    - useradd 명령은 기본적으로 암호를 설정하지 않는다.

    암호를 설정될 때 까지 로그인 할 수 없다.


    - 속성 규칙 /etc/login.defs 은 생성할 때만 사용된다.



    usermod 명령


    - usermod --help 명령으로 사용할 수 있는 명령을 확인한다.




    userdel 명령


    - userdel username 은 /etc/passwd 에서 사용자를 제거한다.

      하지만 홈 디렉토리는 그대로 유지한다.


    - userdel -r username 은 사용자와 사용자의 홈 디렉토리 모두를 제거한다.



    id 명령


    - id 는 사용자 UID 번호 / 그룹 구성원을 포함한 사용자 정보를 표시한다.


    - id username 은 username 사용자 정보를 표시한다.



    passwd 명령


    - passwd username을 사용하여 username 사용자의 암호를 설정할 수 있다.


    - root 사용자는 암호를 어떤 값으로든 설정할 수 있다.



    UID 범위


    - UID 0 은 항상 root 에게 할당 된다.

    - UID 1 ~ 200 은 시스템 프로세스에 정적으로 할당된 시스템 사용자 범위이다.

    - UID 201 ~ 999는 파일 시스템에 파일을 소유하지 않은 시스템 프로세스에 사용되는 범위이다.
    예 : 오라클 , 톰캣 , 자바 등등

    - UID 1000+는 정규 사용자에게 할당되는 범위이다.




    로컬 그룹 계정 관리


    groupadd 명령


    - groupadd groupname 은 /etc/login.defs 파일에 범위에서 사용 가능한 GID 를 사용한다.

    - groupadd -g GID 옵션은 특정 GID 를 지정한다.
      자동으로 할당되기 때문에 잘 사용하지 않는다.

    - groupadd -r groupname 옵션은 /etc/login.defs 파일에서 사용 가능한 범위에서 생성한다.



    groupmod 명령


    - groupmod 명령은 그룹 이름과 GID 매핑을 변경하는 데 사용된다.


    - groupmod -n changename groupname 은 groupname 을 changename 으로 변경한다.


    - groupmod -g GID groupname 은 groupname 의 GID 를 지정한다.




    groupdel 명령


    - groupdel 명령은 그룹을 제거한다.

    - 그룹이 기존 사용자의 기본 그룹인 경우에는 제거하지 못할 수도 있다.
      userdel 과 마찬가지이다.



    usermod 명령


    - usermod -g groupname username 명령은

      username 을 groupname 으로 기본 그룹을 변경한다.


    - usermod -aG groupname username 명령은

      username 을 groupname 으로 보조 그룹에 추가한다.





     

    사용자 암호 관리


    Shadow 암호 / 암호 정책


    /etc/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 : 도움말





    액세스 제한


    - chage 명령을 사용하여 계정 만료를 설정할 수 있다.

    - 날짜가 만료하게 되면 사용자는 로그인 할 수 없다.

    - 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/사용자-계정-비밀번호-만료 [나만의 공간]

    반응형
Designed by Tistory.