问题标签 [etcpasswd]

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 投票
2 回答
915 浏览

linux - 在 /etc/group 文件中修改正确的组名和 ID

我将 2 个参数传递给 bash 脚本。第一个参数是组,第二个参数是 groupID。我想编写一个 bash 脚本来检查组是否存在/etc/group。如果不存在,则脚本应将 group 和 gid 添加到/etc/group. 如果存在,那么它应该将 gid 与第二个参数匹配。如果 gid 与第二个参数不匹配,那么它应该用第二个参数覆盖 gid。

简而言之,我传递给脚本的组名和 gid 应该在 /etc/group 文件中。

我正在运行命令:

假设/etc/group有一个条目:

运行命令后,当我浏览/etc/group它应该有价值

addgroup.sh到目前为止,我已经写了以下内容:

0 投票
1 回答
97 浏览

linux - Linux 自定义 NSS 模块,`_nss_SERVICE_getspnam_r` 被调用但 `_nss_SERVICE_getpwnam_r` 未被调用

我正在创建一个自定义 NSS 模块。我设法让它在我的本地 Redhat 7.3 机器上工作,配置nsswitch.conf正确

并确认两者_nss_SERVICE_getpwnam_r_nss_SERVICE_getspnam_r被调用:

但是在我将它编译并安装在另一个盒子上之后,也就是 RedHat 7.3,只能_nss_SERVICE_getspnam_r成功调用。我把log打印出来确保只要glibc进入函数,就会有trace,但是还是不能_nss_SERVICE_getpwnam_r正常工作。必须有其他一些覆盖nssswitch.conf的配置不存在吗?这个问题的原因可能是什么?

0 投票
2 回答
56 浏览

c - 在二维动态分配的字符串数组中获取单个字符串的长度

我正在尝试在我的 UNIX 系统中查找用户所属的所有组,以及每个用户的组。实现必须在 C 中。这是我的代码:

但是在“root:”输出后出现分段错误。我很确定问题出在访问 /etc/group 文件的第四个字段中的成员列表(有关详细信息,请参见 man 5 group)。

所以,基本上我的问题是找出每个组有多少成员,所以我的计数器(我在程序中,最后一个 for 循环)会有很好的上限。

0 投票
1 回答
878 浏览

git - 如何以当前用户身份运行 GIT 容器?

我想在 Docker 容器中使用 GIT。https://hub.docker.com/r/alpine/git/上记录的用法 非常简单:

这行得通。这样做的一大缺点是所有文件现在都由 拥有root,而不是当前用户。我想解决这个问题,但到目前为止我失败了。

我当前的命令是:

在这里,我通过--user $(id -u):$(id -g)以当前用户身份运行。另外,我通过$HOME,/etc/passwd/etc/group允许容器解析当前用户和主目录。

这给出了以下错误:No user exists for uid 1000。这是从哪里来的,如何解决?

版本信息:docker run -it --rm alpine/git --version给出git version 2.15.0

0 投票
1 回答
214 浏览

c - 用中间名分隔名字,用 strtok_r 分隔姓氏

所以我遇到了一些与我之前在 C 编程中的任务相关的问题。这次是关于如何使用or将名称与/etc/passwd文件分开。交易是我想将用户名分成两部分,第一部分是名字和中间名(假设他们有一个),第二部分是姓氏。但我找不到正确分隔名称的方法。我让它在第一部分使用他们的名字,但是中间名附加到姓氏上。strtok_rstrtok

这些/etc/passwd行看起来像这样:

我得到的示例:

我希望它如何打印的示例:

到目前为止,这是我的代码:

0 投票
1 回答
40 浏览

arrays - 如何从一个文件中读取 awk 并将其与另一个文件中的 awk 进行比较

我的脚本在过去 $2 天内输出 $1 最常登录的用户

所以输出如下:

但我正在尝试从 /etc/passwd 获取包含名字和姓氏的输出,所以它是:

但我试图提出的每一个想法似乎都不适合我。我尝试使用 /etc/passwd 循环 awk,然后在另一个 awk 中使用 -v 或尝试将第二个 awk 的输出放入数组中,然后将其与 /etc/passwd 进行比较,但我无法使任何一个工作。有谁知道如何处理这个问题?

0 投票
0 回答
240 浏览

linux - Postgresqll 10:Postgres 用户 /sbin/nologin 阻止 initdb 设置

我第一次尝试安装 postgresql 10,需要运行 initdb 设置。不幸的是,这会失败并从 nologin shell 返回错误。

我对命令进行了跟踪并验证了 su 命令可能是导致此问题的原因,似乎 postgres 用户的默认设置是 /sbin/nologin。在我见过的各种例子中,没有提到这是一个可能的问题。默认情况下,这将如何在任何其他系统上工作?我觉得临时修改登录 shell 会起作用,但我想从应用程序端更具体地了解这个问题。

centos 7.8
selinux 模式:permissive
postgresql 10

0 投票
2 回答
87 浏览

linux - 从目录结构中的多个服务器中获取一组文件,对文件进行操作,并将它们全部放在一个文件中

我无法弄清楚这一点,因为我的 bash 技能不是那么强,而且经过大量谷歌搜索后,我无法找到现有的脚本来执行此操作。

我用来从多个服务器pslurp中获取文件。/etc/passwd这将放在/etc/passwd一个目录结构中/servername/password

然后我需要获取我刚刚抓取的每个密码文件并调整它们以仅显示具有交互登录能力的用户的用户名。我通过排除/sbin/nologin每个/servername/password文件的外壳并输出到新文件的任何用户来做到这一点

完成后,我需要将所有/servername/newfile内容放入 1 个组合文件中,格式为

服务器名称

列出/servername/newfile每个服务器名下的内容

服务器名称

列出/servername/newfile每个服务器名下的内容

等等 ...

我已经为此工作了几天,但无法实现。请帮忙!

0 投票
1 回答
24 浏览

bash - 我正在准备用组名替换 UNIX 中的组号

我必须编写 skrypt 来显示文件 /etc/passwd 为什么 GroupID 将由 GroupName 交换

我有两个文件,看起来像:

-> /etc/passwd 结构:UserName:x:UserID:GroupID:description:homeFile:DefaultInterpreter

-> /etc/group 结构:GroupName:x:GroupID:AdditionalUsers

0 投票
0 回答
158 浏览

awk - 在 Linux 上以 root 身份运行的 /etc/shadow 上使用 awk 检查密码

我在一个嵌入式 linux 机器上,我是 root 用户。我设置了一个密码,该密码存在于/etc/shadow文件中。

现在以 root 用户身份运行并在 shell 脚本中使用以下逻辑,我可以检查是否设置了密码。

问题:
我想检查和比较密码设置是否等于“Password123”。是否可以扩展上述逻辑来做到这一点?只需检查密码是否设置为默认值?

请注意,我以 root 用户身份运行,在运行 Fedora 的嵌入式 linux 机器上具有所有权限。