Linux 사용자 및 권한 관련 커맨드 (Feat. Elasticsearch)

김민건·2021년 12월 4일
0

기술

목록 보기
10/19

#주저리주저리

이번에 elasticsearch를 직접 실습해보려고 로컬에 설치하는 과정에서 Permission Denied가 강림했다... 여태까지와 마찬가지로 sudo 명령어를 통해서 해결해보려고 했으나 어김없이 나오는 에러 로그로 인해 결국 구글링을 통해 문제를 해결했다.

하지만 이 과정에서 정말 쓸데없는 부분에서 시간을 낭비하게 되어 정말 뚝딱하면 될 줄 알았던게 30분은 더 잡아먹은 것 같아 이참에 한번 정리해야겠다싶어 글을 쓰게 되었다.

현재 사용중인 계정 확인

현재 사용중인 계정정보 확인에서부터 막혔다.... 평소 who am i 라고 어렴풋이 알고 있었기 때문에 계속 커맨드창에 입력해봤지만 출력 창에 아무것도 뜨지 않아 혼란스러웠다.

who am i

먼저 내가 입력했던 who am i 커맨드의 경우에는 현재 사용중인 계정을 확인하는 것이 아니라, 최초 로그인 시 어떤 사용자로 로그인했는지(UID)를 나타내는 명령어였던 것이다.

예를 들어보자.. 만약 내가 user1이라는 계정으로 최초로 로그인을 한 상태이다. 여기서 su 와 같은 커맨드로 내가 로그인한 계정이 아닌 다른 계정으로 전환할 수 있는데, su - user2 라는 커맨드를 입력하여 user2로 계정 전환을 했다. 이 경우 who am i를 입력하면 현재 내가 실질적으로 권한을 행사하고 있는 user2가 아닌 user1로 표현된다.

whoami

이걸 보고 얼마나 화가 났는지...대체 왜 명령어를 이렇게 분리해놓은 것인가 내가 당시 원했던 명령어는 whoami 커맨드이다. 위의 커맨드와 달리 최초에 누가 로그인했던간에, 지금 당장 사용되고 있는 계정은 어떤 사용자인지(EUID)를 보여주는 명령어다.

당시 나는 elasticsearch 서버를 실행시키려는 상황이였다. 하지만 권한이 없다는 에러 메시지를 받았고, 따라서 현재 내 사용자 권한이 ls -l 로 확인한 사용자 권한과 동일한지를 확인하고 싶었기에 whoami 를 통해 사용자 권한이 유효하지 않다는 것을 확인하고 후속 작업을 취했다.

사용자 생성

elasticsearch 5.0 이상부터는 root 계정으로는 실행시킬 수 없다고 한다. 기존에 나는 root 계정만 사용하고 있었기 때문에 새로운 리눅스 계정을 생성해야했다.

useradd <사용자명>

일반적으로는 하나의 서버에 여러 사용자가 접속해야하는 상황에서 사용자의 권한과 공간 분리를 위해 사용된다. 간단한 useradd 명령어를 통해 바로 내가 원하는 사용자명을 지닌 계정을 생성할 수 있다.

→ 단, useradd로 사용자 계정을 생성할 때, 자동으로 해당 사용자명과 동일한 이름을 가진 그룹이 생성되고 추가한 사용자가 그룹에 추가된다는 것을 알아두자!

useradd 시, 아래 명령어와 같은 작업이 추가적으로 수행된다.

groupadd <사용자명>
gpasswd -a <사용자명> <사용자명>

→ 단, adduser라는 명령어도 있는데, 해당 명령어의 경우에는 해당 사용자 홈 디렉토리, 기본 정보, 비밀번호 설정 등의 작업을 일련의 과정을 통해 설정하도록 인터페이스를 제공한다.

# 홈디렉토리 설정만 
sudo mkdir /home/<사용자명>
cd /home/<사용자명>
sudo cp -r /etc/skel/. .
sudo chown -R <사용자명>.<사용자그룹명> .

passwd <사용자명>

특정 사용자의 비밀번호를 지정하는 커맨드다.

profile
백엔드 꿈나무

0개의 댓글