내 사용자에게 실행 권한을 부여해야 합니다 sudo
. CentO를 사용하고 있습니다
# uname -a
Linux lab-hv1-centos1 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
루트 액세스 권한이 있습니다.
많은 리소스에서 visudo
다음과 같은 줄을 실행하고 추가할 것을 제안합니다.
myuser ALL=(ALL) ALL
visudo
그러나 (심지어 ) 실행하려고 하면 less /etc/sudousers
메시지가 인쇄됩니다.
E437: terminal capability "cm" required
Press ENTER or type command to continue
일부 기사에서는 이 ncurses-term
작업 yum install ncurses-term
을 성공적으로 수행했으며 여기에 나열된 터미널 수가 정말 ls /usr/share/terminfo/d
많습니다. 그러나 그것은 나에게 도움이 되지 않습니다: 실행할 때 오류 메시지가 visudo
계속 인쇄되고 파일을 편집할 수 없습니다.
그래서 내 사용자를 sudo 그룹에 추가하고 싶습니다. 하지만 이 그룹은 내 컴퓨터에 존재하지 않습니다. command를 사용하여 그룹을 만든 groupadd sudo
다음 command를 사용하여 그룹에 사용자를 추가했습니다 useradd -G sudo myuser
.
이것은 성공적으로 작동하지만 명령을 실행하려고 하면 sudo
여전히 오류가 발생합니다.
$ sudo ls
[sudo] password for myuser:
myuser is not in the sudoers file. This incident will be reported.
$
오류 메시지가 실제로 정확합니다. myuser
이라는 그룹에 속해 있지만 sudo
, 그룹을 만든 사람은 바로 저입니다. 단지 라고 불리지만 sudo
, 해당 그룹에 속한 사용자에게 권한이 있다는 의미는 아닙니다. 이런 줄을 추가할 수 있으면 좋겠다고 생각해요
myuser ALL=(ALL) ALL
또는
sudo ALL=(ALL) ALL
해봤 /etc/sudousers
지만 위의 오류로 인해 할 수 없습니다( terminal capability "cm" required
).
해결책은 무엇입니까?
답변1
ncurses-term 패키지를 설치한 후 새 쉘을 시작했습니까?
루트 액세스 권한이 있는 경우 다음 명령을 사용하여 파일을 복사하고 수동으로 줄을 추가하는 것을 /etc/sudoers
고려할 수 있습니다./root/sudoers.backup
echo "myuser ALL=(ALL) ALL" >> /etc/sudoers
사용자 대신 그룹에 액세스 권한을 부여하려면 그룹 이름 앞에 백분율 기호 문자를 추가해야 합니다.
echo "%sudo ALL=(ALL) ALL" >> /etc/sudoers
마지막 일치 규칙은 sudoers 파일에서 유효하므로 편집기를 사용하여 sudoers 파일을 편집하는 것이 여전히 권장되는 방법입니다.
편집하다:
$TERM
고려해야 할 또 다른 점은 변수의 값이 무엇입니까? TERM=vt100
게시하기 전에 설정해 보거나 visudo
다음 중 하나를 사용해 보세요.
TERM=vt100 visudo
TERM=xterm visudo
TERM=dumb visudo