[转]Linux下,WinSCP普通用户登录sftp后切换到root权限 教程
--------------------------------------------------------------------------------------------------------
有这个需求的原因:
为了提高系统安全性,禁用了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