Bash
以 sudo 執行安裝程序 bash 時如何確保正確的文件權限?
我正在製作一個安裝程序 bash,也正在使用它。但是我剛剛遇到了一個嚴重的問題:當我使用 bash 執行 bash 時
sudo ./install.sh
,它複製的所有文件都歸其所有root
,因此對其他人來說是只讀的。這使得安裝的程序相當無用。就我而言,安裝的程序是 Tomcat Web 應用程序,這意味著 Tomcat 將無法使用它。
因此問題:
sudo ./install.sh
安裝批處理的正確方式是否應該起作用?
- **是:**在這種情況下,我如何正確使用
cp
命令來確保文件屬於 a) 發行者 b) 特定使用者。還是我需要其他命令?- 否:
apt-get install ...
在這種情況下,我如何從批處理中正確執行管理任務(例如)?
使用install命令複製文件。它可以設置所有者和權限。從手冊頁:
-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)