sudo 사용자로 다시 추가하려면 어떻게합니까?


64

오늘 Ubuntu 11.10을 새로 설치 한 다음 VirtualBox를 설치했습니다. 이를 통해 vboxusers 그룹에 본인을 추가해야했으며 11.10에는 더 이상 그룹에 사용자를 추가 할 수있는 그래픽 앱이없는 것 같으므로 다음 명령을 실행했습니다.

sudo usermod -G vboxusers stephane

이것은 문제입니다. 이제 내가 대신 실행 해야하는 것이 보입니다.

sudo usermod -aG vboxusers stephane

결과적으로 나는 더 이상 내가 속한 그룹에 속하지 않습니다. "sudo"를 실행하는 데 필요한 그룹을 포함합니다. 지금 sudo로 명령을 실행하면 다음과 같은 결과가 나타납니다.

$ sudo ls
[sudo] password for stephane: 
stephane is not in the sudoers file.  This incident will be reported.

이 문제를 해결하는 방법이 있습니까, 아니면 처음부터 다시 설치해야합니까?

답변:


65
  1. 부팅하는 동안 왼쪽 Shift 키를 길게 누르면 GRUB 메뉴가 나타납니다.

  2. ( 복구 모드 )가 포함 된 항목을 선택 하고 기다립니다.

  3. 이제 메뉴가 나타납니다. 고르다:

    remount    Remount / read/write and mount all other file systems 
    

    파일 시스템이 읽기 / 쓰기 권한으로 마운트 될 때까지 기다린 다음를 누릅니다 Enter.

    이 옵션이 나타나지 않거나 작동하지 않으면 대신 root옵션을 선택하고 다음 명령을 사용하여 시스템 파티션을 마운트하십시오.

    mount -o remount /
    

    fsck명령을 사용하거나 보거나 사용하여 시스템 파티션을 확인할 수 있습니다 /etc/mtab.

    mount 명령을 성공적으로 실행 한 후 (즉, 오류 메시지 없음) 아래 5 단계로 바로 진행하십시오.

  4. remount옵션을 선택하면 메뉴가 다시 나타납니다. 고르다:

    root       Drop to root shell prompt
    
  5. 다음 명령 중 하나를 입력하여 사용자를 admin그룹 에 다시 추가하십시오 (Ubuntu 11.10 이하).

    adduser <USERNAME> admin
    

    또는 sudo그룹 (Ubuntu 12.04 이상) :

    adduser <USERNAME> sudo
    
  6. 재부팅하면 sudo다시 사용할 수 있습니다 .


3
"remount"메뉴가 보이지 않으면 먼저 "fsck"를 선택하면 파일 시스템이 다시 마운트되어 읽기 / 쓰기가 가능합니다. 그런 다음 루트 모드에서 사용자를 추가 할 수 있습니다.
Jiejing Zhang

1
이것은 명령을 사용하여 파일 시스템을 마운트해야한다는 것을 제외하고는 나를 위해 일했습니다 mount -o remount,rw /.
Passuf

이것은 완벽하게 작동합니다. 또한 큰 보안 문제처럼 보입니다. 현명한 컴퓨터에서이 기능을 비활성화해야한다고 생각하십니까? -복구 모드에서는 재부팅 할 수 없습니다. 항상 사용해야 reboot -f합니다.
Romain Vincent

15

시스템에서 루트 로그인이 활성화되어 있으면 X에 로그인하지 않고 Control+ Alt+ F1를 통해 터미널을 삭제하십시오. 루트로 로그인 한 다음 원하는 사용자를 admin그룹에 추가하십시오 (Ubuntu 11.10 이하).

adduser desired_user_name admin

Ubuntu 12.04 이상의 경우 사용자를 sudo그룹에 추가하십시오 .

adduser desired_user_name sudo

루트 로그인을 활성화하지 않았다면 Grub에서 복구 모드를 선택한 다음 루트 셸을 사용해보십시오.

루트 쉘

파일 시스템을 읽기 / 쓰기로 마운트하십시오.

mount -o rw,remount /

그런 다음 원하는 사용자를 admin(또는 sudo) 그룹에 다시 추가 할 수 있습니다 .


