因此,我在 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 加密的指南,我们将不胜感激。
最佳答案
这是我解决错误的方法:
/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(无),此错误已解决。
关于ssh - sftp 的 Cygwin 用户权限(不允许操作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16041806/