유저 관리 on 리눅스
유저
유저는 수퍼유저와 일반유저가 있습니다.
수퍼유저
- root 라는 계정이름을 가집니다.
- 특권을 가지고 있습니다.
- 시스템 파일과 명령을 액세스 할 수 있습니다.
- 관리의 목적으로만 사용하는것이 좋습니다.
- UID는 0입니다.
일반유저
- 특권이 없습니다.
- 시스템 파일과 명령 액세스에 제한이 있습니다.
su
,sudo
를 사용하여 한시적으로 특권을 사용할 수 있습니다.
su
로그아웃하지 않고, 다른 유저의 권한으로 새 셸을 실행할 수 있습니다.
su - 유저이름
원래 유저로 돌아 갈 수 있습니다.
exit
또는
logout
sudo
로그아웃하지 않고 일시적으로 다른 유저의 권한으로 명령을 실행할 수 있습니다:
sudo 명령어
또는:
sudo -u 유저이름 명령어
유저 조회
유저만 리스트:
cut -f1 -d: /etc/passwd
유저와 권한을 모두 보려면:
cat /etc/passwd
입니다. 각 라인은 아래 형식입니다.
유저이름:패스워드:UID:그룹ID:추가정보:홈디렉토리:셸프로그램
입니다.
bash 유저 조회
bash 유저만 리스트 하려면:
grep /bin/bash /etc/passwd | cut -f1 -d:
bash 유저와 권한을 모두 리스트 하려면
grep /bin/bash /etc/passwd
UID 500이상의 일반 유저 조회
일반 사용자의 UID는 500이상이므로 조건을 부여하여 조회 합니다.
awk -F':' '{if($3>=500)print $1}' /etc/passwd
유저 추가
수퍼유저 권한으로 유저를 추가 해야 하며, 다양한 옵션을 줄 수 있습니다.
sudo useradd -m -g 그룹 -G 새그룹 -s 셸 -p 패스워드 -u UID 유저이름
-
-m
은 홈디렉토리를 부여 합니다. 시스템 계정의 경우 홈디렉토리가 없으므로-m
옵션을 주지 않습니다. CentOS나 Fedora 같은 레드햇 리눅스는 옵션을 주지 않아도 홈디렉토리와 셸이 설정됩니다. -
-g
: 이미 존재하는 그룹에 유저를 추가합니다. -
-G
: 그룹이 없을 경우 새 그룹을 생성합니다. -
-s
: 셸 프로그램을 지정합니다. -
-p
: 패스워드를 지정합니다. -
-u
: UID를 직접 지정 합니다.
추가한 유저 조회
바로 이전에 추가한 사용자는 /etc/passwd
의 마지막에 추가 됩니다. 마지막에 추가한 유저를 조회 할 수 있습니다:
tail -n 3 /etc/passwd
유저의 홈디렉토리를 조회하려면:
ls /home/
유저 패스워드
passwd 유저이름
유저 제거
유저를 제거하려면 수퍼유저 권한으로 해야 합니다.
sudo userdel -r 유저이름
수퍼유저
리눅스는 보안을 이유로 root 계정은 활성화 하지 않습니다. 수퍼유저 권한을 계속 사용해야 한다면 sudo
는 불편합니다.
root 계정을 활성화하려면 패스워드를 설정해야 합니다:
sudo passwd root
이러면 sudo
에 의해 패스워드를 물어 보는데, 현재 계정의 패스워드를 입력하면 됩니다:
[sudo] password for root:
그리고 root 계정의 암호를 지정하라고 합니다:
Enter new UNIX password:
Retype new UNIX password:
이렇게 하면 root 계정의 암호가 설정되며 root 계정을 사용하려면:
su
하고 패스워드를 입력하면 됩니다.
그룹 추가
그룹을 추가하려면 수퍼유저 권한으로 해야 합니다.
sudo groupadd -g GID -r 그룹이름
-g
: GID를 지정합니다. 일반 그룹은 500이상의 GID중 아직 사용하지 않은 가장 작은 값이 지정됩니다. 예를 들어 이전에 사용한 GID가 600인데-g 1000
을 지정하여1000
을 사용했다면, 다음 그룹 생성시 GID를 지정하지 않으면 자동으로 생성되는 GID는 1001이 됩니다.
-r
: 시스템 관리자용 그룹으로 GID가 500미만인 그룹임을 지정합니다.
그룹 조회
추가된 그룹을 조회합니다:
grep 그룹이름 /etc/group
마지막에 추가된 그룹을 조회합니다:
tail -f /etc/group
수퍼유저 권한으로 전체 그룹 이름을 조회합니다:
sudo groups
그룹 삭제
그룹을 삭제하려면 수퍼유저 권한이 필요합니다.
sudo groupdel 그룹이름
그룹 패스워드
gpasswd
는 여러 옵션이 있습니다.
sudo gpasswd -a 유저이름 -d 유저이름 -r -R -A 유저이름 -M 유저이름 그룹이름
-a 유저이름
: 새 유저를 그룹에 추가 합니다.-d 유저이름
: 지정한 유저를 그룹에서 제거 합니다.-r
: 그룹의 패스워드를 제거합니다.-R
: 그룹에 액세스를 제한합니다.-A 유저이름
: 지정한 유저에 해당 그룹의 관리권한을 부여 합니다.-M 유저이름
: 해당 그룹에 기존 유저를 제거하고 새 유저를 설정 합니다.
그룹에 유저 추가
그룹에 유저를 추가하는 방법은 여러가지가 있습니다.
-
/etc/gourp
파일을 편집하여 유저 추가 할 수 있습니다. -
gpasswd -a
로 유저를 추가 할 수 있습니다:sudo gpasswd -a 유저이름 그룹이름
-
gpasswd -M
으로 기존 유저를 모두 제거하고 새로 유저를 지정하여 할 수 있습니다:sudo gpasswd -M 유저이름 그룹이름
유저 추가시 다수의 유저를 추가하려면 띄어쓰지말고 코머로 구분합니다:
sudo gpasswd -a 유저이름1,유저이름2,유저이름3 그룹이름
그룹에서 유저 제거
-d 유저이름
옵션으로 그룹에서 유저를 제거할 수 있습니다.
sudo gpasswd -d 유저이름 그룹이름
그룹의 패스워드 지정
일반적으로 그룹에 패스워드를 지정하지 않지만 그룹에 패스워드를 지정하려면:
sudo gpasswd 그룹이름
하고 프롬프트에서 패스워드를 입력합니다.
설정된 패스워드를 제거하려면:
sudo gpasswd -r 그룹이름