• 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一样

  • 相关阅读:
    SPOJ VJudge QTREE
    LCA 在线倍增法 求最近公共祖先
    Codevs 2370 小机房的树
    51Nod-1632-B君的连通
    51Nod--1100-斜率最大
    51Nod-1276-岛屿的数量
    51Nod-1270-数组的最大代价
    poj
    hihocoder Week136 -- 优化延迟
    poj-1035-Spell Checker
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/9733170.html
Copyright © 2020-2023  润新知