[转]Linux下,WinSCP普通用户登录sftp后切换到root权限 教程

发布时间 2023-08-21 10:08:56作者: dirgo

--------------------------------------------------------------------------------------------------------

有这个需求的原因:

为了提高系统安全性,禁用了root的ssh登录,但是又想使用sftp工具,如winscp,对root下的一些文件进行修改.

下面这个方法 注释掉了sudoers配置项 Defaults requiretty,即 允许不用交互终端也可以执行命令,多少也会降低安全性,

如果对安全性要求高,可以进一步的,将修改的这些操作,写成一个 shell脚本,每次需要的时候执行脚本开启,使用完再执行脚本关闭即可;

还有一个方法:如果安全要求允许,可以允许root用户ssh密钥登录,只是个人以为这样安全性不如下面文章的方法

--------------------------------------------------------------------------------------------------------

原文地址:Linux下,WinSCP普通用户登录sftp后切换到root权限 教程 - 付杰博客

工具: Xshell、winscp

服务器环境: linux centos7

遇到的问题:普通用户使用winscp账户登录服务器,没有操作权限!

 

一、普通用户,通过Xshell登录服务器。
输入以下命令,再输入密码。切换为root。

su

 

二、先查找sftp-server 文件夹所在的系统路径,得到sftp-server文件路径后。
再输入vim命令来编辑修改 /etc/sudoers配置文件

find / -name sftp-server -print

/usr/libexec/openssh/sftp-server

 

vim /etc/sudoers

 

 

修改内容具体如下:

1、在文本中找到下语句

root ALL=(ALL) ALL

 

2、在其下面增加以下语句(user是普通用户名,改成你自己的!)

user ALL=NOPASSWD:/usr/libexec/openssh/sftp-server

 

3、然后向上找到下面语句,将其注释掉

Defaults requiretty

修改为

#Defaults requiretty

 

4、保存并退出

 

三、打开winscp, 设置 sftp和shell

sudo /usr/libexec/openssh/sftp-server

sudu -i

打开winscp, 设置 sftp和shell

 

打开winscp, 设置 sftp和shell

 

打开winscp, 设置 sftp和shell