Linux su切換用戶后命令提示符變為bash-4.2$


2018-9-30 19:31:41 星期日

今天遇到一個問題, 給gitlab配置webhook的時候, 一個目錄總是不能正確執行git pull 命令, 無任何輸出, 根據之前經驗, 感覺是權限的問題

因為hook觸發的腳本是以nginx用戶來執行 git  pull 的

於是我就切換成nginx 在項目目錄里手動執行 git pull, 但是出錯了, 切換不了....

網上找了一大堆解決辦法, 終於解決了, 總結在下邊:

 

切換到root用戶:

1. 看/home下有沒有nginx目錄, 如果沒有就創建,  並執行 cp -a /etc/skel/. /home/nginx 將一些命令和文件復制到這里, 給nginx用

2. 執行 chown -R nginx:nginx /home/nginx  把復制過去的這些東西的所有者都改成nginx, 如果有必要就改一下訪問權限 chmod

3. 執行 usermod -d /home/nginx nginx 設置nginx的用戶目錄為/home/nginx, 這樣一旦切換為nginx用戶, 他就會去/home/nginx目錄下去加載相關的東西

4. 切換到root用戶,  執行 usermod -s /bin/bash nginx 讓他可以執行shell命令

5. 如果有必要, 去root的.ssh下把 id_rsa和id_rsa.pub兩個文件也復制到/home/nginx/.ssh目錄下, 注意訪問權限跟root一樣

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM