另一个问题来自一位长期处于 Windows 世界的 Unix/Linux 用户。首先让我解释一下我想要做什么。我正在使用 Windows cmd.exe shell,我想列出当前目录下包含 bin\Debug 层次结构的所有目录,并确定它们是否包含任何文件(例如:试图确定我的 NAnt clean 目标是否是好好工作)。我的层次结构可能如下所示:
\Current
\DirA
\bin
\Debug
(some files under debug)
\Release
\DirB
\bin
\Debug
\DirC
\bin
\Release
Run Code Online (Sandbox Code Playgroud)
在 Unix 中,ls */bin/Debug只会给我一个 中所有内容的列表DirA/bin/Debug,并向我展示DirB/bin/Debug空的事实。我在 cmd shell 中尝试了不同的扭曲,但不断地总结如下:
> dir *\bin\Debug
文件名、目录名或卷标语法不正确。
> 目录 *\*\*
文件名、目录名或卷标语法不正确。
我对 dir 命令有什么微妙的地方不了解,还是仅限于这种方式?
是的,我意识到我可以切换到资源管理器、导航、右键单击,并且可能最终会根据我的需要进行搜索,但我对快速n-dirty 命令行解决方案更感兴趣。
我是一个老派的 Unix 人,所以我的 Linux 技能可能有点过时了。但这似乎应该很简单。
在我没有 root 的 Red Hat Linux 系统上(它由公司 IT 部门管理),我希望能够更改我的登录 shell。运行 chsh 给我:
$ chsh -s /bin/bash
chsh: can only change local entries; use ypchsh instead.
Run Code Online (Sandbox Code Playgroud)
所以,我改为运行 ypchsh:
$ ypchsh userid
ypchsh: can't find the master ypserver: Internal NIS error
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?有人有其他想法吗?
我是一个小团队的“备份”系统管理员,而主系统管理员无法使用。实验室设置对我来说有点新,而且我还不熟悉它的设置方式(而且我的 Linux 系统管理技能可能有点过时)。我被要求为用户重置密码,我想“太棒了,这只是 passwd -e 用户名”。不幸的是,这给了我:
# /usr/bin/passwd jdoe
Changing password for user jdoe.
Password reset by root is not supported.
passwd: Authentication token manipulation error
Run Code Online (Sandbox Code Playgroud)
起初我以为我只需要使用 LDAP ldappasswd,但显然它没有使用 LDAP(/usr/bin/ldappasswd不存在并且系统上找不到该命令)。最后我检查了一下/etc/nsswitch.conf,看到了这个:
passwd: files sss
shadow: files sss
group: files sss
Run Code Online (Sandbox Code Playgroud)
附加信息:该系统(以及我的大部分实验室网络)在 CentOS 版本 6.6 上运行。
好吧,我想我的Linux技能有点不足或者生疏了。“sss”是什么?如何在此系统上完成简单的密码重置?
更新信息:
我正在尝试以 root 用户身份重置密码(是的,这不是我们启用 root 登录的最佳安全设置,也不是实验室管理员的 sudo,但我只是备份人员......我只能尝试影响)。相关的行似乎是/etc/sssd/sssd.conf(最好的猜测,正如我所说,我对某些东西很生疏,比如 IPA):
ipa_domain = sub.domain.mycompany.com
id_provider = ipa
auth_provider = ipa
ldap_autofs_entry_object_class = automount
access_provider = ipa
ipa_hostname = node6.sub.domain.mycompany.com …Run Code Online (Sandbox Code Playgroud)