sudo로 실행해야 하는 스크립트가 있습니다.
#!/bin/bash
cp "$@" /destionation/dir
좋은 스크립트입니까, 아니면 누군가 제한 대상 디렉토리를 우회할 수 있습니까?
제안해 주셔서 감사합니다.
답변1
음, 작은 오타가 있습니다: /destionation
대신 /destination
.
거기~이다이 스크립트의 보안 문제.
사용자는 `sudo /bin/bash`
파일 이름을 전달할 수 있으며 루트 쉘을 갖게 됩니다.
또한 다음과 같은 명령을 중첩할 수도 있습니다.
`sudo /bin/bash; echo "hello" >> /tmp/from_root`
루트 사용자로 실행되는 작업 집합을 구성합니다.
대상 디렉토리가 중요할 뿐만 아니라 더 큰 문제가 있으므로 이 스크립트를 사용하지 않는 것이 좋습니다.
더 나은 해결책은 sudo 권한이 필요하지 않도록 누구나 쓸 수 있는 디렉토리를 만드는 것입니다.