![설치 프로그램 bash를 sudo로 실행할 때 올바른 파일 권한을 어떻게 보장합니까?](https://linux55.com/image/74559/%EC%84%A4%EC%B9%98%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%20bash%EB%A5%BC%20sudo%EB%A1%9C%20%EC%8B%A4%ED%96%89%ED%95%A0%20%EB%95%8C%20%EC%98%AC%EB%B0%94%EB%A5%B8%20%ED%8C%8C%EC%9D%BC%20%EA%B6%8C%ED%95%9C%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%B3%B4%EC%9E%A5%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
나는 설치 프로그램을 만들고 조금 가지고 놀았습니다. 하지만 방금 심각한 문제에 봉착했습니다. bash 로 bash 를 실행하면 sudo ./install.sh
복사된 모든 파일이 bash 소유 root
이므로 다른 사람은 읽기 전용이 됩니다.
이로 인해 설치된 프로그램이 쓸모 없게 됩니다. 내 경우에는 설치된 프로그램이 Tomcat 웹 애플리케이션이었는데, 이는 Tomcat이 이를 사용할 수 없음을 의미했습니다.
질문은 다음과 같습니다.
sudo ./install.sh
이것이 일괄 설치를 수행하는 올바른 방법입니까?
- 예:이 경우
cp
파일이 a) 게시자 b) 특정 사용자에게 속해 있는지 확인하기 위해 명령을 올바르게 사용하려면 어떻게 해야 합니까? 아니면 다른 명령이 필요합니까? - 아니요:이 경우
apt-get install ...
일괄 처리에서 관리 작업을 올바르게 수행하는 방법(예:)은 무엇입니까?
답변1
복사 파일 사용설치하다주문하다. 소유자와 권한을 설정할 수 있습니다. 매뉴얼 페이지에서:
-g, --group=GROUP
set group ownership, instead of process' current group
-m, --mode=MODE
set permission mode (as in chmod), instead of rwxr-xr-x
-o, --owner=OWNER
set ownership (super-user only)