【问题标题】:Cygwin user permissions for sftp (Operation not permitted)sftp 的 Cygwin 用户权限(不允许操作)
【发布时间】:2018-01-18 13:16:14
【问题描述】:

所以,我在 Win7 上安装了 Cygwin 1.7.17,我使用 mkpasswd 来引入域用户(我的主管理员帐户)。我再次使用 mkpasswd 引入了我创建的名为“ffftp”的本地帐户。

mkpasswd -d -u administrator > /etc/passwd
mkpasswd -l -u ffftp >> /etc/passwd

我使用 mkgroup 来引入所有必要的窗口组。

我会打字

$ login
user: ffftp
password: mypassword

然后它登录了……但它说的是:

Last login: Tue Apr 16 11:36:49 on pty0
login: no shell: /bin/bash: Operation not permitted

本地用户ffftp只是windows中一个普通的“用户”组。

ffftp 的 SID 以 S-1-5-21 开头。

我已经创建了一个 cygwin/home/ffftp

并在windows中设置权限。

如果我无法登录到那个用户,我怎么可能为“ffftp”设置私钥?我错过了什么???

另外,如果有人有关于使用 cygwin sshd 设置 AES 加密的指南,将不胜感激。

【问题讨论】:

    标签: ssh cygwin openssh sshd


    【解决方案1】:

    这是我解决错误的方法:

    /bin/bash: Operation not permitted
    

    首先,在/etc/passwd 文件中,您创建的本地用户 (ffftp) 应该有一个与之关联的默认组。

    例如,我的本地用户名为 sshd_server。与我的本地用户帐户关联的组 ID# 是 544。它是位于描述本地帐户(特权服务器)的文本之前的数字。见这里:

    sshd_server:unused:1004:544:Privileged server,U-USCHEPMSTGP01\sshd_server,S-1-5-21-2770448234-4262186856-4033879849-1004:/var/empty:/bin/bash
    

    您可以将此组 ID# 与定义为 /etc/group 的组列表进行比较。

    Administrators:S-1-5-32-544:544:
    
    Users:S-1-5-32-545:545:
    
    None:S-1-5-21-2770448234-4262186856-4033879849-513:513:
    
    Domain Users:S-1-5-21-329068152-343818398-1801674531-513:10513:
    

    为了使我的 Cygwin SSH 连接正常工作,我必须修改我的 /etc/passwd 文件,并将与我的本地帐户 (sshd_server) 关联的组更改为与“无”关联的组 ID#。

    sshd_server:unused:1004:513:Privileged server,U-USCHEPMSTGP01\sshd_server,S-1-5-21-2770448234-4262186856-4033879849-1004:/var/empty:/bin/bash
    

    通过将/etc/passwd 中的组 ID# 从 544(管理员)更改为 513(无),此错误已解决。

    【讨论】:

      【解决方案2】:

      我花了很多时间试图解决同样的问题。在这里偶然发现了一个解决方案:

      https://cygwin.com/ml/cygwin/2015-08/msg00162.html

      在cygwin服务器上:

      1. 转到控制面板 > 管理工具。
      2. 选择本地安全策略 > 本地策略 > 用户权限分配。
      3. 右键单击替换进程级别令牌并选择安全或属性。
      4. 单击添加以添加运行 sshd 的帐户。 (在我的例子中是 cyg_server)
      5. gpupdate
      6. 重启sshd服务

      现在尝试通过 ssh 连接... 我成功了

      【讨论】:

        【解决方案3】:

        我有错误

        /bin/bash: Operation not permitted
        

        在将 Cygwin 从版本 1.7.9 更新到版本 2.9.0 后连接到 sshd 时。问题的可能原因是“cyg_server”用户缺少“替换进程级别令牌”权限。但是,本地管理员的权限不足以在域中的计算机上授予此权限。 我的解决方案(部分):

        在域用户帐户下运行“CYGWIN sshd”服务,而不是“cyg_server”。

        这允许您仅在此用户下连接到 sshd(当您尝试在另一个用户下连接时,会发生错误)。

        您也可以回到旧版本的 Cygwin(例如 1.7.30-1),但这种解决方案没有前途。

        【讨论】:

          猜你喜欢
          • 2013-01-21
          • 1970-01-01
          • 2020-03-26
          • 2017-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多