我已经安装了 Cygwin,但无法方便地操作它。例如,我希望能够使用“su peter”,其中 peter 对主目录和 shell 有自己的偏好。我不在乎安全。我不需要这些“用户帐户”对 Windows 机制可见。
我的努力受阻了。我不知道如何在 /etc/passwd.conf 中设置“不需要密码”。'su' 给出未找到的命令。
(顺便说一句,几年前我确实在另一台机器上安装了 Cygwin,没有问题。我是否在与最近的“改进”作斗争?)
让我澄清一下我的问题。/etc/passwd 中的功能是: * 分配一个主目录。我希望乔治和彼得有不同的目录。我不在乎乔治和彼得是否可以修改彼此的文件 * 我希望乔治能够使用与彼得不同的外壳。我不希望 goerge 需要为每个生成的 shell 键入 ** tcsh ** cd /home/george ** source .cshrc。有没有简单的方法来实现这一目标?Windows 工具甚至有首选 Cygwin shell 的概念吗?
我不需要这些“用户帐户”对 Windows 机制可见。
每个 Cygwin 用户都必须有一个对应的 Windows 用户。
运行以下命令:
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
Run Code Online (Sandbox Code Playgroud)
这将使 Cygwin 用户和组与 Windows 用户帐户同步。
如果您在域中,请使用-d而不是-l
通过修改/etc/passwd(这是一个纯文本文件
文件格式如下:
Username:Password:UID:GID:Info:Home:Shell
Run Code Online (Sandbox Code Playgroud)
如果您真的不关心安全性并且不想使用密码:
password -p username
Run Code Online (Sandbox Code Playgroud)
从passwd文档:
概要
Run Code Online (Sandbox Code Playgroud)passwd [OPTION] [USER]
选项
...
-p, --pwd-not-required用户不需要密码。
源密码
从 Cygwin 1.7.34 版开始/etc/passwd,默认情况下不再使用来管理用户帐户。
从 1.7.34 版开始,Cygwin 使用原生 Windows 用户管理。
您应该使用新机制来管理用户帐户,而不是/etc/passwd:
从 Cygwin 1.7.34 开始,Cygwin 使用从 Windows SID 到 POSIX UID/GID 的自动内部转换。这种机制是 SID<=>UID/GID 映射的首选方法,在将Windows 帐户映射到 POSIX 帐户中有详细描述。
在 Cygwin 1.7.34 之前,SID 的最后一部分,即所谓的“相对标识符”(RID),在您使用以下命令创建 /etc/passwd 和 /etc/group 文件时,默认用作 UID 和/或 GID在
mkpasswd和mkgroup工具。这些工具以及从文件中读取帐户/etc/passwd和/etc/group文件在最近版本的 Cygwin 中仍然存在,但是除非您有非常特殊的需求,否则您应该切换到上述自动翻译。同样,请参阅将 Windows 帐户映射到 POSIX 帐户以获取详细信息。
su 给出未找到的命令。安装sshd并ssh username@localhost用作su替代品。
您可以定义su别名以简化此操作。
为什么 su 不起作用?
该
su命令已在 Cygwin 发行版中进出,但尚未移植到 Cygwin 并且从未起作用。它目前作为 的一部分安装sh-utils,但同样,它不起作用。您应该安装
sshd并ssh username@localhost用作su替代品。有关为什么
su不起作用的一些技术背景,请阅读关于“su”命令和相关邮件存档消息。
| 归档时间: |
|
| 查看次数: |
19992 次 |
| 最近记录: |