사용자 이름이 sudoers 파일에 없습니다. 이 사건은보고 될 것이다


85

VMware Player를 사용하는 랩톱에서 Ubuntu 12.04를 실행하고 있습니다. 왜 그런지 잘 모르겠지만 일반적으로 Ubuntu를 사용하기 위해 로그인하는 계정 외에 "사용자 계정"이라는 계정이 있습니다. 글쎄, 그것은 단지 부수적 의견이지만 기본적으로 내가하려고하는 것은 우분투에 ncurses 라이브러리를 설치하는 것입니다. 다음 명령 줄을 사용하여 ncurses 설치를 시도했습니다.

sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-dev

위의 명령을 사용하여 ncurses를 두 번 설치하려고하면 터미널에 다음 프롬프트가 표시됩니다.

[sudo] password for username

암호를 입력하면 다음 메시지가 나타납니다.

username is not in the sudoers file. This incident will be reported.

지금까지이 링크의 지침에 따라 루트 사용자 ( "슈퍼 사용자") 계정을 활성화하려고했습니다. https://help.ubuntu.com/community/RootSudo

다음은 링크가 제안한 것들 중 일부입니다.

다른 사용자가 sudo를 실행하도록 허용하십시오. 명령 행에 다음을 입력하십시오.

sudo adduser 사용자 이름 sudo

또는

sudo adduser 사용자 이름 sudo

다른 사용자로 로그인 명령 행에 다음을 입력하십시오.

sudo -i -u 사용자 이름

루트 계정을 활성화합니다. 명령 행에 다음을 입력하십시오.

sudo -i

또는

sudo passwd 루트

위의 모든 명령 줄을 시도했으며 각 명령을 입력 한 후 암호를 입력하라는 메시지가 표시되었습니다. 비밀번호를 입력 한 후 ncurses를 설치하려고 할 때와 같은 메시지가 표시되었습니다.

fsolano is not in the sudoers file. This incident will be reported.

나는 아직 의견이 없습니다. 나랑 여기에 ... 질문. fsolano는 ubuntu를 처음 설치 한 사용자입니까? 일반적으로 관리자 권한이 있어야합니다. 그래픽 기능으로 관리자 기능을 수행하면 전혀 효과가 없습니까? IE 사용자 관리를 위해 GUi를 열고 뭔가 관리자를 시도하면 작동합니까? 또는 루트가 아니라고 말해

여기에도 같은 질문이 있습니까? superuser.com/questions/866582/…
shubham

비밀번호가 설정된 루트 사용자 인 경우 root를 사용하여 로그인 su하고 sudo 그룹에 àdduser username sudo다른 사용자 를 추가 할 수 있습니다. 실제 cd / usb 및 chroot를 사용하여 설치된 시스템으로 부팅해야합니다. 기본적으로 루트에 로그인합니다. 다음 경우에 루트 암호를 설정하고 passwd거기에서 sudo에 자신을 추가하고 재부팅하면 sudo에 사용자 이름이 추가되고 sudo가 여전히 작동하지 않는 경우 루트 암호를 갖게됩니다. sudo가 여전히 작동하지 않으면 처리 할 수 ​​있습니다 ....
요나

답변:


57

이것이 나에게 일어날 때 나는 그것을 고치기 위해해야했던 모든 것 :

1 단계. 시스템에서 터미널 창 CTRL+ ALT+ T를 엽니 다 (핫키로 설정 한 후 데비안 KDE)

2 단계. 명령을 사용하여 루트로 입력 su root

3 단계. 루트 비밀번호 입력

단계 4. apt-get install sudo -y설치할 입력 명령sudo

5 단계를 입력하여 sudoers 파일에 사용자를 추가하고 사용자 adduser username이름을username

단계 6. 입력하여 sudoers 파일에 대한 올바른 권한 설정 chmod 0440 /etc/sudoers

단계 7. 터미널 창을 닫을 때까지 입력 exit하고 누르 Enter십시오. 시스템을 완전히 종료하고 재부팅하십시오.

단계 8. 다른 터미널 창을여십시오.

