운영체제실습 사용자계정관리 2016. 4 표월성 passwd74@naver.com cherub.sungkyul.ac.kr 목차 Ⅰ. 사용자계정관리 2. 그룹관리 3. 사용자계정관련파일 4. 패스워드관리 5. 사용자신분확인
사용자계정관리 사용자, 그룹 u Multi-User System( 다중사용자시스템 ) 리눅스 - 1대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 - 시스템관리자 : root (= Super user) - 일반사용자 : 시스템관리자 /root 일반사용자 /home/user1 /home/user2 /home/user3 u 그룹 - 모든사용자는 1 개이상의그룹에소속 ( 사용자이름의그룹을만든후, 해당그룹에소속시킴 )
사용자생성관련명령어 u 사용자생성 : useradd / adduser u 사용자삭제 : userdel u 사용자정보변경 : usermod u 패스워드설정및변경 : passwd useradd / adduser u 사용자계정생성 : #useradd [ 계정명 ] #adduser [ 계정명 ] u 패스워드설정및변경 #passwd [ 계정명 ] u 사용자계정생성확인 - /etc/passwd 파일 - /etc/shadow 파일 - /etc/group 파일
useradd / adduser u 사용자계정생성 : - 생성할 ID : evergreen #useradd evergreen u 패스워드설정및변경 #passwd evergreen u 계정생성확인 - /etc/passwd 파일 - /etc/shadow 파일 - /etc/group 파일 useradd / adduser u 사용자계정생성 : - 생성할 ID : evergreen #useradd evergreen u 패스워드설정및변경 #passwd evergreen u 계정생성확인 - /etc/passwd 파일 - /etc/shadow 파일 - /etc/group 파일
useradd / adduser u 디렉토리지정하여사용자계정생성 : - 생성할 ID : blue - 지정디렉토리 : /home/colors #useradd blue -d /home/colors/blue u 패스워드설정및변경 #passwd blue u 계정생성확인 - /etc/passwd 파일 - /etc/shadow 파일 - /etc/group 파일 계정생성 useradd / adduser u 계정생성시 사용자설명 추가 : - 생성할 ID : flower #useradd < 계정명 > -c [ 설명내용 ] u /etc/passwd 파일의 5 번째필드에내용추가
useradd / adduser u 계정생성시 UID를지정 : - 생성할 ID : yellow - 지정할 UID : 567 #useradd < 계정명 > -u <UID> u /etc/passwd 파일의 3 번째필드에내용추가 u 계정삭제 userdel #userdel < 계정명 > 예 ) flower 사용자계정삭제 flower 계정삭제 flower 홈디렉토리삭제
userdel u 계정삭제시 사용자홈디렉토리 까지삭제 #userdel -r < 계정명 > 예 ) evergreen 사용자계정삭제 ( 홈디렉토리까지삭제 ) u 계정정보변경 usermod #usermod [ 옵션 ] < 계정명 > - /etc/passwd 혹은 /etc/shadow 파일의내용을변경
u 사용자 UID 변경 usermod #usermod -u <UID> < 계정명 > - /etc/passwd 파일의 3 번째필드 (UID 필드 ) 정보변경 red 계정생성 UID 변경 (7778 -> 2016) usermod u 사용자계정사용종료일지정 #usermod -e <xxxx-xx-xx> < 계정명 > - /etc/shadow 파일의 8 번째필드 (disabl 필드 ) 정보변경 (1970 년 1 월 1 일부터계산 )
usermod u 사용자의홈디렉토리변경 #usermod -d < 홈디렉토리경로 > < 계정명 > - /etc/passwd 파일의 6 번째필드 ( 홈디렉토리 ) 정보변경 - 실제홈디렉토리가변경되는것은아님 실제홈디렉토리가변경되는것은아님 usermod u 사용자의로그인쉘변경 #usermod -s < 변경할쉘 > < 계정명 > - /etc/passwd 파일의 7 번째필드 ( 로그인쉘 ) 정보변경 시스템에서사용할수있는쉘정보 - ( 참고 ) - vi 로 /etc/passwd 파일을직접변경해도동일한효과
그룹관리 2. 그룹관리 그룹생성관련명령어 u 그룹생성 : groupadd u 그룹삭제 : groupdel u 그룹정보변경 : groupmod
2. 그룹관리 groupadd u 그룹생성 : #groupadd [ 옵션 ] < 계정명 > u 그룹생성확인 - /etc/group 파일 u 관련파일 - /etc/login.defs 파일 (GID 시작번호 ) - 그룹이름 : 비밀번호 : 그룹 ID : 그룹에속한사용자이름 2. 그룹관리 u 그룹생성 : groupadd #groupadd testgroup - 그룹생성시 GID 설정 #groupadd -g [GID] testgroup1 - 그룹생성시시스템그룹설정 #groupadd -r testgroup2
2. 그룹관리 u 그룹삭제 : groupdel #groupdel < 삭제할그룹 > 2. 그룹관리 u 그룹정보변경 : groupmod #groupdel [ 옵션 ] < 그룹명 >
2. 그룹관리 u 그룹의 GID 변경 : groupmod #groupmod -g <GID> < 그룹명 > 예 ) testgroup 그룹의 GID 를 7779 를 8888 로변경 u 그룹의이름변경 #groupmod -n < 그룹 A> < 그룹 B> 예 ) testgroup1 그룹의이름을 newgroup 으로변경 2. 그룹관리 usermod u 계정에그룹추가 : #usermod -G < 그룹 A> < 그룹 B> < 계정명 > colors 그룹생성 예 ) green 계정에 colors 그룹추가 => #usermod -G colors green ( 참고 ) #groups < 계정명 > - 계정이속한그룹들출력 u 계정에기본그룹변경 #usermod -g < 그룹 A> < 계정명 > green 계정에 colors 그룹추가 예 ) green 계정의기본그룹을 colors 로변경 => #usermod -g colors green
2. 그룹관리 gpasswd u 그룹패스워드설정및관리 #gpasswd [ 옵션 ] < 그룹명 > 1. 그룹에사용자추가 #gpasswd -a < 계정명 > < 그룹명 > 예 ) colors그룹에 yellow계정을추가 => #gpasswd -a yellow colors 2. 그룹관리자를지정 #gpasswd -A < 그룹관리자 > < 그룹명 > 예 ) colors그룹의관리자를 blue로지정 => #gpasswd -A blue colors 3. 그룹에서사용자삭제 #gpasswd -d < 삭제할계정명 > < 그룹명 > 예 ) colors 그룹에서 green 계정삭제 2. 그룹관리 gpasswd u 그룹에패스워드설정 #gpasswd < 그룹명 > u 그룹에패스워드삭제 #gpasswd -r < 그룹명 > u 그룹관련파일 1. /etc/group - 그룹명 : 그룹패스워드 : GID : 그룹맴버리스트 2. /etc/gshadow - 그룹명 : 패스워드 : 그룹관리자 : 그룹맴버리스트
사용자계정관련파일 3. 사용자계정관련파일 계정생성시관련파일 u /etc/default/useradd 파일 - 새로계정생성할때, 참조하는파일 - 기본소속그룹 - 기본적으로사용할 홈디렉토리 경로 - 패스워드만료후, 유효기간 - 계정종료일자 - 쉘종류 - 홈디렉토리에복사될초기화파일들의위치지정
3. 사용자계정관련파일 계정생성시관련파일 u /etc/login.defs 파일 - useradd가새로운계정을생성할때, 반드시참조하는파일 3. 사용자계정관련파일 계정생성시관련파일 u /etc/skel 디렉토리 - 새로운계정을생성할때, 홈디렉토리가자동으로생성되고, - /etc/skel 디렉토리의파일들을복사
3. 사용자계정관련파일 /etc/passwd u 패스워드파일 ( /etc/passwd ) - 계정 ID : 패스워드 : UID : GID : 설명 : 홈디렉토리 : 로그인쉘 3. 사용자계정관련파일 shadow 패스워드시스템 u shadow 파일 ( /etc/shadow ) - username : 패스워드 : Last changed : Minimum : Maximum : warn : inactive : expire : reserved
3. 사용자계정관련파일 u shadow 패스워드시스템해제 #pwunconv shadow 패스워드시스템 u shadow 패스워드시스템시작 #pwconv 패스워드관리
4. 패스워드관리 로그인방지 u 로그인일시금지 /etc/passwd 파일의 로그인쉘 필드수정 - /bin/false - /sbin/nologin /etc/passwd 파일의 패스워드 필드를수정 - x를 * 로수정 /etc/shadow 파일의 패스워드 필드앞에!! 를추가 u 패스워드 locking / unlocking #passwd -l [ 계정명 ] #passwd -u [ 계정명 ] // 사용자패스워드 locking // 사용자패스워드 unlocking 4. 패스워드관리 로그인방지 u 로그인불가능하도록계정생성 - 계정생성할때, 로그인할수없도록계정생성 #useradd -s /bin/false [ 계정명 ] #useradd -s /sbin/nologin [ 계정명 ]
사용자신분확인 5. 사용자신분확인 u 로그인계정확인 로그인계정확인 #whoami // who am i u UID, GID 값확인 #id // UID 값, GID 값, 속해있는그룹 u 나또는다른사람이속한그룹확인 #groups #groups [ 계정명 ]
5. 사용자신분확인 현재사용자변경 (su) u su (substitute user) #su [ 계정명 ] #su - [ 계정명 ] 시스템관리자 (root) 로변환 #su - root #su root u su로사용자변환시패스워드사용 (1) 패스워드사용하는경우사용자 -> 관리자 (root) 사용자A -> 사용자B (2) 패스워드사용하지않는경우 관리자 (root) -> 사용자 5. 사용자신분확인 u su 와환경변수 su 와환경변수 1. 변경할사용자의변경변수적용 #su - [ 계정명 ] 예 1) #su - evergreen Þ evergreen 으로사용자를전환하면서 Þ evergreen 의환경변수적용
5. 사용자신분확인 u su 와환경변수 su 와환경변수 1. 변경할사용자의변경변수적용 #su - [ 계정명 ] 예2) #su blue Þ blue사용자로전환 Þ blue사용자의환경변수적용하지않음 Þ 즉, 전환전 root의환경변수를그냥사용함