memos/linux/User.md

131 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

2024-08-26 11:55:58 +00:00
# 1. create
## 1.1. useradd
2024-08-25 15:21:39 +00:00
계정을 생성하고 기본 쉘인 sh를 연결해준다.
옵션으로 그룹, 패스워드 등을 지정할 수 있다.
옵션을 지정하지 않을 경우 그룹, 패스워드 등을 설정하지 않는다.
```shell
sudo useradd [options] [username]
```
| 옵션(Short) | 옵션(Long) | 내용 |
| --- | --- | --- |
| -h | --home-dir | 홈 디렉터리 |
| -g | --gid | 그룹 |
| -G | --groups | 그룹 여러 개 |
| -p | --password | 패스워드 |
| -s | --shell | 사용할 쉘 (경로로 지정) |
| -u | --uid | UID 지정 |
| -U | --user-group | 유저 아이디와 같은 그룹 생성 |
| -h | --help | 도움말 표시 |
2024-08-26 11:55:58 +00:00
## 1.2. adduser
2024-08-25 15:21:39 +00:00
콘솔에서 대화식 입출력으로 계정을 생성한다.
```shell
sudo adduser [username]
```
```
info: Adding user `kolpi13' ...
info: Selecting UID/GID from range 1000 to 59999 ...
info: Adding new group `kolpi13' (1002) ...
info: Adding new user `kolpi13' (1002) with group `kolpi13 (1002)' ...
info: Creating home directory `/home/kolpi13' ...
info: Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for kolpi13
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
info: Adding new user `kolpi13' to supplemental / extra groups `users' ...
info: Adding user `kolpi13' to group `users' ...
```
2024-08-26 11:55:58 +00:00
# 2. read
## 2.1. id
2024-08-25 15:21:39 +00:00
유저 아이디를 생략할 경우 현재 콘솔에서 로그인한 계정의 계정 정보를 확인한다.
유저 아이디를 입력할 경우 입력한 유저의 계정 정보를 출력한다.
```shell
id [Option] [userid]
```
```
uid=1000(tuska) gid=1000(tuska) groups=1000(tuska),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),101(lxd)
```
| 옵션(short) | 옵션(long) | 내용 |
| --- | --- | --- |
| -g | --group | effective group 아이디 출력 |
| -G | --groups | 속한 group id 모두 출력 |
| -u | --user | uid 출력 |
| -n | --name | 숫자로 된 id 대신 이름 출력 (u\|g\|G 옵션과 같이 사용) |
2024-08-26 11:55:58 +00:00
## 2.2. whoami
2024-08-25 15:21:39 +00:00
현재 콘솔에서 로그인한 계정명을 확인한다.
```shell
whoami
```
```
tuska
```
2024-08-26 11:55:58 +00:00
## 2.3. users
2024-08-25 15:21:39 +00:00
현재 로그인 중인 계정 목록을 확인한다.
```shell
users
```
```
tuska
```
2024-08-26 11:55:58 +00:00
## 2.4. who
2024-08-25 15:21:39 +00:00
현재 로그인 중인 계정 목록을 자세히 확인한다.
```shell
who
```
```
tuska pts/0 2024-08-16 14:21 (192.168.200.100)
```
2024-08-26 11:55:58 +00:00
## 2.5. 환경 설정 파일
2024-08-25 15:21:39 +00:00
환경 설정 파일은 모두 `/etc`에 위치한다.
| 파일 | 설명 |
| --- | --- |
| `/etc/passwd` | 사용자 계정정보 |
| `/etc/shadow` | 암호화된 패스워드 등 계정정보 |
| `/etc/group` | 사용자 그룹정보 |
| `/etc/gshadow` | 암호화된 패스워드 등 그룹정보 |
| `/etc/default/useradd` | useradd 명령의 기본 설정값 |
| `/etc/login.defs` | 로그인 수행 시 기본설정 |
| `/etc/skel` | 홈 디렉터리 생성 시 기본 제공 파일 |
2024-08-26 11:55:58 +00:00
# 3. update
## 3.1. passwd
2024-08-25 15:21:39 +00:00
비밀번호 설정
```shell
sudo passwd [username]
```
2024-08-26 11:55:58 +00:00
# 4. delete
2024-08-25 15:21:39 +00:00
```shell
sudo userdel [options] [username]
```
| 옵션(short) | 옵션(Long) | 내용 |
| --- | --- | --- |
| -r | --remove | 홈 디렉터리 삭제 |
| -f | --force | 강제 삭제 |
| -h | --help | 도움말 |
```shell
# 홈 디렉터리를 포함한 계정을 강제로 삭제
sudo userdel -rf kolpi12
```