问题标签 [passwd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
410 浏览

uid - vmail 设置后重置 UID/GID 计数器

在我的个人服务器上,我最近从 Ubuntu Server 10.04 迁移到 Debian Wheezy 7.2。作为过渡的一部分,我使用 dovecot+postfix+postfixadmin 从物理用户/邮箱设置为虚拟邮箱设置。为此,我创建了一个 uid=5000 和 gid=5000 的 vmail 用户。

现在,每当我创建一个新用户时,它也会设置为 uid=5001 和 gid=5001。我最终会意识到这已经发生并使用 webmin 来设置适当的 uid/gid。我的理解是 useradd 会查看 passwd/group 中的“最后一个”条目来确定新的 uid/gid。但是,我已经创建了几个新用户(他们的 uid/gid 使用 webmin 进行了更改),所以 vmail 绝对不是最后一个条目。

如何“重置” useradd 计数器?或者以某种方式忽略 vmail 条目?我希望为新用户分配 uid 和 gid ,就好像 vmail 不存在一样,这样我就不必手动重新分配他们。

0 投票
1 回答
1325 浏览

bash - Bash 在启动时更改密码

* 快速解决方案 * 对于那些仅根据标题访问此页面并且不想通读以下所有内容或认为以下所有内容不适用于您的情况的人,也许这会有所帮助...如果您正在寻找要做的是在启动时更改用户密码并使用 Ubuntu 12.04 或类似版本,这就是您所要做的。添加一个脚本以在启动时启动,其中包含以下内容:

请记住,这必须以 root 身份运行,否则您将需要提供原始密码,如下所示:

*开始原始问题*

我有一个第一个启动脚本,它通过从已安装的 iso 执行一些配置和文件副本来设置 VM。基本上会发生以下情况:

  1. VM 首次启动。
  2. /etc/rc.local 用于将 CD ISO 挂载到 /media/cdrom 并执行 /media/cdrom/boot.sh
  3. boot.sh 文件进行一些基本配置,将一些文件从 CD 复制到 VM,并且应该使用当前密码更新用户密码。

这部分脚本失败。密码未更新。我尝试了以下方法:

基本上,默认 VM 是使用具有默认密码 (DEFAULT) 的用户(例如 jack)设置的。上面的脚本使用默认密码更新存储在 VAR 中的新密码。该脚本在登录时自行运行,但我无法让它在启动时执行相同的操作。我确信有某种系统策略或阻止这种情况的东西。如果是这样,我需要一些解决方法。此 VM 正在大规模部署,并自动打包并使用从 CD ISO 传递的自定义用户密码进行配置。

请帮忙。谢谢!

* 更新 *

哦,我使用的是 Ubuntu 12.04

* 更新 *

我试过你的建议。以下文件直接在rc.local 即密码不更新。但是该脚本正在运行。我通过添加触摸线进行了测试。

P@ssw0rd 是示例默认 VM 密码。
Jack 是示例用户名。

* 更新 *

好的,我们认为这个问题可能与 rc.local 有关。所以 rc.local 在运行级别之前很早就被调用,可能会导致问题。

* 更新 *

嗯,潜在的好消息。密码现在似乎正在更新,但它更新为我在 $VAR 中设置的密码。我认为它可能会增加一些东西。这当然只是一个猜测。每次我运行测试时,脚本在启动时运行后,我就无法再使用它尝试更新的用户名登录。我知道这不是很多信息,但这是我目前所掌握的全部信息。有什么想法或为什么将其他内容附加到密码?

* 解决方案 *

所以有几个小问题,为什么我不能得到下面的建议。我不会在这里概述它们,因为它们无关紧要。最终的解决方案来自 Graeme,它与我将在下面分享的脚本的其他一些功能相关联。

默认 VM 启动
rc.local 执行以下操作:

(tmp 文件只是为了防止第一个引导脚本运行多次。在 boot.sh 运行一个之后,它会删除该 tmp 文件。)

CDROM 上的 boot.sh 运行(以 root 权限) boot.sh 将文件从 CDROM 复制到 /etc/program boot.sh 还使用以下内容更新用户密码:

(VAR 被连接到我们的 OVA 部署解决方案的服务器的另一部分更改。基本上,用户为其 VM 获得了一个自定义的、随机的密码,因此类似的用户无法访问彼此的 VM)

仍有一些测试要做,但我对这个问题得到解决感到相当满意。95%

0 投票
1 回答
1397 浏览

authentication - libnss-extrausers 和用户任务

我有 Ubuntu 12.04。安装 libnss-extrausers 并配置 nsswitch.conf。现在,注册的用户/var/lib/extrausers/{passwd,group,shadow}被系统识别并可以登录。

但是,常见的用户管理程序(passwd、userdel、usermod、groupadd、groupmod)仅适用于在/etc/{passwd,group,shadow}

是否有任何配置可以使这些程序与 libnss-extrausers 一起使用,或者简单地识别/var/lib/extrausers/{passwd,group,shadow}为用户数据文件?

0 投票
1 回答
951 浏览

linux - /etc/group 文件中的成员列表限制

我在我的 busybox Linux 机器上创建用户组

创建 20 个用户后,我收到类似“adduser: unknown group group1”的错误,

那么在 /etc/group 中添加成员列表有什么限制吗?

0 投票
5 回答
1627 浏览

linux - Grep 影子文件含义

有人请帮我以下代码的输出是什么?

0 投票
3 回答
343 浏览

linux - Scientific Linux:我需要获取一个 shell 脚本变量并使用它在 awk 脚本中进行搜索

我需要使用从 shell 脚本中获得的变量并将其放入 awk 脚本中以搜索特定用户的 passwd 文件并显示所述信息,但不确定它是如何工作的。我不完全了解如何使用 -v 命令以及将其放在 awk 脚本中的什么位置。

0 投票
3 回答
11548 浏览

linux - 使用管道将输入传递给 passwd

如何使用echo, 将一些输入输入到需要用户输入两次的程序中?

例如

创建此错误消息

因为我没有重新输入密码

0 投票
0 回答
834 浏览

ldap - ldap client on aix systems - why does /etc/passwd need to finish with '+' one some systems

I need to integrate a couple of AIX servers into an existing LDAP directory for user authentication and authorization. Versions range from 5 to 7.1.

On some systems (I have yet failed to recognize a pattern) I need to finish the '/etc/passwd' with a line containing a single '+' character for commands line id, login and automount to work. This procedure I took from the IBM Redbook "Integrating AIX into Heterogenous LDAP Environments", p. 125.

I'd be prepared to just accept that. However, I have systems which are integrated perfectly fine into the LDAP without that line in '/etc/passwd', i.e., which just work. I would like to understand exactly what that '+' does and what other files exist to configure the system to use LDAP for authentication and authorization. I have yet failed to graps the difference between systems which require '+' and those that do not.

Frankly, I am kind of afraid to mess with a facility like '/etc/passwd' without understanding what that '+' does exactly and what other options I have to enable LDAP lookup (apparently, others need to exist.)

Grateful for any help, cheers, Christopher

0 投票
1 回答
144 浏览

unix - exp_spawnl 以降低的权限执行 passwd

伙计们,

我们正在尝试开发一个实用程序(ChangePassword),它允许用户通过执行以下操作自动更改密码: exp_spawnl("passwd", "username")

passwd 命令需要 root 权限才能更改另一个用户的密码,但是我们喜欢使用 setuid 运行我们的实用程序,这样执行程序的用户不必是 root,而是从可执行文件中获得 root 权限。

所以我们执行:

但由于某种原因,这不起作用,当我们执行 ChangePassword 时,exp_spawnl 生成的 passwd 命令不会继承 root 权限。

有任何想法吗 ?

0 投票
3 回答
1545 浏览

shell - /etc/passwd 中没有条目的 unix 主目录

我能够获取两个列表( /etc/passwd 和 /home ),但是如何编写脚本,例如读取 /etc/passwd 的行,解析主目录,然后在 /home 中查找。如果它不存在,抛出一个错误,如果它存在,继续前进。

用户的 /etc/passwd 主目录列表

来自 /home 的用户列表

也许直接从第一个命令输出到一个文件,然后将每一行读入一个 find 命令,然后......或者,用

现在如何将它们放在一起...

编辑:isedev 正是我所需要的。我的原始信息可能措辞有误……我们一直在清理用户,但没有清理他们的 /home 目录。所以我想知道仍然存在哪些没有 /etc/passwd 条目的 /home 目录。

这对 T 有用

for name in /home/*; do if [ -d "$name" ]; then cut -d':' -f6 /etc/passwd | egrep -q "^$name$" if [ $? -ne 0 ]; then echo "directory $name does not correspond to a valid user" fi fi done

从现在开始,我们将奔跑

userdel -r login