- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
from pwd import getpwuid
getpwuid(48).pw_name
这个 Python 程序打印 apache
的概率为 99%。 48 是出现在 /etc/passwd
中的 apache 用户的 ID。没有任何明显的原因,Python 有时会打印错误:
KeyError: 'getpwuid(): uid not found: 48'
我需要理解为什么有时会发生这种情况。是否可以出于某种原因从文件中删除 apache 用户?
最佳答案
这是 pwd
模块的 CPython 2.7 源代码,特别是 getpwuid() 调用:https://github.com/python/cpython/blob/2.7/Modules/pwdmodule.c#L114它看起来像是系统 getpwuid
调用的包装器,代码不多——Python 不会直接从/etc/passwd 中读取。
这是 (3) getpwuid 的当前 Ubuntu 联机帮助页(您没有提到任何特定的操作系统):http://manpages.ubuntu.com/manpages/wily/man3/getpwuid.3posix.html其中包括:
ERRORS
The getpwuid() and getpwuid_r() functions may fail if:
EIO An I/O error has occurred.
EINTR A signal was caught during getpwuid().
EMFILE {OPEN_MAX} file descriptors are currently open in the calling
process.
ENFILE The maximum allowable number of files is currently open in the
system.
由于您没有提到任何可能会重新生成您的用户帐户的用户管理进程,我将回答不,apache 不会从/etc/passwd 中删除,但是您的网络服务器确实遇到了一些繁重的 IO或打开的文件过多导致无法读取/etc/passwd。
关于linux - 会不会是/etc/passwd在后台添加/删除了用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33945503/
在我的 CentOS 7 系统(和其他 Linux 版本)中,我注意到有两个 passwd 文件,/etc/passwd 和/usr/bin/passwd。前者包含有关用户、组、默认 shell 等的
我想通过我的 api 更改用户密码,但我当前的代码不起作用。 也许有人可以帮助我。 $cmd1 = "passwd ".$info['instanceFtpUser']; $ssh->exec($cm
我需要验证/etc/passwd 文件是否有效,并且认为正则表达式是验证非注释行的好主意。我如何验证这样的行: root:*:0:0:System Administrator:/var/root:/b
我有一个问题,我已经尽可能地缩小了范围。我想将 /etc/passwd 中的行计数两次。一次作为引用,一次检测任何变化。 我初始化一个passwd 结构并计算其中的条目数。然后调用 setpwent(
这是我的脚本: #!/bin/bash for i in $(cat usernames.txt) do echo $i useradd $i -m -s /bin/bash $i -
如何使用 echo 将一些输入通过管道传输到需要用户输入两次内容的程序中? 例如 echo "somepassword"|passwd someuser 创建此错误消息 Enter new UNIX
1.命令简介 passwd 令用于设置用户的认证信息,包括用户密码、账户锁定、密码失效等。 系统管理员能用它管理系统用户的密码,只有管理员可以指定用户名称,一般用户只能变更自己的密码。 2.命
passwd命令 passwd 命令用来修改您的密码。 语法: 语法是 passwd [命令开关] 命令开关: -a 显示密码属性的所有项目。
我正在尝试使用 OpenSSL passwd 命令对输入的密码进行散列并将其与存储的散列进行比较,但散列函数不一致。第一次生成的散列与我去比较输入时生成的散列不同。每次执行哈希时,请注意 3 个不同的
我想过滤/etc/passwd的内容, 仅显示第三列中的值大于 999 的行. 有没有一种简单的方法可以用一个衬垫来做到这一点?我想在不写无聊的情况下做到这一点 for-loop . 最佳答案 这是一
我有一个系统构建器项目来制作需要完成的 QNX 操作系统镜像。问题是它目前不支持 passwd 命令。我的意思是当我写图像并尝试使用 passwd root 命令时,我得到了这个输出: /bin/pa
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我想逐字节读取/etc/passwd 文件,并想在std o/p 上显示它。这是我的代码 void main(int argc, char *argv[]) { int fd, ch; int
我知道,passwd 设置了 setuid 位,因此它可以修改 root 拥有的 /etc/shadow 文件。 [~]$ ls -l `which passwd` -rwsr-xr-x. 1 roo
我写了一个脚本作为 Ubuntu 启动服务(位于/etc/init.d 并在启动时运行)有一条线 HOMEDIR=`getent passwd username1 | cut -d: -f6` 问题是
我一直在尝试使用 ecryptfs 通过 ecryptfs-mount-private 和 ecryptfs-umount-private 手动挂载/卸载私有(private)存储>。当我以配置了 e
我试图在这个 perl 脚本上返回 Unix 用户列表。我正在使用带有 Passwd::Unix 的 Mojolicious 框架。 引用: Mojolicious (http://metacpan.
在具有 sudo 权限的 shell 脚本中,我正在尝试更改另一个用户的密码。 我试过sudo passwd username但没有得到任何地方。 最佳答案 您需要使用 chpasswd命令。你可以尝
我目前正在尝试在 OSX Yosemite 上从单用户模式创建一个 root 帐户 /sbin/mount -uw / launchctl load /System/Library/LaunchDae
我想检查某个用户是否存在于特定组中。 getent passwd user_name &> /dev/null 上面的命令检查用户是否在那里。但我还想看看它是否属于一个名为 example suppo
我是一名优秀的程序员,十分优秀!