이 글은 우분투 user is not in the sudoers file 에러 수정 방법을 간략히 정리한다.
이 에러는 root 권한에서 다음과 같이 멍청한? 짓을 할 때 발생할 수 있다.
sudo usermod -g docker $USER
이 짓을 설명하자면, 현재 루트 권한 사용자를 docker란 그룹으로 옮김으로써 스스로 sudo 그룹을 탈퇴시켜버려 모든 명령어를 실행할 수 없게 하란 뜻이다. 원래 입력하고자 하는 명령은 다음과 같은 것이었다.
sudo usermod -aG docker $USER
이런 유사한? 짓을 했다면, sudo 로 실행되는 명령 apt update, apt-get 을 사용하지 못하는 벌을 받게 되어 있다(아~ T.T).
user is not in the sudoers file
구글링하면, sudo 권한을 잃었는 데, usermod를 실행해 유저를 추가하라는 등 넌센스 답들이 넘쳐난다. 멘붕하지 말자. 다음을 잘 따라하면, 다시 멘탈을 되찾을 수 있다.
1. 우선, 우분투를 재부팅한다.
2. GNU GRUB 메뉴에서 Advanced options for Ubuntu 를 선택한다.
3. 다음 메뉴에서 recovery mode 로 표시된 항목 아무거나 선택한다.
4. Recovery Menu에서 다음 root 메뉴를 선택한다. 그럼 루트 권한으로 터미널이 실행될 것이다. 만약, "Press Enter for maintenance" 프롭프트가 보이면 엔터를 친다.
mount -o rw,remount /
usermod -aG sudo <user name>
6. exit 명령을 입력하고, 보여진 Recovery Menu에서 resume메뉴를 선택해, 재부팅한다.
7. 다시 우분투 리눅스로 로그인하면, 다음과 같이 sudo 그룹 명령을 실행할 수 있다.
한번의 실수로 한시간을 날렸다(아 ~ㅆㅂ). 앞으로는 아무 생각없이 이런짓 하지 말자.
참고: group user 명령
groups
whoami
cat /etc/group | grep $USER
cat /etc/passwd | grep 'docker'
sudo gpasswd -a $USER docker
newgrp docker
exit
댓글 없음:
댓글 쓰기