저는 linux/bash를 처음 사용하고 가상 장치(linux/bash 기반)를 활성화하여 네트워크 대상에서 명령을 자동으로 인증하고 실행하는 방법을 알아내려고 몇 주를 보냈습니다.
제대로 작동했지만 Linux를 처음 접했고 내가 작성한 내용이 보안에 미치는 영향을 이해하지 못합니다. 홈 랩이지만 장치 안전의 좋은 원칙을 에뮬레이션하기를 바랍니다.
내 스크립트는 /home/userX/bin/에 "scriptX"로 저장되며 다음 내용을 포함합니다.
#! /bin/bash
source $HOME/.bashrc
source *commands to authenticate to target*
source *command to scan adapters*
이는 SSH에 로그인하고 ./를 실행하여 대화형 환경에서 실행할 때 작동합니다. 그러나 크론 작업으로서 다른 항목에서 $HOME의 소스를 찾지 않으면 작동하지 않습니다. 다음과 같은 크론 작업 설정이 있습니다.
sudo crontab -e
그런 다음 cron 작업에서
@reboot . /etc/skel/.bashrc ; bash -l -c '/home/UserX/bin/scriptX'
그래서 예상대로 작동하지만 작동할 때까지 온라인에서 찾은 스크립트의 일부를 혼동했습니다.
루트에서 권한이 낮은 사용자로 계정을 변경하는 것 외에 이 처리 방법을 개선할 수 있는 것이 있습니까?
답변1
파일(예 $HOME/.bashrc
: )을 가져오는 것은 해당 파일에 기록된 내용만큼만 안전합니다.
극단적인 예로, 귀하가 .bashrc
포함하는 /bin/rm -rf $HOME
경우매우안전하지 않음.
구매는 어떤 영향도 미치지 않습니다.부모껍데기.
SSH에 대해 더 자세히 알고 SSH를 공개/개인 키와 함께 사용하는 방법을 알아야 할 수도 있습니다.