通过堡垒机上传文件报错ssh:没有权限的问题
背景描述
一台有公网IP的主机安装的有jumpserver,假设为A主机,另外几台没有公网ip的主机,假设其中一个为B主机。
操作
1.通过主机A的公网IP和端口等登录到jumpserver的管理员用户界面
2.添加管理用户为root,也就是资产(被控服务器)上的 root,或拥有 NOPASSWD: ALL sudo 权限的用户。在这里指的是那几台没有公网ip的主机root用户。
3.添加系统用户为newuser, JumpServer 跳转登录资产时使用的用户,可以理解为登录资产用户,简单来说是用户使用自己的用户名登录 JumpServer,JumpServer 使用系统用户登录资产。 系统用户创建时,如果选择了自动推送,JumpServer 会使用 Ansible 自动推送系统用户到资产中.
步骤2和3的意思是说,使用admin用户登录jumpserver平台后,jumpserver使用管理用户也就是root用户自动在这几台主机上创建系统用户newuser,后续通过jumpserver平台登录到B主机,使用的是系统用户newuser.
这个系统用户newuser相当于是在B主机上新创建的一个普通用户,sudo权限放开,免密登录的那种。
4.添加资产
5.资产授权
6.在jumpserver平台上创建一个普通用户,比如aaa用户,管理这几个资产,并授权等
问题
使用aaa用户登录到jumpserver平台上后,然后连接B主机打开ssh终端,会看到使用的用户是系统用户newuser,提示符是$
,可以使用sudo来执行root用户权限,但是上传文件或者新建文件,文件夹的时候(不是在/home/newuser目录下操作的)会提示如下的报错信息:
解决办法
修改系统的/etc/passwd
文件,找到newuser用户,把用户id修改成0,也就是root用户的id。
这样一来再通过堡垒机ssh连接到B主机,提示符是#
,相当于是使用的root用户来登录操作的.
这个步骤比较危险,不建议这样操作。
这个步骤比较危险,不建议这样操作。
这个步骤比较危险,不建议这样操作。