# 1. create ## 1.1. useradd 계정을 생성하고 기본 쉘인 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 | 도움말 표시 | ## 1.2. adduser 콘솔에서 대화식 입출력으로 계정을 생성한다. ```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' ... ``` # 2. read ## 2.1. id 유저 아이디를 생략할 경우 현재 콘솔에서 로그인한 계정의 계정 정보를 확인한다. 유저 아이디를 입력할 경우 입력한 유저의 계정 정보를 출력한다. ```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 옵션과 같이 사용) | ## 2.2. whoami 현재 콘솔에서 로그인한 계정명을 확인한다. ```shell whoami ``` ``` tuska ``` ## 2.3. users 현재 로그인 중인 계정 목록을 확인한다. ```shell users ``` ``` tuska ``` ## 2.4. who 현재 로그인 중인 계정 목록을 자세히 확인한다. ```shell who ``` ``` tuska pts/0 2024-08-16 14:21 (192.168.200.100) ``` ## 2.5. 환경 설정 파일 환경 설정 파일은 모두 `/etc`에 위치한다. | 파일 | 설명 | | --- | --- | | `/etc/passwd` | 사용자 계정정보 | | `/etc/shadow` | 암호화된 패스워드 등 계정정보 | | `/etc/group` | 사용자 그룹정보 | | `/etc/gshadow` | 암호화된 패스워드 등 그룹정보 | | `/etc/default/useradd` | useradd 명령의 기본 설정값 | | `/etc/login.defs` | 로그인 수행 시 기본설정 | | `/etc/skel` | 홈 디렉터리 생성 시 기본 제공 파일 | # 3. update ## 3.1. passwd 비밀번호 설정 ```shell sudo passwd [username] ``` # 4. delete ```shell sudo userdel [options] [username] ``` | 옵션(short) | 옵션(Long) | 내용 | | --- | --- | --- | | -r | --remove | 홈 디렉터리 삭제 | | -f | --force | 강제 삭제 | | -h | --help | 도움말 | ```shell # 홈 디렉터리를 포함한 계정을 강제로 삭제 sudo userdel -rf kolpi12 ```