zoukankan      html  css  js  c++  java
  • 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一样

  • 相关阅读:
    redis使用基础(十) ——Redis存储Session
    redis使用基础(十一) ——Redis特殊情况处理机制
    redis使用基础(八) ——Redis命令属性
    redis使用基础(九) ——Redis虚拟内存
    性能
    laradock phpstorm xdebug
    docker笔记
    go注意点
    微服务
    分布式
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/9733170.html
Copyright © 2011-2022 走看看