Firefish를 설치해보자 (비전문가 대상)

기본값 바꾸기: 사용자 생성 및 권한 주기

기본값을 바꾸려는 이유

보안 면에서, 뭐든 기본값은 좋지 않습니다.

사실 "미지(몰?루)에 의한 보안"은 그다지 좋은 방법이 아닙니다. 해당 정보를 알기만 해도 뚫을 수 있으니까요.

하지만 몇몇 기본 설정은 바꾸는 게 마음에 안심이 됩니다. 기본 ID / 기본 패스워드를 마구 입력해보는 기계들로부터는 피할 수 있으니까요...

기본값 바꾸기: 사용자 생성

사용자 생성은 useradd 명령을 사용합니다.

관리자 권한으로 실행해야 해서, sudo 도 앞에 붙여야 합니다.

sudo useradd -m -s /bin/bash 사용자명
  • -m: 홈 폴더를 만듭니다.
  • -s: "로그인 셸"을 지정합니다. 이걸 뭐라고 설명해야하지... "명령줄을 구동해주는 도우미 프로그램" 이라고 합시다. bash가 가장 많이 쓰이고 자료가 많습니다. 이 프로그램은 /bin/bash 경로에 있습니다.

저는 닉네임이 ch 라서, 계정 이름도 보통 ch로 지어요. 이 이름은 따라하지 마세요. 저만 ch 할거에요.

 실행 예시

ubuntu@my-firefish-instance:~$ sudo useradd -m -s /bin/bash ch
ubuntu@my-firefish-instance:~$ ls /home
ch  opc  ubuntu
ubuntu@my-firefish-instance:~$ sudo -iu ch
ch@my-firefish-instance:~$
  • opc: 오라클이 올려준 우분투에는 opc라는 계정이 기본으로 있고, 오라클 클라우드가 이 서버를 관리할 때 사용합니다. 냅둬도 돼요.
    • 홈 폴더: /home/opc
  • ubuntu: 기본 계정
    • 홈 폴더: /home/ubuntu
  • ch: 방금 만든 계정 (제 마음대로 이름을 지었습니다)
    • 홈 폴더: /home/ch

사용자 전환 (sudo -iu), 로그아웃 (exit)

위에서 설명이 빠진 명령어도 있죠.

sudo -iu 사용자명
  • -i 혹은 --login: 지정된사용자로 로그인합니다
  • -u 사용자명 혹은 --user 사용자명: 해당 사용자가 되어 명령을 실행합니다.

사용자명으로 로그인하는 명령어입니다. 위를 다시 확인해보면, 로그인한 뒤로

사용자명@서버이름:현재경로$

로 바뀌었죠?

방금 만든 유저는 어떠한 권한도 없어서, 둘러보는 것 외에는 아무것도 못 합니다. exit 명령어를 실행해서, 다시 원래 사용자로 돌아옵시다.

실행 예시

ch@my-firefish-instance:~$ exit
logout
ubuntu@my-firefish-instance:~$

usermod: 사용자에게 sudo 그룹 부여하기 (user modification)

이제, 방금 만든 계정에 관리자 권한을 줘봅시다.

리눅스에는 사용자 외에도 "그룹"이라는 개념도 있습니다.

그 중에서도 우리가 관심있는 건 "sudo" 라는 그룹입니다. 이 그룹에 속해있으면 컴퓨터에서 관리자 권한을 휘두를 수 있습니다. usermod 명령어로 sudo 그룹에 방금 만든 사용자를 추가해볼까요?

sudo usermod -aG sudo 사용자명
  • -aG (additional group): 해당 사용자에 추가 그룹을 부여합니다. 기존에 설정되었던 그룹은 냅두고 그룹을 추가하는 방법입니다. 기존에 그룹이 있었냐구요? 기본적으로 사용자명과 동일한 이름의 그룹이 생성되는 걸로 알고있어요.
  • 앞의 sudo는 명령어구요, 뒤의 sudo는 그룹 이름입니다.

 실행 예시

ubuntu@my-firefish-instance:~$ sudo -iu ch
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ch@my-firefish-instance:~$ groups
ch sudo
ch@my-firefish-instance:~$

한번 sudo ls 를 실행해볼까요?

실행 예시

ch@my-firefish-instance:~$ sudo ls
[sudo] password for ch:
Sorry, try again.
[sudo] password for ch:
Sorry, try again.
[sudo] password for ch:
sudo: 3 incorrect password attempts
ch@my-firefish-instance:~$

헉 암호가 뭐지!

passwd: 만든 계정의 암호 설정하기

사실 아까 만든 계정에 암호를 설정한 적이 없죠. "exit"으로 나가서 ubuntu 계정으로 돌아온 뒤, passwd 명령어로 사용자의 암호를 설정합시다.

sudo passwd 사용자명

 실행 예시

ch@my-firefish-instance:~$ exit
logout
ubuntu@my-firefish-instance:~$ sudo passwd ch
New password:
Retype new password:
passwd: password updated successfully
ubuntu@my-firefish-instance:~$

이제 다시 새로 만든 사용자로 바꿔서 관리자 권한이 있는지 확인해볼까요.

# sudo로 ls 명령어가 실행되면 관리자 권한이 있는 것입니다.
sudo ls

 실행 예시

ubuntu@my-firefish-instance:~$ sudo -iu ch
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ch@my-firefish-instance:~$ sudo ls
[sudo] password for ch:
ch@my-firefish-instance:~$

OK, 성공입니다.

댓글

댓글 본문
버전 관리
sftblw
현재 버전
선택 버전
graphittie 자세히 보기