2012. 2. 5. 22:30ㆍ개발/서버
1. 계정의 이해
리눅스의 계정은 오피스텔의 임대에 비유 할수 있다.
루트권한, 로그인, 계정생성, 소유권, 퍼미션, 그레커, 열쇠글, 계정삭제
2. 계정생성
* 생성 : useradd [옵션] 계정명 (adduser 와 같음)
* 변경 : usermod [옵션] 계정명
* 삭제 : userdel [옵션] 계정명
-> /etc/passwd 파일에 계정 정보 저장
(실습)
# useradd kim (==adduser kim)
# ls -l /home
# useradd -c 010-1213-4567 hong
# cat /etc/passwd | grep hong * assuser 옵션
hong:x:502:502:010-123-4567:/home/hong:/bin/bash 사용자계정:사용자비번:사용자UID:사용자소속그룹:사용자정보:사용자홈디렉토리:사용자로그인쉘 -> 사용자비번은 /etc/shadow에 숨겨져 있다. -> 사용자UID의 체계 0 : 관리자 1~499 : 시스템 계정 500이상 : 사용자 계정 -> 사용자 그룹 ID : 500부터 시작 |
옵션 | 기 능 |
-c 설명(코멘트) | 설명 패스워드 파일에 새로운 사용자 설명 추가 |
-d 디렉토리 | 디렉토리 디렉토리 위치 지정 |
-e 유효기간 | 유효기간 지정된 날짜에 사용자의 계정을 삭제 |
-f 비활성일수 | 비활성일수 패스워드가 만기된 후 계정이 영구히 말소될 때까지의 기간 |
-u uid | 사용자 ID에 대한 값 |
-s shell | 사용자의 로그인 쉘을 지정 |
-n | 사용자 계정 추가 기본 모드를 지정하지 않을 때 |
-G [그룹, ...] | 사용자가 기본 그룹 이외의 다른 그룹에 추가하고자 할 때 |
-M | 홈디렉토리를 만들지 않겠다. |
(실습)
# mkdir /users
# useradd -d /users/kang kang <--주의: -d 옵션을 사용하지 않으면 /etc/passwd를 직접 수정 함.
# ls -l /users
# cat /etc/passwd | grep kang
>> 사용자 디렉토리 생성 과정
새로 생성된 디렉토리의 기본적인 숨김 파일들은 /etc/skel디렉토리 내에 있는 파일들이 복사 된 것.
3. adduser 명령 기본 설정값 변경 ( useradd -D )
옵션 알아 보기
-b 기본 홈
-e 기본 만료일(2007-12-15 의 형태로 지정)
-f 기본 비 작동일(기본적으로-1지정으로 비활성화 꺼져있음,0은 기간 만료후 계정사용 불가)
-g 기본 그룹
-s 기본 쉘
-m -k -skel 디렉토리 (/etc/나디 대신 다른 경로의 skeletion을 이용하고자 할 때)
-m 사용자 계정 경로 없이 계정 생성
(실습)
# adduser -D <-- 사용자 생성 명령어 기본 설정값 확인
# adduser -D -b /users <-- 기본 홈 디렉토리를 /home에서 /user로 변경
# adduser -D
# adduser -D -s /bin/false
# adduser -D
# adduser fedora <-- 새로운 사용자를 추가
# cat /etc/passwd | grep fedora <-- 확인
4. 사용자 계정 삭제
# userdel fedora
# cat /etc/passwd | grep fedora
# ls -l /users <-- 아직 삭제된 계정의 홈디렉토리는 남아 있다.
# userdel -r kang
# ls -l /users <-- 계정 삭제시 -r옵션을 사용하면 디렉토리 및 파일 모두가 한번에 삭제 됨.
>> 계정 서비스를 보류한 사용자의 계정 처리
/etc/passwd의 열쇠글 필드를 * 표시로 처리 -> 로그인 불가
>> 실계정을 발급하되 로그인은 불가능하도록 처리
/etc/passwd 파일에서 /bin/bash 부분을 /bin/false로 변경
5. 계정 열쇠글 지정 및 변경
1) /etc/passwd 파일을 직접 열어서 열쇠글 변경 (비추천)
2) 시스템 관리자에 의한 사용자 계정 열쇠글 변경
(실습)
# useradd fedora2
# passwd fedora2
-> 사용자 비밀번호를 두 번 입력한다.
3) 사용자가 직접 열쇠글 변경
$ passwd
-> 자신의 현제 비밀번호를 입력한 후,
-> 다시 자신의 비밀 번호를 두 번 입력한다.
>> 사용자가 열쇠글을 변경 시 유의할 사항
1. 열쇠글은 숫자로만 지정해서는 안됩니다.
2. 열쇠글은 사전적인 쉬운 단어로 지정해서는 안됩니다.
3. 열쇠글은 6자 이상이어야 하는데 이는 /etc/login.def 파일에 명시되어 있습니다.
4. 열쇠글은 이전에 사용하였던 열쇠글과 동일해서는 안됩니다.
7. 열쇠글은 여러 문자와 숫자를 조합하여 사용하는 것이 가장 좋습니다.
4) 새도우 열쇠글 시스템(Shadow Password System)
# cat /etc/passwd | grep root
# pwunconv <-- 열쇠글 필드에 x대신 열쇠글이 나타나도록 설정.
# cat /etc/passwd | grep root
# pwconv <-- 새도우 열쇠글 시스템 적용.
# cat /etc/passwd | grep root
>> pwunconv 상태에선 사용자 비밀번호 변경이 불가함.
5) /etc/shadow
1계정명:2열쇠글:3최종변경일:4변경최소일수:5변경유예기간:6변경경고일수:7사용불가날짜:8만료일:9예약
6) chage를 이용한 계정 열쇠글 관리
chage [-I][-m최소유효일][-M최대유효일][-W경고일수][-l비활성일수][-E만료일][-d]사용자계정
# chage -M 15 -E 2009/01/16 fedora2
# chage -l fedora2
6. 계정 사용자 정보 변경
$ su - (su 뒤에 - 또는 -l을 붙이지 않으면 완전한 root권한을 얻지 못한다.)
-> 슈퍼유저(root)의 열쇠글 입력
# usermod -s /bin/tcsh fedora2
# cat /etc/passwd | grep fedora2
>>usermod의 옵션 정리
-c 내용
-d 홈디렉토리
-e 만료일
-G 그룹
-s 기본 쉘
-u UID
-l 사용자 계정명 변경
7. 사용자 계정 바꾸기(su)
$ su -
-> root의 열쇠글 입력
# su kim
-> kim의 열쇠글 입력
$ exit (원래의 사용자로 돌아 간다.)
8. 로그인 관리
[1] 특정 계정 로그인 허용 및 불허 정책 (실행 레벨 2, 3 번에서 사용)
1) /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-windows로 접속할때는 적용 되지 않는다.
[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 명령 사용가능한 계쩡 추가
예를 들어 wheel:x:10:root,계정명 이런식으로 고친다.
%추가로 로그 기록을 위한 debug옵션 추가를 한당.
auth required /lib/security/pam_wheel.so debug use_uid
%verify 하는 법
tail /var/log/messages
9. 일반사용자가 루트 권한 행사하기(sudo)
1) /etc/sudoers 파일의 설정 형식
사용자 호스트 명령어
root ALL=(ALL) ALL <-- root사용자에 대한 모든 권한.
%wheel ALL=(ALL) ALL <--whell그룹에 대한 루트 권한.
fedora ALL=/sbin/shutdown, /usr/sbin/adduser <--일반사용자에 대한 특정권한
2) sudo 사용법
형식 : $ sudo 명령어
$ sudo shutdown -r now
password:
10. X에서 사용자 계정 관리
1) system-config-users 실행
Alt++F2눌러 실행 창에서 system-config-users 명령 입력
11. 그룹관리
1) 그룹 생성
형식 : groupadd [-g gid [-o]] [-r] [-f] 그룹명
groupadd의 옵션
-g 그룹의 고유 ID
-o 그룹의 고유 ID를 500이하의 값으로 지정하는 경우 사용
-r 그룹의 ID를 500이하의 값으로 자동 지정
-f 강제로 그룹을 추가하는 옵션
(실습)
# groupadd fedoramembers
# groupadd -g 801 fedoramembers2
2) 그룹 속성 변경
형식 : groupmod [-g 향 [-o]] [-n 그룹명] group
groupmod의 옵션
-g 그룹의 고유 ID
-o 그룹의 고유 ID를 500이하의 값으로 지정하는 경우 사용
-n 변경될 그룹명
(실습)
# groupmod -n fedoragroup fodoramembers
# groupmod -g 802 fedoragroup
3) 그룹 삭제
(실습)
# groupdel fedoramembers2
번호 | 제목 | 조회 | 등록일 |
---|---|---|---|
28 | Shell 네트웍 활성화 | 2239 | 2011-07-05 |
27 | Shell 오라클 자동 시작 만들기 | 4088 | 2010-09-08 |
26 | Shell 부팅시 자동실행 스크립트 | 6016 | 2010-09-02 |
25 | Shell find 명령어 | 4781 | 2010-05-28 |
24 | Shell chmod 권한에 대해서. | 5957 | 2010-05-28 |
23 | Shell tail 명령어 | 4514 | 2010-05-20 |
22 | Shell PATH 설정 | 7485 | 2010-05-20 |
21 | Shell 리눅스 버전,cpu, memory, disk 확인하기 | 5423 | 2010-05-12 |
20 | Setting cvs설치 | 4389 | 2010-04-07 |
19 | Setting cvs설치 | 5067 | 2010-04-07 |
18 | Setting 리눅스에서 CVS 설치 | 5748 | 2010-04-07 |
17 | Shell crontab 걸기 | 5084 | 2010-04-07 |
16 | Shell 패스워드 바꾸기 | 5009 | 2010-04-07 |
15 | Setting VsFTP 서버에 root로 로그인하기 | 6318 | 2010-04-07 |
14 | Setting 리눅스 - vsftpd | 5564 | 2010-04-07 |
Shell 사용자 계정 관리 | 6572 | 2010-04-07 | |
12 | Setting 리눅스 cvs - 개념 | 2378 | 2010-04-07 |
11 | Setting 리눅스에서 java와 eclipse 설치하기 | 6295 | 2010-04-07 |
10 | Shell 단축키(bash shell기준) | 5421 | 2010-04-07 |
9 | Shell 리눅스/유닉스 에디터 'vi' (3)-ex 명령어 익히기 | 3981 | 2010-04-07 |
8 | Shell 리눅스/유닉스 에디터 'vi' (2)-VI 활용 | 3843 | 2010-04-07 |
7 | Shell 리눅스/유닉스 에디터 'vi' (1)-VI 기초 개념 잡기 | 4170 | 2010-04-07 |
6 | Shell 리눅스의 디렉토리 구조 | 3805 | 2010-04-07 |
5 | Shell 리눅스명령어정리 [설명포함] | 4583 | 2010-04-07 |
4 | Setting RPM 관리 | 3055 | 2010-04-07 |
3 | Setting ftp 접속방법과 active 와 passive모드의 차이점 | 6537 | 2010-04-07 |
2 | Shell 리눅스 명령어모음 [자주쓰는것] | 6528 | 2010-04-07 |
1 | Shell 리눅스 명령어 모음 [알파벳순] | 5358 | 2010-04-07 |
'개발 > 서버' 카테고리의 다른 글
[ gdb 로 스택 구조 확인 ] (0) | 2012.02.05 |
---|---|
프로세스 (0) | 2012.02.05 |
[su 권한]특정 유저 또는 그룹에만 사용권한 (0) | 2012.02.05 |
기본 Daemon 설명 (0) | 2012.02.05 |
linux process 제어 (0) | 2012.02.05 |