2009. 3. 25.

일반 사용자 슈퍼권한 및 계정 관련내용

▶ 일반사용자 슈퍼권한 할당 방법

1). root 권한으로 /etc/sudoers 파일을 열어본다.

아래는 design 이라는 일반계정을 root 권한으로 부여해 줘보자.

16 # User privilege specification
17 root ALL=(ALL) ALL # root 사용자에 대한 모든 권한
18 design ALL=/sbin/shutdown, /file_design/design # whell 그룹에 대한 루트 권한
19 %test ALL=(ALL) ALL # 일반 사용자에 대한 특정권한
위와 같이

2). sudo 명령어
형식 : $ sudo 명령어
$ sudo shutdown -r now
password :

▶ X-win 에서 사용자 계정 관리
1). system-config-users 실행
- Alt+F2 키를 눌러 실행 창에서 system-config-users 명령 입력


▶ 그룹 관리
1). 그룹생성
usage: groupadd [-g gid [-o]] [-r] [-f] group
[옵션]
-g : 그룹의 고유 ID
-o : 그룹의 고유 ID를 500이하의 값으로 지정하는 경우 사용
-r : 그룹의 ID를 500 이하의 값으로 자동 지정
-f : 강제로 그룹을 추가하는 옵션

ex)
# groupadd test
# groupadd -g 801 test2

2). 그룹 속성 변경
사용법: groupmod [-g gid(그룹 아이디) [-o]] [-n 이름] 그룹명
[옵션]
-g : 그룹의 고유 ID
-o : 그룹의 고유 ID를 500이하의 값으로 지정하는 경우 사용
-n : 변경될 그룹명

ex)
# groupmod -n test imsi
# groupmod -g 802 test

3). 그룹 삭제
ex)
# groupdel test

▶ 로그인 관리
[1]
1). 특정계정 로그인 허용 및 불허 정책(실행 레벨 2, 3번에서 사용)
/etc.pam.d/login 파일의 맨 윗줄 수정(추가)
auth required /lib/security/pam_listfile.so item=user sense=allow file=/etc/loginuser onerr=succeed

2). /etc/loginuser 파일 생성 및 로그인 가능 계정 추가
이 파일안에 로그인 가능한 계정만 추가
# 반대인 경우 1). 번에서 sense=deny file 부분을 nologinuser로 한다음 2).번에서 nologinuser를 생성

->혹 사용자는 로그인 불허하는 방법으로 제일 쉬운 방법을 /etc/passwd 에서 그 계정에 해당하는 쉘종류를 /bin/bash 에서 /bin/false로 변경하는 거라고 한다.
-> 또한 잠깐동안 못쓰게 할려면 /etc/passwd 에서 그 계정의 두 번째 컬럼 부분의 x에 해당하는 부분은 * 로 잠깐 바꾸는 법이다.

- PAM에 의한 계정의 로그인 허용과 불허 방법은 콘솔, 텔넷, FTP, SSH에서 모두 적용 가능.
- X-win로 접속할 때는 적용 되지 않는다.

[2]
su - 명령 사용자 제한
1). /etc/pam.d/su 파일 수정
auth suuficent /lib/security/pam_rootok.so
auth requried /lib/security/pam_wheel.so use_uid
이 두부분을 주석 제거 한다.

2). /etc/group 의 wheel그룹에 su 명령 사용가능한 계정추가
ex) wheel:x:10:root,계정명 이런식으로 수정한다.

% 추가로 로그 기록을 위한 debug옵션 추가를 한다.
auth required /lib/security/pam_wheel.so debug use_uid
%verify 하는 법
tail /var/log/messages



▶ 사용자 계정 바꾸기
# su -
-> root의 열쇠글 입력
# su test
-> test의 열쇠글 입력

"-" 이부분이 들어가게 되면 시스템 정보도 함께 갖고 오게됨,

▶ 계정 사용자 정보 변경
# su - (su 뒤에 - 또는 -l 붙이지 않으면 완전한 root권한을 얻지 못한다.)
-> 슈퍼유저(root)의 열쇠글 입력
# usermod -s /bin/tcsh test
# cat /etc/passwd | grep test

usage: usermod [-u uid [-o]] [-g group] [[-a] -G group,...]
[-d 홈 디렉토리 [-m]] [-s 쉘] [-c 적요사항] [-l 새_이름]
[-f 비활성화] [-e 만기] [-p 패스워드] -L|-U] 이름

-c : 내용
-d : 홈디렉토리
-e : 만료일
-G : 그룹
-s : 기본 쉘
-u : UID
-l : 사용자 계정명 변경


▶ 계정 열쇠글 지정 및 변경
1) /etc/passwd 파일을 직접 열어서 열쇠글 변경(비추천)
2) 시스템 관리자에 의한 사용자 계정 열쇠글 변경
ex)
# useradd test
# passwd test
- test 사용자 비밀번호를 두 번 입력
3) 사용자가 직접 열쇠글 변경
$ passwd
- 자신의 현재 비밀번호를 입력한 후, 다시 자신의 비밀번호를 두 번 입력한다.

4) Shadow 열쇠글 시스템
# cat /etc/passwd | grep root
# pwunconv # 열쇠글 필드에 x대신 열쇠글이 나타나도록 설정.
# cat /etc/passwd | grep root
# pwconv # Shadow 열쇠글 시스템 적용.
# cat /etc/passwd | grep root
# pwunconv 상태에선 사용자 비밀번호 변경이 불가함.

5) /etc/shadow
1계정명:2열쇠글:3최정변경일:4변경취소일수:5변경유예기간:6변경경고일수:7사용불가날짜:8만료일:9예약

6) chage 를 이용한 계정 열쇠글 관리
사용법: chage [-l] [-m 최소일수] [-M 최대일수] [-W 경고일수]
[-I 무효일수] [-E 만료일수] [-d 새 패스워드 변경일] 사용자명

# chage -M 15 -E 2009/03/25 test
# chage -l test

댓글 없음: