본문 바로가기
Programming

bash: sudo: command not found 해결

by 개발자 염상진 2022. 9. 20.

Docker Ubuntu 이미지를 가져와 작업을 하려고 하는데, root 계정이 아닌 일반 계정을 생성해서 작업을 진행해야 한다. root 계정은 리눅스에서 admin 계정이므로, 여러가지 설치가 안되는 경우가 있다.

우선 User를 추가해준다.

Linux User 추가

 

adduser 명령어를 사용하면 간단하게 user를 추가할 수 있다.

root@322e972c07ed:/# adduser user1
Adding user `user1' ...
Adding new group `user1' (1000) ...
Adding new user `user1' (1000) with group `user1' ...
Creating home directory `/home/user1' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for user1
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

 

User를 추가하고 난 후  sudo 명령어를 실행해서 작업을 진행해야 하는데, sudo command가 설치되어 있지 않다. 이 경우 root 계정으로 전환 후 sudo를 설치해주고 sudo group에 user를 추가해줘야 한다.

bash: sudo: command not found

 

exit으로 root 계정으로 전환 후, sudo 를 설치해준다.

$ apt install sudo

 

ubuntu root 계정 비밀번호 변경

 

혹시 root 계정으로 다시 돌아와야 하는데, Docker image로 가져온 우분투의 root 계정 비번을 모르기 때문에 root 계정 비밀번호를 새로 설정해준다.

root@322e972c07ed:/# sudo passwd root
New password: 
Retype new password:

 

sudo group에 유저 추가

 

root 계정에서 위에서 생성한 일반 유저 account를 sudo group에 추가해준다.

$ root@322e972c07ed:/# usermod -aG sudo user1

여기 까지 왔으면 user1 일반 계정으로 전환 후

$ su user1

sudo 명령어를 사용해 일시적으로 root 권한을 가져와 명령어를 실행할 수 있다.

$ sudo apt update

댓글