当前位置:  开发笔记 > 编程语言 > 正文

安全地更改主目录

如何解决《安全地更改主目录》经验,为你挑选了4个好方法。

我正在尝试安全地更新主目录/etc/passwd,但是标准的Linux utils - usermod和vipw - 不是由Cygwin提供的.

谁能告诉我他们是如何在Cygwin中改变这一点的?



1> netjeff..:

编辑:对于Cygwin的最新版本(1.7.34及更高版本),请参阅这个较新的问题.

像sblundy的回答一样,您可以随时编辑.

但是如果你想以"官方"的方式进行,请使用cygwin特定的mkpasswd命令.以下是官方文档的片段mkpasswd:

例如,这个命令:

例3.11.使用备用的主根

$ mkpasswd -l -p "$(cygpath -H)" > /etc/passwd

将本地用户的主目录放在Windows"个人档案"目录中.

Cygwin Utilities文档页面(包括mkpasswd)中描述了许多其他非常有用的命令.cygpath以上示例中的使用是这些特定于cygwin的工具中的另一个.

当你在这里时,你可能还想阅读使用Cygwin有效地使用Windows文档.有很多非常好的建议.


如果你在域上,你可以考虑这个备用命令:(`-d` for domain)`$ mkpasswd -l -d -p"$(cygpath -H)">/etc/passwd`这不是为我工作 - 它基本上挂了.因为我是唯一一个使用这台机器的人,所以我可以使用这个替代方案,无论你是否在某个域上都是安全的(`-c`代表"当前用户")$ mkpasswd -l -c - p"$(cygpath -H)">/etc/passwd`

2> sblundy..:

我最终退出了所有的cygwin shell并在文本编辑器中手动编辑.到现在为止还挺好.

注意:不要转义"Documents and Settings"目录中的空格.条目看起来像

user:...:/cygdrive/c/Documents and Settings/user:/bin/bash

该行在:角色上被标记化.



3> M Smith..:

我找到的最简单的答案是使/ home成为Windows Home/UserProfile目录的软链接

cd /
mv home oldhome
ln -s "$(cygpath -H)" home

我使用了cygpath,因为它将获得当前版本Windows上HOME目录的正确位置.在我的盒子上cygpath -H返回/cygdrive/c/Users



4> Samuel..:

对于当前用户,以下为我工作:

    关闭Cygwin.

    设置HOME Windows用户环境变量.

    启动Cygwin.

    运行"mkpasswd -c -p"$(cygpath -H)">/etc/passwd".

    重启Cygwin.

我通过运行ssh-keygen确认它没有任何参数.进行此更改后,应用程序现在默认将密钥保存到/ cygdrive/c/Users/user而不是/ home/user.

我不知道,如果设置主页是必需的,但我还是做了每个指令使用龟的官方文档非官方Cygwin的支持Cygwin的设置TortoiseGit 在这里.虽然单独设置HOME不足以让ssh-keygen识别主目录更改.

另请注意,可以在此处找到Cygwin关于此问题的官方文档.

使用64位Cygwin v1.7.35在Windows 7中确认.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有