단계 9. sudo 명령을 사용하여 사용자 이름이 sudoers 파일에 올바르게 추가되었는지 확인하십시오. 나는 사용했다 sudo echo "Hello World!". 사용자 이름이 sudoers 목록에 올바르게 추가 Hello World!되면 터미널 응답으로 나타납니다!


15
-1 : cd -없는 홈 디렉토리에 있지만, 가장 최근의 다른 디렉토리로 이동합니다. sudo -없는 사용자 암호를하지만, 루트 암호를 요청합니다. 마십시오 하지 편집 /etc/sudoers수동으로 사용 visudo그것에 대해. 일반적인 우분투 시스템에는 루트 암호가 없지만 sudo에 전적으로 의존합니다.
michas

@michas 데비안에서는 sudo없이 visudo를 사용할 수 없습니다. vi읽기 전용이므로 솔루션을 사용할 수도 없습니다. 내 경우에는 Gedit이 작동합니다.
Léo Léopold Hertz 준영

데비안 8에서는 sudo없이 vi를 루트로 사용할 수 있습니다. 읽기 전용 파일에 쓰려면 : wq!
오라클

이것은 나에게도 도움이되며 실제로 큰 도움이됩니다!
Arefe

답변 주셔서 감사합니다. 그러나 나는 달릴 수조차 없다su -
Vishal

42

링크를 따라 관리자 비밀번호를 재설정하십시오. [관리자 계정 이름을 'user':)

https://askubuntu.com/questions/24006/how-do-i-reset-a-lost-administrative-password

그런 다음 관리자로 로그인하여 다음을 실행하십시오.

sudo usermod -aG sudo,adm fsolano

이제 'fsolano'로 로그인하면 sudo 명령을 실행할 수 있습니다.


1
죄송합니다. 아주 오래 전에이 문제를 해결했다는 것을 잊었습니다. 이것이 내가 가진 문제와 다른 사람이 가질 수있는 해결책입니다.
fsolano94

3
이 메시지와을 입력 한 후에도 여전히 메시지가 나타납니다 adduser NAME sudo. 나는 다른 무언가가 있다고 생각합니다. 데비안 7.8을 사용하고 있습니다.
Tomáš Zato

데비안 8.5에서는이 방법으로 충분하지 않습니다. 추가가 거의없는 ShrikantKhawale의 제안이 여기에 맞습니다.
Léo Léopold Hertz 준영

3
트릭 위 @masi 않습니다 데비안 8.5 (적어도 여기)에서 작업을,하지만 당신은 로그 아웃하고 다시 로그인 한 후.
jcoppens

@jcoppens가 맞습니다. 로그 아웃 및 로그인 후에 만 ​​Debian 8.6에서도 작동합니다.
hello_earth

13

구성 파일 /etc/sudoers목록. 누가 어떤 명령을 어떤 사용자로 실행할 수 있습니까?

우분투 에서이 파일에는 sudo그룹 의 모든 사용자가 사용자로 명령을 실행할 수있는 줄이 포함되어 있습니다 root.

sudo 그룹에있는 사용자를 확인하려면을 입력하십시오 getent group sudo. 을 입력하여 현재 사용자의 그룹을 확인할 수도 있습니다 id.

아마도 현재 사용자가 sudo 그룹에 없으므로 sudo명령 을 사용할 수 없습니다 .

실행하려면 일부 sudo 사용 가능 사용자로 로그인하십시오 sudo.


그게 다야. 관리자 또는 루트 사용자로 로그인하지만 컴퓨터에 Ubuntu를 처음 설치할 때 비밀번호를 잊었습니다.
fsolano94

sudo : x : 27 : user (x 또는 27이 무엇인지 확실하지 않지만 사용자가 암호를 모르거나 기억하는 사용자 계정 인 경우에는 긍정적입니다)
fsolano94

@ fsolano94, 직접 복구 또는 설치 미디어에서 부팅하는 일종의 복구 환경으로 부팅 한 다음 루트 암호를 변경하십시오. 또는 /etc/sudoers파일을 편집 하십시오 (바람직하게 사용 visudo(1)).
vonbrand

