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

Linux su切换用户后命令提示符变为bash-4.2$的更多相关文章

  1. linux使用su切换用户提示 Authentication failure的解决方法& 复制文件时,报cp: omitting directory `XXX'

    linux使用su切换用户提示 Authentication failure的解决方法:这个问题产生的原因是由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在 ...

  2. Linux 使用 su 切换用户提示 Authentication Failure 的解决方法

    Ubuntu v14.04,使用 su 命令切换用户时报验证失败的错误 这个问题产生的原因是由于 ubuntu 系统默认是没有激活 root 用户的,需要我们手工进行操作,在命令行界面下,或者在终端中 ...

  3. su 切换用户

    大部分Linux发行版的默认账户是普通账户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户,Linux中切换用户的命令是su或su - 前者只是切换ro ...

  4. Linux中切换用户变成-bash4.1-$的解决方法【转】

    转自 Linux中切换用户变成-bash4.1-$的解决方法 - xia_xia的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/xia_xia0919/articl ...

  5. Linux自动切换用户

    Linux自动切换用户 一.创建sh文件 touch su_user.sh 二.下载脚本 yum install -y expect 三.脚本内容 #!/bin/bash# This is our f ...

  6. linux中切换用户方式su和su -的区别

    Using su The  su  command allows users to open a terminal window, and from that terminal start a sub ...

  7. Linux下切换用户出现su: Authentication failure的解决办法

    在切换用户时,密码没有输错,但始终无法成功地切换,还报出身份验证失败的错误,下面是具体解决方案: 在终端上输入指令sudo passwd root 此时输入你的密码 重复再次输入你的密码 再次用su指 ...

  8. 切换用户后,/etc/profile的配置不起效

    遇到的问题 在配置linux的时候,发现一个问题:su root切换到root用户后,/etc/profile 中配置的PATH不起效果. 问题分析和疑问 是不是~/.profile,~/.bashr ...

  9. linux下切换用户出现This account is currently not available

    今天在一台新服务器下切换用户的时候出现“This account is currently not available”错误上网检索了一 下发现是用户的shell禁止登录的问题 解决办法:比如我是 s ...

随机推荐

  1. building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

    Error msg: building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required. Ge ...

  2. VBA Editor Addins --> VBE插件模板开发众筹

    https://www.cnblogs.com/Charltsing/p/VBEAddins.html QQ:564955427 8月8日测试版功能说明 1.VBE菜单的创建 2.toolwindow ...

  3. HTTP状态码表

    HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码.所有状态码的第一个数字代表了响应的五种状态之一. 1xx消息 这一类型的状态码,代表请求已被 ...

  4. java学习之—实现一个简单的ArrayList

    package thread1; /** * 实现一个简单的ArrayList * * @Title: uminton */ public class SimpleArrayList<T> ...

  5. HttpPost方式调用接口的3种方式

    第一种:需要httpclient的依赖包 <dependency> <groupId>org.apache.httpcomponents</groupId> < ...

  6. Djangon

    2.怎么样从浏览器获得用户输入的数据? request.浏览器的八种申请方式.get(条件) request.浏览器的八种申请方式[] request.浏览器的八种申请方式(这里什么也不要写)> ...

  7. ObjectARX® for Beginners: An Introduction

    转:ObjectARX® for Beginners: An Introduction Lee Ambrosius – Autodesk, Inc.         CP4164-L    Objec ...

  8. 【XSY3126】异或II 数学

    题目描述 给你一个序列 \(a_0,a_1,\ldots,a_{n-1}\).你要进行 \(t\) 次操作,每次操作是把序列 \(x\) 变为序列 \(y\),满足 \(y_i=\oplus_{j=0 ...

  9. 题解 CF540D 【Bad Luck Island】

    既然没有大佬写题解那本蒟蒻就厚颜无耻地写(水)一(经)下(验)吧 题目要求算出个种人单独留下的存活率 因为n,m,p的范围极小, 那么就可以方便地设3位dp状态dp[i][j][k]表示剩余i个石头, ...

  10. BZOJ 3613: [Heoi2014]南园满地堆轻絮(二分)

    题面: https://www.lydsy.com/JudgeOnline/problem.php?id=3613 题解: 考虑前面的数越小答案越优秀,于是我们二分答案,判断时让前面的数达到所能达到的 ...