하지만 사용자로부터 sudo에 액세스 할 수 없습니다!
Jamie Hutber

7

다시 마운트 메뉴 옵션이 12.10에없는 것처럼 동일한 작업을 수행 한 후 다양한 조합을 시도했습니다. 나는이 게시물의 다른 모든 것을 루트에서 시도했습니다. 마지막은

umount -a
mount -o -w /<path> /

이 파일 시스템은 여전히되는 결과 RO 부팅 인해 fstab에의 설정에 RO 것 같았다 진술과 함께, 내가 생각하는 파일 시스템 오류에 RO 마운트 후.

나는 마침내 그것을 관리

mount -o rw,remount /

이것이 이전 명령 세트와 어떻게 다른지 잘 모르겠습니다.

이 변형을 적용한 후 admin(11.10 및 ealrier) 또는 sudo(12.04 이상 ) 그룹에 사용자를 추가하는 방법은 다음과 같습니다.

adduser username admin    # 11.10 and earlier
adduser username sudo     # 12.04 and later

2

오래된 질문이지만 나에게도 일어났습니다 (우분투 14.04).

여기 및 다른 곳에서 많은 답변이 설명하는 것처럼 복구 모드에 로그인하고 루트 셸에 액세스 할 수 없었습니다. GRUB의 루트 셸 액세스는 암호로 보호 된 것으로 보입니다.

그래서 나는 이런 식으로 문제를 해결했다.

  1. 라이브 USB 스틱으로 부팅
  2. 껍질을 열다
  3. 기본 HD Linux 파일 시스템에 액세스하십시오 (일반적으로 CTRL-L 이후 GUI 파일 탐색기의 주소 표시 줄에서 마운트 지점을 찾을 수 있음). cd그것에.
  4. 파일 편집 etc/group(예 : nano etc/group다른 것)
  5. "스도"라인을 찾으십시오. 처럼 보일 것sudo:x:27:admin,bob,alice
  6. sudo쉼표로 구분 하여 줄 에 자신을 추가하십시오.

물론 이것은 파일에 etc/sudoers여전히 줄 이 있음을 의미합니다.

%sudo   ALL=(ALL:ALL) ALL

이는 그룹의 모든 구성원 sudo이 완전히 통제 할 수 있음을 의미합니다 . 먼저 확인하십시오.

우연히 일했다.


0

계정에 그룹을 추가하는 것과 같은 실수를했습니다 (을 잊어 버렸습니다 -a). 루트 로그인을 잠근 상태로 시스템을 설치했으며 내 계정은 컴퓨터에서 유일한 계정이었습니다.

수락 된 답변이 도움이되지 않았습니다. 복구 모드로 부팅하는 동안 도움이되지 않는 메시지는

콘솔에 대한 액세스를 열 수 없습니다. 루트 계정이 잠겨 있습니다. 자세한 내용은 sulogin (8) 매뉴얼 페이지를 참조하십시오.
계속하려면 Enter 키를 누르십시오

Enter 키를 누르면 시스템이 정상적으로 부팅됩니다. 문제를 해결하기 위해 루트 액세스 권한을 얻지 못했습니다. 이 시점까지 누군가가 내 신발에 들어가면이 대답을 남기고 있습니다. Grub 메뉴를 통해 복구 모드에 도달 할 수없는 경우에만 다음을 사용하십시오 .

