[linux] 계정 생성 / bash 할당 / sudo 권한 부여

두 가지 방법 이 있다.

  • useradd
  • adduser

📌 useradd

$sudo useradd -m somebody
## 참고 옵션 -m(--create-home) : create the user's home directory

## 추가로 비번 설정도 해준다.
$ sudo passwd somebody

주의: useradd 는 default shell을 sh 로 잡는다.
그러니 이때는 chsh 명령어를 통해서 기본 쉘을 /bin/bash 로 수정해준다.

# somebody/somebody 로 로그인 후...

# 기본 bash 수정 명령어 입력
$ chsh
Password:
Changing the login shell for kim
Enter the new value, or press ENTER for the default
        Login Shell [/bin/sh]: /bin/bash     # 여기에 /bin/bash 입력!


# terminal 다시 실행 및 로그인 한다.
somebody@myComp:~ $ getent passwd somebody # 프롬트가 바뀐다!
somebody:x:1001:1001::/home/somebody:/bin/bash # 맨끝 /bin/bash가 보이면 성공이다.

📌 adduser

[dailyCode@myComp:~]$ sudo adduser somebody
[sudo] password for dailyCode:

Adding user `somebody' ...
Adding new group `somebody' (1002) ...
Adding new user `somebody' (1002) with group `somebody' ...
Creating home directory `/home/somebody' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for somebody
Enter the new value, or press ENTER for the default
        Full Name []: some
        Room Number []: 1234
        Work Phone []: 010-2222-2222
        Home Phone []: 02-222-2222
        Other []:
Is the information correct? [Y/n] Y

## 생성 확인
[dailyCode@myComp:~]$ getent passwd somebody
somebody:x:1002:1002:some,1234,010-2222-2222,02-222-2222:/home/somebody:/bin/bash

로그를 보면 알겠지만 특별한 옵션 없이도 home directory를 자동으로 생성해주고,
비밀 번호 또한 생성 도중에 같이 만들도록 유도한다.
번거롭게 몇가지를 더 작성해야지만, 그래도 더 많은 정보를 담을 수 있어서 좋다.

참고로 adduser 명령어는 default shell가 bash로 잡히는 것을 확인할 수 있다.


📌sudo 권한 부여

$ visudo
# 특정 사용자에게 sudo 사용 권한 부여
username    ALL=(ALL)    ALL

# 그룹에 포함된 모든 사용자에게 sudo 사용 권한 부여
%groupname    ALL=(ALL)    ALL
%wheel  ALL=(ALL)       ALL

# 패스워드 생략 설정
username    ALL=(ALL)    NOPASSWD: ALL
%groupname    ALL=(ALL)    NOPASSWD: ALL