sudoers 파일에없는 사용자 이 사건은보고 될 것이다


24

패키지를 설치해야합니다. 이를 위해서는 루트 액세스 권한이 필요합니다. 그러나 시스템은 내가 sudoers 파일에 없다고 말합니다. 하나를 편집하려고 할 때 모두 똑같이 불평합니다! 편집 할 권한이없는 경우 sudoers 파일에 자신을 어떻게 추가해야합니까?

이 시스템과 관리자 만 설치했습니다. 내가 무엇을 할 수 있을지?

편집 : 나는 visudo이미 시도했다 . 처음에는 sudoers에 있어야합니다.

amarzaya@linux-debian-gnu:/$ sudo /usr/sbin/visudo 

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for amarzaya: 
amarzaya is not in the sudoers file.  This incident will be reported.
amarzaya@linux-debian-gnu:/$ 

4
글쎄요 user not(is) the sudoers file. (
타이포

8
당신은 지금 나쁜 목록에 있습니다 -xkcd.com/838
Aaron Newton

답변:


18

/etc/sudoerssudo 또는 root 액세스 권한없이 자신을 추가 할 수 있다면 보안상의 문제 일 수 있습니다 . 기본적으로 누구나 루트가 될 수 있습니다.

기본적으로 사이트 정책에 따라 해당 시스템의 관리자에게 사용자를 추가하거나 패키지를 설치하도록 요청해야합니다.

visudo를 사용하여 sudoers 파일을 편집해야합니다. 파일을 작성하기 전에 구문이 올바른지 확인합니다. vi 이외의 편집기를 visudo와 함께 사용할 수 있습니다. 기본적으로 설정 한대로 사용 $EDITOR하며 설정 하지 않으면 할 수 있습니다

# EDITOR=nano visudo

대신 나노 편집기를 사용하십시오.


5
관리자입니다. 이것이 내 컴퓨터
이므로이

9
시스템 인 경우 설치시 루트 사용자의 비밀번호를 입력해야합니다. 따라서 'root'로 로그인 한 다음 visudo를 수행하십시오.
Hamish Downer

과연. 내 잘못. 당시 설치 중에 비밀번호를 입력 한 것을 잊었습니다.
Sergiy Belozorov

24

루트로 로그인 /usr/sbin/visudo하고 파일을 편집하고 사용자 이름을 추가하는 데 사용하십시오. 일반 vi / vim은 파일을 편집 할 수 없습니다.

가장 쉬운 방법은 " root ALL=(ALL) ALL" 행이 표시 될 때까지 아래로 내려 가서 같은 구문 ( yourusername ALL=(ALL) ALL) 으로 그 아래에 자신을 추가하는 것 입니다. 또는 더 구체적인 권한을 부여하려는 경우 sudoers 맨 페이지를 읽을 수 있습니다 .


visudo를 실행하려면 우선 sudoers 목록에 있어야합니다. 이 데비안을 설치했는데 다른 관리자는 없습니다.
Sergiy Belozorov 23시 12 분

루트로 로그인 한 경우 실행할 필요가 없습니다 sudo visudo. 그냥 실행하십시오 /usr/sbin/visudo. 그러나 다른 답변의 의견에서 이미 이것을 찾은 것처럼 보입니다.
Ricket

각 사용자를 "sudo"또는 "sudoers"(distro에 따라) 그룹에 추가하기에 충분하지 않습니까? 슬프게도 내 경우에는 작동하지 않지만 작동하는 데 맹세 할 수는 ...?
Gregor

5

다음 명령을 입력하십시오.

$ su

그리고 비밀번호 "root"를 요청했습니다. 타이핑과 붐 ... 효과가있었습니다!

이 문제는 나의 실수였다. 사용자 이름과 비밀번호를 만들 당시 시설로 돌아 왔기 때문입니다.


정말 도움이되어 베이컨을 구 해주셔서 감사합니다! ".하지의 sudoers 파일에 사용자이 사건이보고됩니다"하지만 내가 상승 된 권한을 허용 할 단순히이 명령 한 다음 루트 암호를 추가하는 이유를 궁금 하군요 .... 오히려 메시지의 목적을 물리 칠 것

1

아마도 가장 쉬운 방법은 일단 루트가되면 다음과 같습니다.

echo 'amarzaya ALL=(ALL) ALL' >> /etc/sudoers

7
sudoers 파일을 직접 편집하거나 텍스트에 에코하는 대신 visudo를 사용하여 sudoers 파일을 편집해야합니다. 이를 통해 구문 적으로 올바른지 확인할 수 있으며 액세스를 차단하거나 다른 사람에게 부적절한 액세스 권한을 부여하지 않아야합니다.
pkaeding

1

sudoers 파일에 이미 이런 종류의 줄이 포함되어있는 경우

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

그런 다음 가장 깨끗한 방법은 admin그룹에게 사용자 에게 권한을 부여하는 것입니다 . 예를 들어, 사용자 oracle을 admin 그룹 에 추가 하려면 다음을 수행하십시오 .

usermod -aG admin oracle

그것이 내가 찾던 것입니다. 나에게 가장 깨끗하고 sudoers 파일을 망칠 필요가 없습니다.
webjunkie

1
올바른 명령은 다음과 같습니다usermod -g oracle admin
kvanberendonck

-1 : 구문은 usermod -g $group $user입니다. 아마도 adduser구문을 생각하고있을 것 입니다 adduser $user $group.
Blacklight Shining

1
… 실제로 원할 것 usermod -aG $group $user입니다. -g사용자의 설정 지정하고, 하나에 그룹을 -G없이 -a나열되지 않은 그룹에서 사용자를 제거합니다. -g또한 사용자 홈 디렉토리에서 이전 그룹이 소유 한 모든 파일의 그룹 소유권을 변경합니다. 당신이 나와 같고 당신의 umask가 007…로 설정되어 있다면
Shining

1
@BlacklightShining. 네가 옳아. 잘못된 주석은 이전 주석가에 의해 제안되었으며 oracle종종 그룹 이기 때문에 실제로 혼란의 여지가 있습니다. "수정"해서는 안됩니다.
Alain Pannetier

-1

를 사용하여 여전히 루트 액세스 권한을 얻을 su수있는 경우이 단일 라이너를 사용하여 다음에 자신을 추가 할 수 있습니다 /etc/sudoers/.

su -c 'echo $USER ALL=(ALL)ALL >> /etc/sudoers'

변경 사항을 활성화하려면 로그 아웃 한 후 다시 로그인하십시오. 예를 들어 X 세션을 종료하거나 shell enter를 통해 로그 아웃하십시오 exit.


-1 : pkaeding 's comment를 참조하십시오 .
Blacklight Shining

-1

sudo명령을 사용할 수없는 경우 다음 방법을 사용할 수 있습니다.

  1. Ctrl+ Alt+를 누릅니다F1
  2. 사용자가 루트가 아닌 경우 사용자를 로그 아웃하십시오.
  3. 루트로 로그인
  4. 루트 권한 사용
  5. GUI로 가려면 로그 아웃 ( exit) – Ctrl+ Alt+F7

-1 : 실제로 GUI가있는 일부 로컬 환경 에서만 작동 합니다.
Blacklight Shining

-1

그룹에 추가 <username>하기 whell만하면됩니다.

# usermod -aG whell username

그런 다음 사용자 이름으로 로그인하고 즐기십시오 :)


