나는 이것에 대답 할 수 있다고 생각한다.
두 번째 방법을 사용해야합니까?
여기에 문제가있는 이유는 없습니다. 이유가 있습니다.
루트로 실행해야 할 단 하나의 명령, 다음이 있다면 run
프로그램이 아니라 root
나 sudo
때문에 sudo
스크립트가 긴 도로입니다 내부. 프로그래머가 게으른 것을 잊었습니까?
당신이 많은 명령을해야하는 경우 run
로 root
다음과 같이 실행 root
나 sudo
.
sudo로 스크립트를 실행할 때 필요하지 않은 명령에 수퍼 유저 권한을 부여하는 문제를 피하기 위해 보안을 어떻게 향상시킬 수 있습니까?
다른 사용자가 run
프로그램에 필요한 경우 사용자 정의가 가능하고 사용자의 요구를 충족시킬 수 sudo
있기 때문에 해당 sudo
사용자를 위해 설정하십시오.
예를 들면 다음과 sudo
같습니다.
visudo
sudoers 파일을 편집 할 때 항상 사용 하십시오 .....
kate ALL=(ALL) NOPASSWD: /usr/local/bin/script ARG1 ARG2
sudo
프로그램 / 스크립트 내에서 사용자를 변경하는데도 좋습니다. 여기 내 스크립트 중 하나가 있습니다.
sudo -i -u "$user" user="$user" CURRENTDIR="$CURRENTDIR" BASHRC="$BASHRC" bash <<'EOF'
"스크립트가 올바른 권한으로 실행되고 있는지 감지하고 sudo를 전혀 호출하지 않는지 여부"를 작성하려면 어떻게해야합니까?
https://www.cyberciti.biz/tips/shell-root-user-check-script.html
how-do-i-determine-if-a-shell-script-is-running-with-root-permissions
bash/sh:
#!/bin/bash
# (Use #!/bin/sh for sh)
if [ `id -u` = 0 ]
then
echo "I AM ROOT, HEAR ME ROAR"
fi
csh:
#!/bin/csh
if ( `id -u` == "0" )
then
echo "I AM ROOT, HEAR ME ROAR"
endif
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "You must be a root user" 2>&1
exit 1
else
mount /dev/sdb1 /mnt/disk2
fi
신사 @terdon의 요청에 의해 편집 :
이런 식으로 스크립트를 생각하십시오 ....
공용 스크립트입니까 (사용하지 않는 다른 사람) 스크립트는 무엇을합니까? 그것은 당신에게 시간을 말합니까? 아니면 200 시스템에서 iptables를 업데이트합니까? 귀하 만 사용하는 경우, 업무 / 직업 관련입니까, 아니면 개인적인 용도입니까?
사용자 그룹이 무엇인지 사전에 알아야합니다.
그것이 written
관리자에게 주거나 팔아야한다면, 왜 그렇게 script
실행 하지 않아야합니까 root
?? 어떤 해를 끼칠 수 있습니까?
실제 스크립트 / 프로그램은 권한이있는 사용자로 자주 실행되며 아무도 문제가 없다고 언급하지 않지만, 프로그래머와 같은 대부분의 초보자가 이러한 문제에 대해 이야기 할 때 실제 보안 위협이됩니다. 우아하지는 않지만 말하려고하는 것은 일부 사람들이 귀하가 가지고 있는 컨트롤system
과 코드를 살펴 보는 것입니다 .... 파일을 사용하려는 것보다 많은 권한으로 설정합니까? 논리 또는 재능있는 프로그래머가 코드에서 위험을 감수하고 있습니까?
귀하 의을code needs root
사용 sudo
하고 많은 사람이있는 경우 그냥 실행하십시오 root.
......... 내 대답은 여기에서 끝납니다 휴
sudo
기본 자격 증명 캐시가 있다고 생각했습니다 . 플랫폼에서이 기능이 비활성화되어 있습니까?