항상 내가 "sudoers" 파일에 없다고 나와요!

항상 내가 "sudoers" 파일에 없다고 나와요!

Ubuntu-20에서 Debian-12로 마이그레이션했는데 새로 설치된 시스템에서 sudo내 사용자 이름을 사용하여 명령을 실행할 수 없습니다.my_name

그래서 루트 로그인 터미널 my_name( )에 "sudo" 그룹을 추가하고 컴퓨터를 다시 시작했습니다.usermod -aG sudo my_name

하지만 작동하지 않습니다. "my_name이 sudoers 파일에 없습니다..."와 같은 메시지가 계속 표시됩니다.

제가 발견한 한 가지 이상한 점은 groupsmy_name으로 로그인한 터미널 창에서 명령을 실행할 때 "sudo" 그룹 이름이 나타난다는 것입니다.아니요그룹 목록에 존재합니다. 그런데 groups my_name루트 권한으로 실행하면 "sudo" 그룹 이름이존재합니까?그룹 목록에서!

이것은 Debian-12 버그입니까? 아니면 내가 어떤 행동을 놓쳤나요?

답변1

/etc/group및/또는 파일을 수동으로 편집했습니까 ( / 및 유사한 도구 /etc/gshadow외부에서 )?usermodgroupmod

무시할 수 있을 만큼 작은 구문 오류가 있을 수 있지만 groups yourusername세션을 설정하는 PAM 라이브러리는 더 엄격할 수 있습니다.

grpck그룹 파일의 구문을 확인하려면 루트로 실행하세요 .

, , 및 홈 디렉터리 없음 pwck과 같은 시스템 계정에 대한 일부 오류 메시지가 확실히 표시되지만 를 실행할 수도 있습니다 . 이는 대부분의 경우 적절한 하위 시스템/서비스가 설치되어 있지 않으며 무해하다는 것을 의미합니다. .lpnewsuucplistircgnats

답변2

1. 루트로 로그인: 파일을 변경하려면 루트 계정으로 로그인해야 합니다 sudoers. 루트 비밀번호가 있는 경우 su터미널에 입력한 후 루트 비밀번호를 입력하여 루트 사용자로 전환할 수 있습니다.

1.1 visudo에서 찾아보세요 /usr/sbin.

1.2 /usr/sbinPATH에 추가: /usr/sbin다음과 같이 PATH에 임시로 추가할 수 있습니다.

export PATH=$PATH:/usr/sbin

1.3 visudo전체 경로로 실행:

/usr/sbin/visudo
  1. 파일 편집 sudoers: 루트로 로그인한 상태에서 visudo명령을 사용하여 파일을 안전하게 편집합니다 sudoers. 이 명령은 sudoers기본 텍스트 편집기에서 파일을 열고 저장할 때 구문 오류를 확인합니다. 오류로 인해 모든 sudo 액세스가 잠길 수 있으므로 매우 중요합니다.

  2. sudoers파일 에 사용자를 추가합니다 . sudoers파일에서 다음과 같은 줄을 찾습니다.

root    ALL=(ALL:ALL) ALL

이 줄 아래에 다음과 같이 사용자 계정에 대한 줄을 추가합니다.

yourusername    ALL=(ALL:ALL) ALL

사용자 이름을 실제 사용자 이름으로 바꾸십시오.

  1. 저장 및 종료: 파일에 사용자를 추가한 후 sudoers파일을 저장하고 편집기를 종료합니다. 기본 Vim 편집기를 사용하는 경우 visudo:wq를 입력한 다음 Enter를 눌러 이 작업을 수행할 수 있습니다.

  2. 루트에서 로그아웃: 사용자를 추가한 후 루트 사용자에서 로그아웃하고 일반 사용자 계정을 통해 sudo를 사용해 봅니다.

답변3

실행 su하고 sudo adduser user_name sudo사용자를 sudo 그룹에 루트로 추가합니다. 완료되면 다시 시작하십시오 /sbin/reboot. 이것은 Virtualbox의 Debian 12 가상 머신에서 테스트되었습니다.

답변4

동일한 문제가 발생했습니다. 루트 계정에서 사용자 X 루트 권한을 부여한 후 사용자에게 다시 로그인했습니다.

그러나 Gnome 설정, 사용자 및 그룹에서 권한을 변경할 수도 있습니다. 이것은 나에게 효과적입니다.

관련 정보