Bash

以 sudo 執行安裝程序 bash 時如何確保正確的文件權限?

  • October 6, 2015

我正在製作一個安裝程序 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)

引用自:https://unix.stackexchange.com/questions/234307