루트 쉘을 얻는 연습 :

  1. Grub 메뉴로 부팅 Enter하고 일반 (복구 아님!) 부팅 옵션을 강조 표시합니다 (그러나 누르지 마십시오 !).
  2. 를 누릅니다 e. Grub은 여러 줄로 된 명령 줄 편집기를 표시합니다. 각 줄은 협박하지 않으면 익숙하지 않을 수 있습니다. 변경 사항은 영구적으로 저장되지 않습니다.
  3. 행을 찾으십시오 linux ... ro .... 이것은 커널 명령 행입니다. 바꾸기 ro와 토큰을 rw, 루트 파일 시스템의 읽기 / 쓰기를 만들고, 다른 커널 명령 줄 매개 변수를 추가, init=/bin/sh. 이것은 커널 sh대신에 실행하도록 지시합니다 /sbin/init. 결국 선은 다음과 같아야 linux ... rw init=/bin/sh ...합니다. 참고 :grub>프롬프트 로도 얻을 수 있습니다 . 다른 모든 것이 당신에게 실패한다면 어떻게 단계별로 설명해 드리겠습니다. 이 답변에 의견을 남기십시오.
  4. 변경 한 후을 눌러 F10편집기의 명령을 사용하여 시스템을 부팅하십시오 (또는 Grub이 다르게 컴파일 된 경우 편집기 창 바로 아래에서 부팅하는 방법에 대한 지침을 읽으십시오). init 프로세스는 루트 ID와 함께 PID 1로 실행되므로 루트 쉘 프롬프트가 표시됩니다.
  5. 예를 들어 변경할 내용을 변경하십시오 usermod -a -Gadm,sudo YOURUSERID. id -a YOURUSERIDsudo 회원이 되셨는지 확인 하십시오. "명령을 찾을 수 없음"오류가 발생하면 /sbin/usermod및을 사용하십시오 /bin/id.
  6. 이 시점에서 시스템을 완전히 종료하거나 재부팅 할 수 없습니다. reboot, halt또는 poweroff작동하지 않습니다, 그리고 exitPID를 한 프로세스가 바로 종료에 예상과 쉘에서 커널 패닉으로 이어질 것입니다. 따라서 다음 두 가지 명령은 다음과 같습니다.

    sync
    exec /sbin/init
    

    sync디스크에 대한 모든 변경 사항을 저장 exec하고 쉘을 실제 init(시스템, 시동 또는 System V init 가능하지만 항상이라고 함 /sbin/init) 로 바꾸는 것이 잘못 된 경우를 대비 하여 . 시스템이 계속 정상적으로 부팅됩니다 (복구 모드 없음).

  7. 시스템에 한 번 로그인하여 재부팅하십시오. 예를 들어 sudo reboot--do sudo 권한을 다시 얻었어야합니다. init일반적인 부팅 중에 추가 매개 변수가 전달 될 수 있지만 그렇게하지 않았기 때문에 재부팅하는 것이 좋습니다 (매우 드물지만) . (가)의 경우 exec실패, 단순히 기계를 재설정하고 정상적으로 부팅 할 수 있습니다. ext4, xfs 및 btrfs와 같은 모든 최신 저널링 파일 시스템은 신속하게 복구됩니다 ( sync리셋 전에 ed를 사용하는 경우 저널 확인을 위해 몇 초가 소요됨 ).

약간의 배경

문제에 대한 데비안 버그 보고서 에 대한 토론 이 있었고, 이해하는 한 이것은 버그가 아닌 기능으로 결정 되었기 때문에 오히려 실수라고 판단했습니다. 25 년 동안이 사업에 종사해 왔지만, 저는 그 글 에서 메시지 # 31 의 Michael Biebl의 주장에 전적으로 동의하지는 않습니다 .

루트 계정이 잠긴 랩톱이 있습니다. 기본적으로 grub 부트 로더는 복구 모드의 부트 항목을 생성합니다. 따라서 CD-Rom 또는 USB로 부팅 할 수 없도록 BIOS를 잠그고 grub을 암호로 보호하더라도 노트북을 잠시 동안 그대로두면 누군가가 쉽게 루트 액세스 권한을 얻을 수 있습니다.

Felipe Sateler의 메시지 # 70 에 올바른 IMO (일반적이지 않은 경우)에 대한 반대 의견이 제시되었습니다 .

많은 (대부분?) 컴퓨터의 경우 물리적 액세스는 상자를 분해하고 하드 드라이브를 얻을 수 있으므로 보안 측면에서 게임을 잃어 버리는 것을 의미합니다.

Michael의 주장에 언급 된 랩톱의 경우 특히 그렇습니다. 잠시 동안 무인 상태로 두었다가 누군가 데이터를 찾은 경우 랩톱은 다시는 보이지 않습니다. 그리고 "많은"또는 "대부분"이 아닌 모든 머신의 경우, 공격자가 머신에 물리적으로 접근하자마자 8 포인트로 랙에 볼트로 고정 된 머신까지도 게임은 실제로 끝납니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.