이 정도면 충분하다는 블로그 게시물을 많이 봤습니다.
aptitude install sudo
su root
adduser USERNAME sudo
그러나 이는 보호만 할 수 있습니다 aptitude
. 즉, 다음과 같습니다.
aptitude install sendmail
비밀번호를 묻고sudo
실행 해야합니다aptitude
apt-get install sendmail
비밀번호를 묻지 않으며sudo
권한도 필요하지 않습니다.in과 같이 보호된 파일을 편집하는 경우
etc
비밀번호를 묻는 메시지가 표시되지 않으며sudo
권한이 필요하지 않습니다.와 같은 서비스를 실행하고 중지할 수
apache
있으며 비밀번호를 묻지 않으며sudo
권한도 필요하지 않습니다.
이 문제를 어떻게 해결하나요? 이것은 내 sudoers 파일입니다.
This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
# Host alias specification
# User alias specification
# Cmnd alias specification
이것은 다음의 출력입니다 sudo -l
.
Matching Defaults entries for root on this host:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User root may run the following commands on this host:
(ALL : ALL) ALL
(ALL : ALL) ALL
답변1
sudo 규칙을 추가하지 않았으므로 sudo로 아무 것도 할 수 없습니다.
이 명령은 adduser USERNAME sudo
지정된 사용자를 이름이 지정된 그룹에 추가합니다 sudo
. 이 이름을 가진 그룹이 있어야 합니다. addgroup sudo
없으면 만듭니다. 사용자가 그룹에 추가된 후 그룹 구성원 자격을 적용하려면 사용자가 로그아웃했다가 다시 로그인해야 합니다.
sudo
특별한 그룹명이 아닙니다. 이는 호출된 그룹의 사용자가 sudo
유틸리티를 통해 루트로 명령을 실행할 수 있도록 허용하는 규칙입니다 sudo
. 이를 위해서는 파일에 다음 줄이 필요합니다 sudoers
.
%sudo ALL = (ALL) ALL
sudoers 파일을 편집하려면 실행하고 visudo
직접 편집하지 마십시오.
왜 "이것은 오직 역량만을 보호한다"고 믿는지 모르겠습니다. 자격증에는 특별한 것이 없습니다. 사용자에게 루트로 명령을 실행할 수 있는 권한을 부여하면 해당 사용자는 편집하려면 루트 권한이 필요한 파일을 실행 하거나 편집 sudo aptitude …
할 수 있습니다. sudoers 파일에 있으면 사용자 권한이 직접 변경되지 않고 루트로 명령을 실행할 수 있습니다. 명령은 를 통해 실행하는 경우에만 루트로 실행됩니다 . 일부 프로그램은 이 작업을 자동으로 수행할 수 있습니다. 특히 사용자 인터페이스가 특별한 권한 없이 실행되고 백엔드만 루트로 실행되지만 루트로 실행되는 명령은 항상 .sudo apt-get …
sudo service …
sudoedit
sudo
sudo
sudo
답변2
무엇가능한무슨 일이 일어나고 있는지: sudo가 비밀번호를 캐싱하고 있습니다. 따라서 시스템에서 sudo 실행이 올바르게 완료된 후에는 sudo 비밀번호를 입력해야 합니다.첫 번째명령을 실행하면 잠시 동안 캐시됩니다. 이런 일이 발생하고 시퀀스를 실행하면
sudo aptitude install sendmail
sudo apt-get install sendmail
그런 다음 첫 번째 명령에는 비밀번호를 제공해야 하지만 두 번째 명령에는 비밀번호를 제공해야 합니다(적어도 제한 시간 내에 있는 동안). 이건 아마느끼다마치 첫 번째 명령만 보호하고 두 번째 명령은 보호하지 않는 것과 같습니다. 추가 정보(전체 쉘 로그)가 없으면 알 수 있는 방법이 없습니다...
답변3
위의 답변을 따르면 올바른 길을 가고 있는 것입니다. 적어도 내 Debian Jessie에서는 /sbin 경로에 명령의 /usr/bin에 대한 소프트 링크를 만들었습니다. 예를 들어 /sbin/ifup, /usr/bin에 소프트 링크(ln -s)를 추가하면 사용할 수 있습니다.
또 다른 중요한 점은 NOPASSWD를 다음과 같이 배치하는 것입니다.
User_Alias NET = goviedo
Cmnd_Alias ETH = /sbin/ifup
NET ALL = NOPASSWD:ETH