…하지만 관리자 권한이 필요한 응용 프로그램에 여전히 필요합니까?
다음을 허용하려면 :
$ apache2ctl restart
httpd not running, trying to start
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
$ sudo !!
sudo apache2ctl restart #no password asked
$ #works!
참고로 아마존의 e3 인스턴스 에서이 설정을 보았습니다.
어떤 생각?
답변
sudoers 파일을 편집해야합니다. 성공하면 시스템의 보안 수준이 떨어지고 실패하면 sudo가 손상 될 수 있습니다. sudo visudo
visudo가 오류를 검사하고 발견 된 경우 파일을 저장하지 않으므로 항상 sudoers 파일을로 편집하십시오 .
암호없이 루트로 실행할 수있는 모든 권한을 부여하는 것은 좋지 않습니다. 따라서 필요한 하나의 실행 파일 (apache2ctl) 만 통과 시키십시오. 파일 맨 아래에 다음을 추가하십시오.
YOURNAME ALL = NOPASSWD: /usr/bin/apache2ctl
원하는 경우 실행 파일 경로를 “ALL”로 바꾸면 완전한 암호없는 sudo를 얻을 수 있습니다.
YOURNAME을 사용자 이름으로 바꾸고 Ctrl+ X를 눌러 저장하고 종료하십시오. 오류가 발생하면 되돌 리거나 편집하거나 저장할 수 있습니다.
확인 : 당신은 실행 파일의 전체 경로를 사용하는 것이
즉. /usr/bin/apache2ctl
그냥 대신 apache2ctl
. 경로를 명시 적으로 지정하지 않으면 sudo는 사용자의 현재 경로에서 apachectl이라는 프로그램을 루트로 실행할 수 있기 때문에 중요합니다.
답변
sudo는 매우 강력하고 멋진 작업을 수행하도록 구성 할 수 있기 때문에이 질문에 대한 실제 답변은 복잡 할 수 있습니다. 이에 대해서는 설명서에 자세히 설명되어 있습니다 .
짧은 답변은 sudo visudo
터미널에서 실행 됩니다. 처음으로 visudo를 실행 한 경우 원하는 편집기를 묻습니다. nano 는 일반적으로 사용하기 가장 쉬운 것으로 생각되지만 가장 편하고 익숙한 편집기를 선택하십시오. 액세스 권한을 부여 할 사람을 결정해야합니다. 그것은 ALL
모든 사람 ( 매우 나쁜 생각) , 사용자 또는 시스템 그룹 일 수 있습니다. 그룹은 앞에 % 부호가 붙습니다. 예를 들어, steroid_users
모든 명령에 비밀번호없이 그룹의 모든 사용자에게 루트 권한을 부여하려면 다음을 추가하십시오.
%steroid_users ALL=(ALL) NOPASSWD: ALL
파일의 끝까지 파일을 종료하고 저장하십시오. 모든 것이 잘되고 steroid_users 그룹의 구성원이라면 sudo *some-command*
암호를 입력하지 않아도 문제를 해결할 수 있습니다.
유념가 로그인하는 동안 터미널에 액세스 할 수있는 사람 – 또는 당신이 키 기반 인증 또는 SSH를 설치있는 경우 (더 나쁜) 당신을 완전하고 자유롭게 접근 – 설정 한 비밀번호를 무료 세션 로그인 전체를 체계. 시스템에 여러 명의 사용자가 있거나 이것이 파일 서버 인 경우 루트가 무엇이든 할 수 있으므로 모든 사용자 파일이 위험에 노출 될 수 있습니다 !
또한 실수를하면 visudo가 출력하고 오류 메시지를 표시하며 파일 변경 사항을 저장하지 않습니다. 이렇게하면 sudo가 완전히 깨지는 것을 방지 할 수 있습니다. 당신은 정말로 문서를 읽어야합니다 . Sudo는 전체 시스템을 노출하지 않고도 사용자가 작업을 수행 할 수있는 충분한 액세스 권한을 제공하도록 설계되었습니다. 특정 명령에 대해서만 암호를 사용하지 않고 액세스하는 것이 유리할 수 있습니다.
이게 도움이 되길 바란다.
답변
사용자 또는 그룹에 허용되는 명령 목록보다 먼저 NOPASSWD를 추가하려면 ‘/ etc / sudoers’파일을 편집해야합니다 ( ‘visudo’명령이 있습니다.). 사용자가 ‘admin’그룹에있는 경우 다음이 필요합니다.
%admin ALL=(ALL) NOPASSWD: ALL
https://help.ubuntu.com/community/Sudoers , btw를 확인 하십시오 .
답변
nopasswd 플래그를 사용자 목록에 추가해야하지만 모든 암호 요청 질문이 제거되는 것은 아닙니다. 첫 번째 것만 묻습니다.
- sudoers 편집 :
sudo visudo
(sudo를 사용해야합니다. 이것은 관리자 파일입니다.) - Admin Line 다음에 nopasswd 플래그를 사용하여 사용자를 추가하십시오 (종료). 예를 들어 :
cyrex ALL = NOPASSWD: ALL
또는cyrex ALL = (ALL) NOPASSWD: ALL
답변
sudo visudo
%<GROUP> ALL = NOPASSWD: apache2ctl
또는
sudo visudo
%<GROUP> ALL = NOPASSWD: /etc/init.d/apache2
나는 이것이 할 것이라고 생각한다.
그러나 sudo의 비밀번호를 제거 할 때는주의하십시오.
답변
이제 간단한 답변입니다! 아무것도 엉망으로 만들거나 설치를 퍼지하는 방법이 없습니다.
비밀번호를 몇 번 입력하면 다시 입력 할 필요가 없습니다! 이렇게하면 “root”그룹에 로컬 관리자 계정을 추가 한 다음 전체 그룹 “root”수퍼 유저 권한을 허용하는 템플릿에서 주석을 해제 할 수 있습니다. 이 게시물의 뒷부분에서이 절차에 대한 보안 문제 / 해결책을 읽을 수 있습니다.
% username &는 사용자 이름의 전역 변수입니다 (원하는 사용자 이름으로 바꾸십시오).
1 단계 : 터미널 창을 연 다음 ” sudo usermod -a -G root %username%
” 를 입력하십시오 .
2 단계 : 복사 / 붙여 넣기 …
sudo sed -i 's/# auth sufficient pam_wheel.so trust/auth sufficient pam_wheel.so trust/g' /etc/pam.d/su`
2 단계 OR 유형
sudo nano /etc/pam.d/su`
19 행으로 이동하여 “#”을 제거하십시오 # auth sufficient pam_wheel.so trust
(일부 경우 다른 행 번호 일 수 있음)
* 첫 번째 명령은 % username %을 “root”그룹에 추가합니다
두 번째 / 세 번째 명령을 사용하면 “root”그룹의 모든 구성원이 암호없이 수퍼 유저가 될 수 있으며 인증에 대한 “root”su 권한 만 허용됩니다.
미주 :
엉망으로하지 마십시오 /etc/sudoers
… ‘su’인증을 수행 해야하는 많은 확인 / 균형이 있습니다. 수퍼 유저 인증은 다른 모든 로그인 인증과 동일한 pam.d 절차를 사용합니다. “/etc/security/access.conf”에는 tcp / ip (192.168.0.1) 통신 및 텔넷 서비스 (tty1 & tty2 & tty3 … etc)를 통한 액세스 제어 레이아웃이 있습니다. 이는 전송 프로토콜을 통해 애플리케이션별로보다 정밀한 필터링을 허용합니다. 안전이 우려되는 경우, 방을 나갈 때 실제로 컴퓨터를 만지는 사람과 비교하여 원격 / 코드 위협에 대해주의를 기울여야합니다 !!!
편집증을위한 음식 (검토에 이것을 입력하지 마십시오) :
sudo sed -i 's/#-:ALL EXCEPT (wheel) shutdown sync:LOCAL/-:ALL EXCEPT (wheel) shutdown sync:LOCAL/g' /etc/security/access.conf
^ 이것은 시스템 또는 루트의 구성원이 아닌 사람의 콘솔 액세스를 차단합니다. 때때로 프로그램은 악용되는 사용자 이름 / 그룹을 설치합니다!