Questions tagged «users»

类似于Unix的系统上与用户帐户和用户管理有关的所有内容。

4
POSIX兼容的方法来获取与用户ID关联的用户名
我经常想获取与用户ID相关联的登录名,并且由于事实证明这是一种常见用例,因此我决定编写一个Shell函数来完成此操作。当我主要使用GNU / Linux发行版时,我尝试编写脚本以使其尽可能具有可移植性,并检查我在做什么与POSIX兼容。 解析 /etc/passwd 我尝试的第一种方法是解析/etc/passwd(使用awk)。 awk -v uid="$uid" -F: '$3 == uid {print $1}' /etc/passwd 但是,这种方法的问题在于登录名可能不是本地的,例如,用户身份验证可以通过NIS或LDAP进行。 使用getent命令 使用getent passwd比解析更具可移植性,/etc/passwd因为它还会查询非本地NIS或LDAP数据库。 getent-维基百科 getent(1)-Linux手册页 getent passwd "$uid" | cut -d: -f1 不幸的是,该getent实用程序似乎未由POSIX指定。 使用id命令 id 是POSIX标准化的实用程序,用于获取有关用户身份的数据。 BSD和GNU实现接受用户ID作为操作数: id(1)-OpenBSD手册页 id(1)– FreeBSD手册页 GNU Coreutils:id调用 这意味着它可用于打印与用户ID关联的登录名: id -nu "$uid" 但是,未在POSIX中指定提供用户ID作为操作数。它仅描述使用登录名作为操作数。 结合以上所有 我考虑过将以上三种方法合并为以下内容: get_username(){ uid="$1" # First …
23 users  posix 

3
获取其他用户的环境变量
很难说出这里的要求。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以当前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 6年前关闭。 有没有办法可以查看其他用户的环境变量?我想以root用户身份执行此操作,因此权限不会成为问题。 对于用户本人,我使用echo $PATH或set | grep PATH(或set当我不记得变量名时)。对于其他用户,类似的指示是什么? 对于它的价值,我使用的是Ubuntu Server 13.04。


3
GID,当前,主要,补充,有效和真实组ID?
以下链接在不同的上下文中讨论了这些概念。我已经阅读了它们的定义,但是我仍然无法说出它们之间的关系,或者它们中的某些是否相同。 当前组ID 组号 主要和补充组ID 有效和真实的组ID(也在Wikipedia上) 这是我困惑的一个例子: 根据man id,如果输入id,我应该得到他们所谓的有效和真实的组ID。 id uid=501(joe) gid=501(joe) groups=501(joe), 100(users) 但是,Wikipedia引用的输出id来区分主要 ID 和补充 ID。此外,维基百科区分主要组ID 和补充组ID ,还是有效组ID 与实际组ID。这些概念如何相互关联? 另外,主要组ID = 组ID = 当前组ID是否正确?

8
如何创建没有密码的用户?
在os X中,有可能没有密码的用户。如果使用dscl密码检查它们,则显示为*。这用于系统用户,例如mysql,pgsql等数据库用户。这样做的好处是这些用户不会出现在登录屏幕上,并且如果没有它们,您将无法登录sudo。 在删除了这样的用户并尝试了一些操作之后,我想重新创建它,但是不能。我可以设法为用户提供一个空密码,并且可以将密码设置为*。但是,当用户出现在我的登录屏幕上时,没有一种效果与上述相同。 您如何创建这样的用户?
22 osx  users  password  login 

4
该用户当前不可用-但允许该用户运行脚本
我在/ etc / passwd中使用以下方法创建了特殊用户: secure:x:2000:2000:secure:/bin:/usr/sbin/nologin 我不想允许该用户登录(通过控制台,ssh,ftp,以任何方式)。 他仅用于通过以下方式运行一个脚本: sudo su secure -c '/home/someuser/secure.script' 但这给了我This user is currently not available.。如何设置它以便能够以这种方式运行脚本,但阻止该用户登录系统(控制台,ssh,ftp等)? 我注意到,当我/usr/sbin/nologin在命令行上键入时,计算机将以响应This account is currently not available.。
22 sudo  users  su 



3
强制所有者和组输入tar文件的内容?
我想创建一个tar文件,其内容属于owner:group对,在创建文件的系统上不存在该对文件。 这是我尝试的方向: tar ca --owner='otherowner' --group='othergroup' mydata.tgz mydata 并且在运行此命令时,出现以下错误: tar: otherowner: Invalid owner tar: Error is not recoverable: exiting now 有没有一种方法可以强制tar接受owner:group,即使在创建文件的系统上都不存在它们:
21 permissions  users  tar 

1
sudo用户和root用户之间的区别[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 3年前关闭。 该/etc/sudoers文件列出了用户可以使用sudo命令执行的操作 超级用户创建和修改/etc/sudoers文件。 这个概念对我来说很难理解。 如果所有具有sudo特权的用户都属于该sudoers组,那么通过发出sudo su命令,所有这些用户都可以成为root用户。 那么,谁才是真正的root用户,他又如何控制sudoers组中用户的权限? 请给我解释一下。


4
用户和组所有者在文件权限中的优先级
我对Linux(Arch Linux)的文件权限遇到了一些意外(对我而言)。基本上我有: userX 在 groupX fileX userX:groupX ---rwx---- 让我感到困惑的是:我无法对执行任何操作(rwx)fileX。这是正确的吗?有人可以确认这确实是预期的行为吗? 我可以执行的唯一动作是mv和rm,因为我对父目录的写权限。 事实是,我一直认为这些权限会相互崩溃,从最一般的权限开始(其他->组->用户)。换句话说,如果o=rwx谁在乎组和用户的权限是什么?显然不是这种情况,但是对我来说没有太大意义。似乎违反直觉。这种方法似乎唯一有用的是,轻松地排除非常特定的人员/组,这似乎并不是明智的选择(恕我直言)。此外,所有者(和组?)应该仍然可以chmod吗?关于这个问题有什么想法吗?




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.