6

이 명령을 입력하여 sudo 그룹에 newuser 를 추가하려고 할 때마다 Kali와 동일한 문제가 있습니다 .

usermod -aG sudo newuser

에서 오른쪽 섹션을 수정합니다 /etc/sudoers. 모든 쓰레기!

이 넌센스에 대한 나의 수정은 그 아래의 루트 행을 복사하여 루트를 newuser로 변경하는 것입니다.

# User privilege specification
root    ALL=(ALL:ALL) ALL

newuser ALL=(ALL:ALL) ALL

usermod를 사용하는 일반적인 방법을 기억하지만 지난 몇 년 동안 버그입니까? 정말 말도 안됩니다. 어쨌든 누군가가 더 나은 답변을 얻으면 공유하십시오 :)


일반 데비안에서 같은 문제 (9); 수동 편집 /etc/sudoers은 트릭을 수행
트랜스 걸 조이

4

관리자의 비밀번호를 재설정하려면이 작업을 수행하십시오.

https://help.ubuntu.com/community/LostPassword

그런 다음 일반 사용자에게 sudo 권한을 부여 할 수 있습니다.

sudo adduser username sudo

원래 질문에 게시 한대로

그런데 왜 ncurses를 설치하고 있습니까? 뭔가를 컴파일하고 있습니까?


C에서 Tetris를 프로그래밍하고 그래픽 사용자 인터페이스를위한 크로스 플랫폼으로 curses를 사용하고 있습니다. 그리고
p

1

다음을 통해 모든 액세스 권한에 대해 sudo 그룹에 사용자를 추가 할 수도 있습니다.

  1. 다음으로 루트 디렉토리 사용자로 이동 sudo su(ubuntu 16.04 LTS)
  2. 그런 다음 현재 사용자 비밀번호를 입력하십시오
  3. 유형 sudo adduser <username> sudo이름은 당신이의 sudoers 목록에 추가 할 사용자의 이름입니다
  4. 필요한 사용자가 성공적으로 추가되었는지 확인하려면 getent group sudosudo 사용자 목록을 표시하는 유형 을 입력 하십시오.

안녕하세요, 유닉스 SE에 오신 것을 환영합니다. 좋은 첫 답변을 축하합니다. 서식을 약간 수정했습니다. 게시물을 작성할 때 "구문 도움말"을 클릭하면 자세한 내용을 알 수 있습니다.
GnP

1
이것은 좋은 대답 이 아닙니다 . (1) 질문 sudo은 사용자 에게 효과 가 없다는 것을 나타냅니다 . (2) 답변 sudo adduser <username> sudo이 이미 제공되었습니다.
G-Man

0

'fsolano'이외의 다른 루트 / 관리자 사용자가 있으면 sudoers 파일에 없습니다. 이 사건은 다음과 같이보고 될 것이다 :

check sudo enabled users (groups)
# getent group sudo 
sudo:x:27:xyz,abc 

사용자 'fsolano'가 표준 사용자로 변경되고 다른 루트 권한이있는 사용자가있는 경우 루트 사용자를 통해 로그인하고 "사용자 계정"을 사용하여 'fsolano'를 관리자로 변경하십시오.


-1

sudoers파일에 사용자를 추가하는 가장 간단한 방법 은 다음 명령을 실행 권한이있는 사용자로 실행하는 것입니다 gpasswd.

sudo gpasswd -a username sudo

데비안 8.5에서는 작동하지 않습니다.
Léo Léopold Hertz 준영

-1

1. 아래 명령을 사용하여 sudo 그룹의 일부인지 여부를 확인할 수 있습니다

groups username ===> it will lists the groups for which he belongs too

아래 스크립트에서도 확인할 수 있습니다

h=`groups username| awk -F ":" '{print $2}'| grep -io 'sudo'`
if [[ $h == "sudo" ]]
then
echo "user praveen is part of group sudo"
else
echo "Need to add user to group sudo"
echo "Swictch to root and add user"
fi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.