내가 아는 한 다른 사람들이 동일한 의견을 가지고있는 것으로 보이는 것은 sudo
관리 권한으로 무언가를 실행하는 명령입니다.
그러나 내가 달리면 rcconf
이 줄을 볼 수 있습니다 :
[*] sudo Provide limited super user privileges to specific users
이 서비스의 요점은 무엇입니까? 아니면 이것은 서비스입니까?
내가 아는 한 다른 사람들이 동일한 의견을 가지고있는 것으로 보이는 것은 sudo
관리 권한으로 무언가를 실행하는 명령입니다.
그러나 내가 달리면 rcconf
이 줄을 볼 수 있습니다 :
[*] sudo Provide limited super user privileges to specific users
이 서비스의 요점은 무엇입니까? 아니면 이것은 서비스입니까?
답변:
재부팅시 사용자의 '캐시 된'인증 작업을 취소합니다. 데몬이 아니며 부팅시 스크립트가 실행됩니다.
/etc/init.d/sudo
'서비스를 시작하는' init 파일 을 검사하면 수행중인 작업을 쉽게 확인할 수 있습니다.
case "$1" in
start)
# make sure privileges don't persist across reboots
if [ -d /var/lib/sudo ]
then
find /var/lib/sudo -exec touch -t 198501010000 '{}' \;
fi
;;
stop|reload|restart|force-reload)
;;
*)
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
따라서 기본적으로 /var/lib/sudo
시스템 시작시 일부 파일을 만져서 매우 오래된 수정 시간 소인을 갖습니다. 결과적으로 '캐시 된'부여 된 인증 작업은 서비스 시작시 (부팅시 발생) 취소됩니다.
/var/lib/sudo
디렉토리와 타임 스탬프 에 대한 자세한 내용은 ? 글쎄요 sudo(8)
:
[...]
Once a user has been authenticated, a time stamp is updated and the
user may then use sudo without a password for a short period of time
(15 minutes unless overridden in sudoers).
[...]
Since time stamp files live in the file system, they can outlive a
user's login session. As a result, a user may be able to login, run a
command with sudo after authenticating, logout, login again, and run
sudo without authenticating so long as the time stamp file's
modification time is within 15 minutes (or whatever the timeout is set
to in sudoers).
[...]
/var/lib/sudo Directory containing time stamps
sudo
서비스 파일은 확인을 요구 권한을 다시 부팅 한 후 유지되지 않는 것을 확인하기 위해 존재한다. 기본적으로 재부팅 후 루트 권한을 요청한 일반 사용자는 일반 사용자로 유지됩니다.
sudo에 대한 자세한 설명
아래의 모든 설명은이 질문을 읽는 모든 사람에 대한 모든 정보를 얻고 서비스 폴더의 sudo 파일이 무엇을하고 있는지 설명하는 것입니다.
당신은 우분투 또는 사용하는 다른 배포판 설치하면 sudo
되는의 차이 루트 및 사용하는 사용자 인 sudo
권한 (관리자 또는 슈퍼 유저 권한) "와 같은 루트"를 얻기위한 다음이입니다 :
루트로
sudo로
과거 SUDO 의 작성은 루트를 사용하여 솔루션보다 많은 문제점을 작성했기 때문에 수행되었습니다. 사용자는 모든 권한을 가졌습니다. 즉, 일부 봄 정리를 수행하고 문자 및 폴더를 삭제 한 /usr
경우 (폴더가 필요하지 않다고 생각했기 때문에) 무슨 일이 일어날 지 추측했습니다. 과거의 많은 문제는 사용자가 루트를 사용할 때의 힘을 알지 못했기 때문입니다. 기본적으로 그들은 루트를 가지고 있었지만 Linux, 파일 시스템 계층 구조, 중요한 파일 등을 이해하지 못했습니다. (페라리를 가지고 고속도로에서 운전하는 법을 모르는 것과 같은 것!)/lib
/bin
SUDO 는 또한 GUI 응용 프로그램 (Update Manager와 같은)이 작업을 수행하기 위해 임시 관리 권한이 필요할 때 사용됩니다. 특정 양의 명령 (일반적으로 1)에만 필요하며 사용자 수준 권한으로 돌아갑니다. 이것은 루트 권한을 항상 갖지 않고 사용자가 시스템의 중요한 부분을 제거하기로 결정한 경우 실수를 피하기위한 것입니다.
또한 루트 사용자는 기본적으로 비활성화되어 있기 때문에 더 나은 보안을 제공합니다.
마지막으로, 데스크탑 PC 또는 서버가있는 경우, 모든 사람이 루트 권한을 갖거나 모든 관리자 권한을 갖기를 원하지 않습니다. 당신의 여동생이나 남동생이 경우 무슨 일이 일어날 지 궁금 시작하면 아주 나쁜 생각 /boot
만난 DEL키를 누릅니다. 이것은 sudo
나쁜 일이 일어날 가능성을 줄이기 위해 오는 곳 입니다.
sudo 사용자 또는 sudoers에는 실제로 특정 사용자에 대한 sudo 명령의 제한 또는 열린 정도를 알려주는 구성 파일이 있습니다. 파일 /etc/sudoers
에는 sudo 사용자에 대한 액세스를 제한하거나 액세스 할 수있는 모든 정보가 있습니다. 기본적으로 모든 것에 액세스 할 수 있지만 원하는대로 구성하거나 제한 할 수 있습니다.
man sudoers
터미널에서 sudoers 파일 유형을 사용하는 방법에 대한 정보 . 예를 들어 일반적인 형식은 다음과 같습니다.
사용자 호스트 = 명령
예를 들어 cyrex server1 = /bin/ls
호스트 server1의 사용자 cyrex는 ls 명령을 실행할 수있는 액세스 권한을 부여합니다.
예를 들어 cyrex server1 (root) = /bin/ls
, 호스트 server1의 사용자 cyrex는 ls 명령을 루트로 실행할 수있는 액세스 권한을 부여합니다.
예를 들어 cyrex ALL = /bin/ls
, 모든 호스트의 사용자 cyrex는 ls 명령을 실행할 수있는 액세스 권한을 부여합니다.
예를 들어 cyrex ALL = ALL
모든 호스트의 사용자 cyrex는 모든 명령을 실행할 수있는 액세스 권한을 부여합니다.
예를 들어 비밀번호를 묻지 않고 and 명령에 luis ALL=(root) NOPASSWD: /bin/kill, /usr/bin/killall
대해 sudo를 root로 실행할 수 있습니다.kill
killall