23. pwconv(섀도우 패스워드) |
1) 경로 : /usr/sbin/pwconv
2) 요약 : 패스워드 파일을 단방향 해시 형태의 섀도우로 변환
3) 사용 방법 : pwconv
4) 추가 설명
/etc/passwd 파일은 일반 사용자가 읽을 수 있어 보안 취약성을 내포하고 있습니다. pwconv 명령어는 /etc/passwd 파일의 데이터를 변경하고, 섀도우 정보에 포함시킵니다. 참고로 패스워드가 아직 활성화되지 않은 사용자는 /etc/shadow 파일에는 추가되지 않습니다. 패스워드의 만료나 경고 또는 잠금 등의 정보는 /etc/login.defs에서 정의합니다. 대부분 시스템이 섀도우 기능을 기본적으로 사용하고 있어 추가적으로 pwconv 명령을 실행할 필요는 없을 것입니다. 섀도우 설정 해제는 pwunconv 명령어를 사용합니다. 이는 섀도우 데이터를 /etc/passwd 형식으로 변경하고, /etc/shadow 파일을 삭제합니다.
/etc/shadow 파일은 슈퍼유저(root)만이 읽고 쓸 수 있고, shadow 그룹은 읽기 권한만 있습니다.
$ ls -al /etc/shadow
-rw -r----- 1 root shadow 1277 Dec 31 2019 17:30 /etc/shadow
24. su(다른 사용자 환경) |
1) 경로 : /bin/su
2) 요약 : 로그아웃 없이 임시로 다른 사용자의 UID, GID 환경을 사용
3) 사용 방법 : su [옵션][사용자][쉘변수]
4) 옵션
-c COMMAND, --command=COMMAND : 상호 대화형 모드가 아닌 지정한 명령어(COMMAND)를 실행
-f, --fast : 시작 파일을 읽지 않고 실행, csh 쉘과 tcsh 쉘에만 해당
--help : 도움말 출력
-, -l, --login : 지정한 사용자 환경으로 변경
-m, -p, -preserve-environment : 이전의 "$HOME", "$USER", "$LOGNAME", "$SHELL" 등의 환경 변수값을 계속 유지
-s, --shell shell : 지정한 쉘을 실행
--version : 버전 정보 출력
5) 추가 설명
주로 일반 사용자로 로그인하여 잠시 동안 슈퍼유저(root) 권한의 명령어를 실행할 때 유용합니다. 사용자를 지정하지 않으면 슈퍼 유저인 root로 실행합니다. 실행되는 쉘은 사용자의 패스워드 목록에서 찾거나, 정의된 쉘을 찾을 수 없으면 /bin/sh 쉘을 실행합니다. su를 실행하는 실제 사용자의 ID가 슈퍼유저의 권한이라면 사용자의 패스워드가 있더라도 패스워드를 확인하지 않습니다.
su 명령어는 루트의 "$PATH" 환경 변수는 읽지 못합니다. 슈퍼 유저의 "$PATH"가 필요하다면 su - 명령어를 사용합니다. su -와 같은 명령은 su -l, su -login이 있습니다.
<참고사항>
su 사용자 제한하기
1. /etc/pam.d/su의 첫 줄에 다음을 추가
아래와 같이 제한한 사용자만 su 명령어를 사용할 수 있습니다.
auth required /lib/security/pam_wheel.so debug group=chanchan
2. /etc/group 파일에서 su를 사용할 수 있는 사용자 그룹을 지정할 수 있습니다. 아래 예는 park 그룹을 사용 가능하도록 등록합니다.
park:x:500:park,root,someone
먄약 park의 그룹에 속하지 않는 사용자가 su를 시도하면 /var/log/message 로그 파일에 "PAMWheel[25873]: Access denied for 'user' to 'root'" 라고 저장됩니다.
25. useradd(사용자 추가) |
1) 경로 : /usr/sbin/useradd
2) 요약 : 사용자 추가
3) 사용 방법 : useradd [옵션] 사용자ID
4) 옵션
-c comment : 새로운 사용자의 설명을 추가한다. 사용자의 전체 이름을 지정 가능
-d 홈디렉터리 : 사용자의 홈 디렉터리 위치를 지정, 기본값은 /home 디렉터리이다
-e 날짜 : 임시 사용자의 사용 기간을 제한한다. YYYY-MM-DD(년도-월-일) 방식으로 지정
-f 남은 날 수 : 임시로 생성한 사용자의 사용 기간을 지정
-g 그룹 : 새로운 사용자의 그룹을 지정
-G 그룹, ... : 새로운 사용자가 포함되는 여러 그룹을 지정
-u UserID : 새로운 사용자의 ID 값을 지정, 사용자 ID 값은 /etc/passwd 파일로 확인 가능
-p 패스워드 : 새로운 사용자를 추가하면서 동시에 패스워드도 지정
-s shell : 새로운 사용자의 쉘을 지정
-m -k skell_dir : skell 디렉터리를 지정, 기본값은 /etc/skell의 내용을 새로운 사용자의 디렉터리로 복사
5) 추가 설명
서버를 관리하다 보면 임시로 사용할 ID를 생성할 때가 있습니다 .이럴 때 -e 옵션으로 날짜를 지정하여 지정한 날짜가 만료되면 임시 사용자는 더 이상 접속할 수 없게 할 수 있습니다. -c 옵션으로 사용자의 이름을 추가 지정할 수 있습니다.
# useradd -e 2020-01-31 -c chane chanchan2
# finger chanchan2
Login : chanchan2 Name : chane
Directory : /home/chanchan2 Shell : /bin/sh
Never logged in.
No mail.
No Plan.
useradd의 -p 옵션으로 새로운 사용자를 추가하는 동시에 패스워드도 생성할 수 있습니다. 새로운 사용자를 생성할 때 /etc/skel 내용을 /home 디렉터리에 복사합니다. 아래 예제는 이와 같이 -m -k 옵션으로 사용자별로 skel 디렉터리를 지정해 줄 수도 있습니다.
# useradd -m -k /etc/skel2 -p apapap chan3
26. userdel(사용자 삭제) |
1) 경로 : /usr/sbin/userdel
2) 요약 : 사용자 삭제
3) 사용 방법 : userdel [옵션] 사용자ID
4) 옵션
-r : 사용자 ID뿐만 아니라 홈 디렉터리 까지 삭제
5) 추가 설명
userdel 명령을 옵션 없이 실행하면 사용자 디렉터리 정보는 삭제하지 않고 지정한 사용자 ID만 삭제합니다.
27. usermod(사용자 설정 환경 변경) |
1) 경로 : /usr/sbin/usermod
2) 요약 : 사용자 설정 환경 변경
3) 사용 방법 : usermod [옵션] 사용자ID
4) 옵션
-c comment : 사용자의 설명을 변경, 사용자의 전체 이름을 지정 가능
-d 홈디렉터리 : 사용자의 홈 디렉터리 위치를 지정
-e 날짜 : 사용자의 사용 기간을 제한, YYYY-MM-DD 방식으로 지정
-f 남은일수 : 임시 사용자의 사용 기간을 지정
-g 그룹 : 새로운 사용자의 그룹을 지정
-G 그룹, ... : 사용자를 포함할 그룹들을 지정
-l 사용자ID : 사용자 ID를 변경
-p 패스워드 : 사용자의 패스워드를 지정
-s shell : 사용자의 쉘을 지정
-u UserID : 사용자의 ID 값을 변경, 사용자 ID 값은 /etc/passwd 파일에서 확인
-L : 사용자의 패스워드에 락을 걸어 로그인을 제한, 이 옵션은 패스워드를 지정하는 -p 옵션이나 패스워드 락을 해제하는 0U 옵션과는 같이 사용할 수 없음
-U : 사용자 패스워드의 락을 해제, 이 옵션은 패스워드를 지정하는 -p 옵션이나 패스워드에 락을 거는 -L 옵션과 같이 사용할 수 없음
5) 추가 설명
usermod는 이전에 존재하는 사용자의 정보를 변경한다. 로그인 중인 사용자의 정보는 수정하지 못하니 주의합니다.
예) chanchan의 사용자 이름과 패스워드를 변경
# usermod -c chanchan_father -pgksqlc chanchan
# finger chanchan
Login : chanchan Name : chanchan_father
Directory : /home/chanchan Shell : /bin/sh
Never logged in.
No mail.
No Plan.
예) chanchan의 로그인 ID 변경
# usermod -l park chanchan
# finger park
Login : park Name : chanchan_father
Directory : /home/chanchan Shell : /bin/sh
Never logged in.
No mail.
No Plan.
'IT 이야기 > Linux 명령어' 카테고리의 다른 글
[RHEL6] 네트워크 명령어 1탄(arp, arping) (0) | 2020.01.02 |
---|---|
[RHEL6] 계정관리 명령어들 9탄(users, w, who, whoami) (0) | 2020.01.02 |
[RHEL6] 계정관리 명령어들 7탄(newgrp, newusers, passwd, pwck) (0) | 2019.12.31 |
[RHEL6] 계정관리 명령어들 6탄(lastlog, login, logname) (0) | 2019.12.31 |
[RHEL6] 계정관리 명령어들 5탄(grpconv, last, lastb) (0) | 2019.12.31 |
댓글