이것이 보안 문제라고 생각하십니까? cif 스크립트를 작성해 보세요

이것이 보안 문제라고 생각하십니까? cif 스크립트를 작성해 보세요

cifs 공유를 마운트하는 스크립트를 작성하려고 합니다. 아래는 제 스크립트입니다. 저는 proxmox v7 debian 11 VM에서 cli만 실행하고 GUI는 실행하지 않고 있습니다. 스크립트가 있는 퍼티를 통해 연결했습니다 /srv/share. fstab도 자동으로 마운트하도록 설정했지만 이 스크립트를 테스트하는 동안 마운트를 해제했습니다.

// Beginning of script  
#! /bin/bash  
share="/storage"

// Test for share connectivity and connect if needed  
if [ ! -d $share/_Scripts ];  
then  
// following command is all one line  
mount -t cifs //x.x.x.x/storage /storage -o uid=root,gid=smb_admins,credentials=/home/xxxxx/.cifs,file_mode=0770,dir_mode=0770  
else  
echo “Share is already connected”  
fi  
// End of Script

내 사용자로 실행하면 프롬프트도, 오류도, 아무것도 표시되지 않습니다. 그런 다음 명령 프롬프트에 종료를 입력하면 사용자의 명령 프롬프트로 돌아가기 전에 "exit"를 인쇄한 다음 "shareconnected"를 인쇄합니다. 그러나 스크립트를 실행하면 sudo평소와 같이 사용자 비밀번호를 묻고 출력이 표시되지 않으며 루트 비밀번호를 묻지 않고 루트 프롬프트로 직접 이동하므로 약간 걱정됩니다. 그런 다음 exit루트 프롬프트에 입력하면 일반 사용자와 동일한 작업을 수행하고 일반 사용자의 프롬프트로 돌아갑니다.

나는 이것을 망쳤다고 확신하지만 이것은 나에게 매우 위험한 행동처럼 보입니다. 당신의 생각?

답변1

첫 번째 줄이 잘못되었습니다. 그래야지 #!, 아니 $!. 전자는 쉘에 대한 주석이지만 스크립트를 실행하는 데 사용할 프로그램을 운영 체제에 알려주고 후자는 실행된 마지막 백그라운드 작업 번호를 포함합니다(제 기억이 정확하다면). 그런 것이 없다고 가정하면 아무 것도 확장되지 않으므로 스크립트의 시작 부분은 bash 프로세스를 시작하고 종료로 끝난 다음 실제 스크립트를 실행합니다.

보안 문제는 보이지 않습니다. 확실히 스크립트의 버그이지만 이를 실행하는 사람은 어쨌든 sudo 권한을 갖습니다.

관련 정보