sftp的Cygwin用户权限(不允许操作)

时间:2013-04-16 16:04:10

标签: ssh cygwin openssh sshd

所以,我在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加密的指南,我将非常感激。

3 个答案:

答案 0 :(得分:2)

以下是我解决错误的方法:

/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#&#。 34;

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(无),此错误已解决。

答案 1 :(得分:0)

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

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

在cygwin服务器上:

  1. 转到“控制面板”>管理工具。
  2. 选择本地安全政策>地方政策>用户权利分配。
  3. 右键单击“替换进程级别标记”,然后选择“安全性”或“属性”。
  4. 单击“添加”以添加正在运行的sshd帐户。 (在我的案例中为cyg_server)
  5. 运行gpupdate
  6. 重新启动sshd服务
  7. 现在尝试通过ssh连接... 我成功了

答案 2 :(得分:0)

我收到了错误

/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),但这个解决方案没有前途。