-3

먼저 다음을 사용하여 로그인하십시오.

$ su

그런 다음 계속하십시오.

$ sudo apt-get update

또는 평소대로


1
당신은 필요하지 않습니다 su-sudo는 이것을합니다.
Simon Sheehan

그들은 실제로 같은 것이 아닙니다. sudo는 '수퍼 유저로 수행'이지만 사용자의 비밀번호로 로그인합니다. su는 '사용자 전환'이며 기본적으로 (인수없이) 루트 사용자로 전환을 시도합니다.이 경우 루트 비밀번호를 입력해야합니다. 그러나 루트 사용자이므로 su가 중복 된 후 sudo를 사용하는 것도 올바른 방법입니다.
Aaron Newton

@ aaron.newton 실제로 이것을 Switch User와 DO로 읽을 것입니다. -u플래그 와 같이 명령을 실행할 사용자를 선택할 수 있습니다 . 그것은 되는 대부분의 루트에 사용하지만, 너무입니다 su.
Blacklight Shining

@ aaron.newton 실제로 이것을 Switch User와 DO로 읽을 것입니다. -u플래그 와 같이 명령을 실행할 사용자를 선택할 수 있습니다 . 그것은 되는 대부분의 루트에 사용하지만, 너무입니다 su.
Blacklight Shining
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.