른록노트

[Linux] user생성,수정,삭제 등 사용자 관련 본문

Server,OS/[Linux]

[Linux] user생성,수정,삭제 등 사용자 관련

른록 2018. 1. 23. 23:50

@ 사용자 관련 파일


/etc/passwd : 사용자 계정 정보 파일

/etc/shadow : 암호화된 사용자 비밀번호 저장파일.

/etc/group : 사용자 그룹 정보 저장파일

그룹명 : 암호: GID : 그룹에 속한 사용자 이름

/etc/skel : 사용자 등록시 홈디렉토리에 복사되는 원본파일이 저장되 ㄴ디렉토리

(사용자 추가시 홈 디렉토리에 복사됨)

/etc/default/useradd : 새 사용자 등록시 기본 설정정보 파일(홈 디렉토리 기본 위치, 기본 쉘 종류, 기본 그룹 등)

/etc/login/defs : 기타 사용자 생성 옵션들이 정의된 파일


/etc/passwd의 파일 저장 형식

사용자계정 : 암호 : UID : GID : 사용자이름 :홈디렉토리위치 : 사용쉘

cat /etc/passwd

root:x:0:0:root:/bin/bash


/etc/shadow의 파일 저장 형식

사용자 계정: 암호 : 암호 파일 최종 수정일 : 암호 변경 최소일 : 암호 변경 최대일 : 암호 만료 경고기간 : 암호 파기기간 : 계정만료 기간 :  예약필드

cat /etc/shadow

root:$1$Hf8yQTPg$NvOLsE1VWqPjLkJOJ5bpM0:17534:0:99999:7:::



@ 사용자 정보 조회


명령어 : id


사용 형식 : id [옵션] 사용자 계정만료

-g : 기본 그룹의 GID 출력

-G : 모든 그룹의 GID 출력

-u : 사용자의 uid 출력

-n : 위 옵션과 함께 사용, 숫자대신 이름 출력()


사용 예

id -Gn user1


@ 현재 로그인 하고있는 사용자 목록 조회 


users




@ 사용자 계정 추가시


명령어 : useradd

사용형식 : useradd [옵션] 로그인 계정

-c comment : 사용자 이름 또는 정보

-d home_directory : 사용자 계정 홈 디렉토리

-e expire_date : 사용자 계정 유효 기간

-f inactive_time : 비활성 기간

-g initial_group : 기본 그룹

-G group : 추가 그룹 변경

-s shell : 기본 로그인 쉘

-u uid : 사용자 계정 uid

-k skel SKEL_DIR : skel 디렉토리를 기본으로 사용하지 않고 특정 디렉토리로 지정

-m create-home : 새 사용자를 위한 홈디렉토리 생성


사용 예

useradd -m -k /etc/common user <-- /etc/skel이 아닌 /etc/common 디렉토리의 환경 설정 파일을 이용하여 계정 생성

useradd -g admin -G group1 -s /bin/bash user <-- 기본 그룹 : admin, 추가로 소속될 그룹 : gruop1, 기본 쉘 : /bin/bash


useradd 명령어를통해서 사용자를 추가하게되면 아래와 같은 작업들이 진행됩니다.

a) "/etc/passwd" 파일에 사용자 정보 설정

b) "/etc/group" 파일에 그룹정보 설정

c) "/home/사용자명/" 위치에 홈 디렉토리가 생성

d) "/var/spool/mail/" 디렉토리에 사용자명의 메일 파일 생성


@ 사용자 계정 변경


명령어 : usermod

사용형식 : usermod [옵션] 로그인 계정

-c comment : 사용자 이름 또는 정보

-d home_directory : 사용자 계정 홈 디렉토리

-e expire_date : 사용자 계정 유효 기간

-f inactive_time : 비활성 기간

-g initial_group : 기본 그룹

-G group : 추가 그룹 변경

-s shell : 기본 로그인 쉘

-u uid : 사용자 계정 uid

-m move-home : 홈디렉토리 변경시, 새 홈디렉터리로 파일 이동(-d 옵션하고만 사용할 수 있음)

-l 사용자명 변경

-L : 사용자의 패스워드에 Lock을 걸어 로그인 제한


사용 예

usermod -d /home/user1 user <-- user 계정의 홈디렉토리를 /home/user 로 변경

usermod -e 2010-05-22 user <-- user 계정의 만기일을 2010-05-22일로 설정

usermod -f 3 user <-- user 계정의 비활성 기간을 3일로 설정

usermod -g group1 user <-- user 계정의 기본 그룹을 group1로 설정

usermod -u 508 user <-- user 계정의 uid를 508로 설정

usermod -s /bin/csh user <-- user 계정의 기본쉘을 csh로 변경

* 모든 일반 사용자들에 대해 일시적인 서버접속 금지(telnet만 해당, ssh는 제외)하기 위해서는 /etc/nologin 파일을 생성해 두면 됩니다.


@ 사용자 계정 삭제


명령어 : userdel

사용형식 : userdel [옵션] 계정

-r : 해당 계정의 홈디렉토리까지 모두 삭제


사용 예 

userdel -r user


@ 사용자의 비밀번호 설정


명령어 : passwd

사용형식 : passwd 사용자 계정


사용 예

passwd user

비번 2번 입력



[그룹 관리 명령어]


@ 사용자가 속해있는 모든 그룹정보 조회


-그룹들의 정보는 /etc/group 파일에 존재

cat -n /etc/group


명령어 : groups


사용 형식 : groups 사용자계정

사용 예

groups user


@ 사용자 그룹 추가


명령어 : groupadd

사용형식 : groupadd [옵션] 그룹명

-g : 그룹의 GID(Group ID) 설정

-o : GID 499이하 값으로 지정

-f : 강제로 그룹 생성


사용예

groupadd -g 1000 group1 <-- GID를 1000으로 지정하여 group1의 그룹을 추가


@ 사용자 그룹 변경


명령어 : groupmod

사용형식 : groupmod [옵션] 그룹명

-g : 그룹의 GID 변경

-o : GID 499이하 값으로 변경

-n : 그룹명 변경


사용 예

groupmod -g 800 group <-- 그룹명 group의 GID를 800으로 변경

groupmod -n newgroup1 group <-- 그룹명 group의 그룹명을 newgroup1로 변경


@ 사용자 그룹 삭제


명령어 : groupdel

사용형식 : groupdel 그룹명

사용 예

groupdel group1 <-- 그룹명 group1 삭제




참고사이트

http://welchsy.tistory.com/244

반응형
Comments