아무것도 몰라요

리눅스

Linux 사용자(user) 추가하기

telomere37 2021. 11. 26. 16:04

오늘은 linux에 새로운 user를 생성하고 sudo권한까지 부여해보는 실습을 해볼 것이다. 매우 간단하며 한번 제대로 알아두면 까먹기 어렵다. 자세한 내용은 이미 설명되어 있는 홈페이지가 많기 때문에 설명은 생략한다. 대표적으로 나는 밑에 사이트를 보고 따라 했다.

https://linuxize.com/post/how-to-create-users-in-linux-using-the-useradd-command/

sudo useradd -m khj

위의 명령어를 통해 khj라는 user를 생성할 수 있다. '-m'은 khj라는 유저를 위한 home directory를 생성해준다는 의미이다. 대부분의 경우에 이 옵션을 붙여 사용한다고 알고 있다. 

sudo passwd khj

위의 명령어를 통해 khj라는 user의 비밀번호를 생성할 수 있다. 이를 설정하지 않으면 ssh도 자동으로 접속이 될지 궁금해서 시도해봤지만 아예 접속이 안되었다. 

sudo usermod -aG sudo khj

위의 명령어를 통해 sudo권한을 khj에 부여할 수 있다. a(append)를 통해 기존 group에 추가한다는 뜻이며 G(groupd)을 통해 뒤에 어떤 group을 append 할지 지시한다는 의미이다. 이제 khj는 sudo group에 속해있다. linux를 공부해보면 파일에 접근 권한은 user, group, all 3가지의 사람으로 나뉘는 것을 알 수 있다. 각각에 대해 rwx를 설정해줄 수 있고 이를 chmod 등으로 설정한다. 이와 같이 Usermod를 통해 user를 특정 group에 속하게 할 수 있는 것 같다. sudo는 모든 권한을 가지고 있는 group임으로 khj를 sudo group에 포함시키는 것이 sudo 권한을 부여한다고 할 수 있다.(sudo mode로 언제든 변경 가능, sudo 모드에서만 사용 가능한 명령어 사용 가능, 등등)

 

다음은 내가 추가로 겪었던 문제이다.

1) khj@servername:~$ 
2) $

ssh로 처음 접속을 하면 정상적인 경우에는 1)와 같이 나타난다. 하지만 khj라는 user를 처음 만들었을 때 2)와 같은 형식으로 나왔다. 즉 bash로 사용(?)해야 되는데 sh를 사용(?)하고 있었다. 이를 수정하기 위해 '/etc/passwd'에서 khj라는 user가 사용하는 것을 '/bin/sh'에서 '/bin/bash'로 수정하였다. 

/etc/passwd는 로그인할 때 사용되는 중요한 정보들을 저장한 파일이다. User ID, group ID, home directory, shell 등을 저장한다. 각각의 field는 ':'로 구분이 된다. 이 중 우리가 바꾼 것은 Command/shell 영역으로 어떤 shell을 사용하여 작업을 할지 고르는 것 같다. 이 부분에 /sbin/nologin/을 넣게 되면 누군가 로그인을 시도할 시  접속을 종료하는 등의 기능도 제공한다고 한다.

 

마무리

알고 보면 너무 간단한 절차지만, 한 번쯤 탄탄하게 기록해두는 게 좋아 보인다.

'리눅스' 카테고리의 다른 글

Intel(R) Optane (TM) DC Persistent Memory - APP DIRECT 로 설정하기  (0) 2022.03.04
socks5를 사용하여 IDRAC 접속하기  (0) 2022.01.18
IPMI ssh로 접속하기  (0) 2021.09.23
Timer Management  (0) 2021.06.08
Kernel Memory Allocation  (0) 2021.06.08