OS/Linux

user 관련 command

아르비스 2015. 1. 21. 14:41

사용자 및 그룹추가

cat /etc/passwd 사용자관련사항 출력

[useradd,adduser] 사용자계정 추가
<option>
-c comment 사용자설명 추가
-d home 계정에대한 홈디렉토리 지정
-e expire 계정 만기일 지정
-u uid uid지정
-s shell 사용자 login shell지정
-g group 지정그룹으로 속하게 함
-G group 기본 그룹외에 다른 그룹에 추가

##### Tip #####
일반 유저는 2개의 그룹까지
root는 기본적으로 몇개든지 그룹에 속할 수 있음
start X - x윈도 실행
###############

ex)useadd user1 -c "this is test user"
                -d /home/test/user (dir이 미리 생성되어 있어야 함)
                -s /bin/bash

[passwd] 패스워드 지정 or 변경
ex)passwd user1
p/w입력, p/w 확인
(root접속자가 passwd만 입력시 root p/w 변경)
(root계정외엔 p/w생성제약 있음-사전용어,너무짧은p/w..등)

################
리눅스는 보안을 위해 /etc/passwd의 p/w정보를 
/etc/shadow에 암호화하여 저장
################

cat /etc/login.defs 계정생성에 관한 기본 정보

<GUI환경에서의 관리>
startx X윈도실행
command창에 "system-config-users" 입력

grep root /etc/passwd
### name:p/w:uid:gid::homedir/shell:loginshell ###
root:x:0:0:root:/root:/bin/bash

[userdel] 계정삭제
<option> 
-r homedir 및 /etc/passwd 내용까지 삭제
ex)userdel -r user1

##### Tip #####
계정 생성전 useradd -D 로 default값을
확인할 것!!!

디폴트값 변경하기
useradd -D [-g group] [-s shell] [-d home]

GROUP : 기본 그룹 ID

HOME : 홈 디렉토리 경로

INACTIVE : 패스워드 기간 만기후 계정 사용가능 날 0이면 바로 사용불가 -1이면 이 기능 사용안함

EXPIRE : 패스워드 만기일

SHELL : 로그인시 실행될 쉘

SKEL : 계정 생성후 사용자의 홈디렉토리에 기본적으로 복사되는 파일

계정의 접근막기
vi /etc/passwd
p/w부분 x를 *로 변경 or shell부분 /bin/bash를 /bin/false로 변경
###############

[id] 자신의 id 확인
[chfn] 자신의 정보변경
[finger] 입력한 정보보기

[usermod] 계정 사용자 정보 변경
<option> 
-c comment
-d home
-e expire
-G,g group
-s shell
-u uid
-L name   계정명 변경

[su] 사용자 계정 바꾸기
ex)su 바꾸고자하는 계정명
비밀번호입력(root사용자는 입력 안해도 됨)
su 만 실행시 특정 명령어 실행 안됨
su - 실행으로 해당 환경 설정까지 불러옴
ex)su - user1

그룹환경파일
/etc/group, /etc/gshadow
[groupadd] 그룹생성

[groupdel] 그룹삭제

[groupmod] 그룹정보 변경

그룹관리자 설정
ex)useradd tadmin   계정 생성(p/w도 생성할것)
   groupadd tgroup   그룹 생성
   gpasswd -A tadmin tgroup tadmin에게tgroup관리권한 부여  
<tadmin으로 접속>
   gpasswd tgroup   그룹p/w지정 (p/w생성제약 없음-root권한부여)
   gpasswd -a user1 tgroup (user1을 tgroup으로추가)
   gpasswd -d user1 tgroup (user1을 tgroup에서 삭제)

##### 시스템 관리 명령어 #####
[uname] 시스템 정보 얻기
<opyion>
-s os이름
-m,-p cpu타입
-v 커널버전
-r os릴리즈 버전
-n 노드명(호스트명)
##############################



<실습>

계정생성

#useradd usera   - usera 계정 생성

패스워드지정

#passwd usera   - usera 패스워드 부여

계정삭제

#userdel usera   - usera 계정 삭제 (-r 옵션으로 홈디렉토리 까지 삭제)

그룹확인

#groups {username}     - 사용자가 어떤 그룹에 속해 있는지 확인

그룹추가

#groupadd -g 31 groupa    - GID 31인 groupa라는 그룹 생성

유저 그룹에 등록/탈퇴

#usermod -g groupa usera   - groupa그룹에 usera 라는 멤버 등록

usera로 로그인후 groups 를 치면 groupa가 나옴

#usermod -G groupa, groupb usera    - 그룹 groupa, groupb에 동시 등록

#usermod -G groupa usera   - 그룹 재지정 (groupb에서 탈퇴됨)

#id usera 로 확인