版本说明:
Windows 10
CentOS 7
WinSCP 5.7.7 (Build 6257)

问题背景

使用 WinSCP 登录 CentOS 上传文件,使用的是普通用户,且已加入 sudoers ,向 /usr/local 目录上传文件时,提示没有权限。

解决方案

  1. 首先确保你的目标主机的 sshd 服务正在运行
  2. 用来在 WinSCP 登录的普通用户已加入 sudoers
  3. 获取 sftp-server 的位置

    1. /etc/ssh/sshd_config 文件中获取:
      sudo cat /etc/ssh/sshd_config | grep sftp
      结果:

      Subsystem sftp /usr/libexec/openssh/sftp-server

    2. 直接查找:
      sudo updatedb
      locate sftp-server
      结果:

      /usr/libexec/openssh/sftp-server
      /usr/share/man/man8/sftp-server.8.gz

  4. 以管理员方式运行 WinSCP,打开对应帐户的Advanced Site Settings 对话框中,选中 EnvironmentSFTP 节点,在右边的 Protocol options - SFTP server 输入框中,填入 sudo -s /usr/libexec/openssh/sftp-server ,这里的 /usr/libexec/openssh/sftp-server 换成在你的系统中,由第 3 步得到的路径,之后保存。
  5. 在 CentOS 中执行 sudo visudo 以编辑 /etc/sudoers 文件

  6. 找到需要在 WinSCP 登录的账户名配置信息,大概在第 98 行,将:myloginname ALL=(ALL) ALL 改为: myloginname ALL=(ALL) NOPASSWD: ALL 。这一步的目的是切换为 root 角色时不需要输入密码,因为 WinSCP 只能执行不需要请求用户输入其他信息(比如:密码等)的命令。
    切记:记得使用完后,将这一行的内容恢复到修改前的样子!
  7. 找到 Defaults requiretty 这一行,在前面加一个 # 号注释掉这一行,这一步的目的是关闭控制终端。

到此,即可以 root 角色登录系统啦!

解决方案优化

也许你担心由于上述解决方案的第 5 步,在切换为 root 时不需要输入密码,会造成系统不安全。
确实是这样,如果你系统安全要求较高,我建议你新建一个帐户,专门用于 WinSCP 中以 root 角色登录。

原文链接:http://xueliang.org/article/detail/20160926003344351

WinSCP 中普通用户以 root 身份登录 Linux的更多相关文章

  1. lastlog---显示系统中所有用户最近一次登录信息。

    lastlog命令用于显示系统中所有用户最近一次登录信息. lastlog文件在每次有用户登录时被查询.可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log ...

  2. 【转载】CentOS 7自动以root身份登录gnome桌面 操作系统开机后自动登录到桌面 跳过GDM

    CentOS 7自动以root身份登录gnome桌面 ################### #cd /etc/gdm ]# cat custom.conf# GDM configuration st ...

  3. CentOS 7自动以root身份登录GNOME桌面

    CentOS 7自动以root身份登录GNOME桌面 修改配置文件 /etc/gdm/custom.conf,在 [daemon] 下面添加一下两行 AutomaticLoginEnable=true ...

  4. Linux图形界面从登录列表中隐藏用户和开机自动登录

    从GDM-GNOME显示管理器:“ GNOME显示管理器(GDM)是一个管理图形显示服务器并处理图形用户登录的程序.” 显示管理器为X Window System和Wayland用户提供图形登录提示. ...

  5. winscp 使用root身份登录

    参考: https://www.haiyun.me/archives/winscp-sftp-sudo-root.html 一般root账户在服务器上会被禁止ssh,此时普通用户通过sudo执行管理员 ...

  6. 让ubuntu使用root帐号并让winscp以root身份登录

    ubuntu 服务器默认的root账号是没有激活的,需要用初装的用户账号给root设置管理密码: $ sudo passwd root  //用sudo修改root帐户 Password: //输入密 ...

  7. 解决winscp中普通用户无法上传、删除、移动文件

    上一篇博客中提到了winscp这个软件,这个软件可以利用sftp协议对linux服务器就行连接,然后方便我们对文件进行操作,但是如果是利用普通用户进行登陆的话,在对文件进行相关操作的时候会出现一些pe ...

  8. 虚拟机 liunx系统以 root 身份登录权限

    开启虚拟机 打开终端开启root账户 :sudo passwd -u root 输入当前用户的密码   为root账户设置密码:sudo passwd root 设置root密码,输入两次   测试r ...

  9. 如何让 ssh 允许以 root 身份登录

    默认情况下,Pack 上的 root 用户不能用通过密码来远程登录,可以用一下命令来做:(注意要在 root 权限下) sed -i 's/PermitRootLogin\swithout-passw ...

随机推荐

  1. PHP实现仿Google分页效果的分页函数

    本文实例讲述了PHP实现仿Google分页效果的分页函数.分享给大家供大家参考.具体如下: /** * 分页函数 * @param int $total 总页数 * @param int $pages ...

  2. 1.4.2.1. FILES(Core Data 应用程序实践指南)

    #define debug 1 #pragma mark - FILES NSString *storeFilename = @"Grocery-Dude.sqlite";

  3. java 二维码

    在http://www.ostools.net/qr看到了一个生成二维码的工具,于是就产生了一个想法: 为什么自己不做一个二维码的生成和解析工具呢?花了一个多钟的时间,嘿嘿,就做出来啦... 先来看看 ...

  4. js原生设计模式——9外观模式封装

    1.事件处理程序兼容性封装 <!DOCTYPE html><html lang="en"><head>    <meta charset= ...

  5. 如何选择面向移动设备的html5开发框架

    很久以前整理了篇将手机网站做成手机应用的JS框架.时隔一年多,很多新的技术已经出现,下面再来总结下还有哪些框架是适合面向手机设备的开发的. 1.jQuery Mobile jQuery Mobile ...

  6. Unity 4.3 2D 教程:新手上路

    这篇文章译自 Christopher LaPollo 先生的 Unity 4.3 2D 教程的第一部分 Unity 4.3 2D Tutorial: Getting Started 感谢这套优秀教程的 ...

  7. 国产数据库-KingbaseES在linux下的安装

    将KingbaseES软件从windows中传至Linux中并解压 [root@localhost ~]# ls anaconda-ks.cfg  install.log.syslog Desktop ...

  8. jQuery wrap wrapAll wrapInner使用

    jQuery wrap wrapAll wrapInner使用 <%@ page language="java" import="java.util.*" ...

  9. DNS没有生效的几个原因

    1.记录没有正确添加 请确认你的域名记录是否完全正确的添加.线路类型正确,记录类型正确 2.域名还没有生效 这个情况还会有另外一个现象,就是域名有时候可以ping,有时候不能ping. 这是因为你当地 ...

  10. greenlet 详解

    在前面的文章中提到python原生的generator是semicoroutine,而greenlet是 真 协程.本文内容主要来自对官网文档的翻译,在其中也加入了很多自己的理解和例子.主要包括以下内 ...