如何获取所有用户详细信息

如何获取所有用户详细信息

如何从命令行获取所需用户的组,权限,shell 等?

有没有一个工具可以获取每个用户的所有基本数据?

答案1

我认为对此没有一个统一的命令。

对于大多数事情,你可以使用finger命令:

$ finger $USER
Login: root                             Name: root
Directory: /root                        Shell: /bin/bash
On since Thu Jan 15 13:46 (IST) on tty1    19 days 18 hours idle
Last login Tue Feb  3 20:55 (IST) on pts/5 from localhost
No mail.
No Plan.

您将获得用户名、主目录、shell、未读邮件数量以及上次登录详细信息。

要列出群组,请groups或者id会做:

$ groups
muru adm cdrom sudo dip plugdev lpadmin sambashare debian-tor libvirtd autopilot socks
$ id 
uid=1000(muru) gid=1000(muru) groups=1000(muru),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare),127(debian-tor),132(libvirtd),136(autopilot),999(socks)

当然,权限取决于它们的用途。对于sudo,使用sudo -l

$ sudo -l
[sudo] password for muru: 
Matching Defaults entries for muru on ica:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User muru may run the following commands on ica:
    (ALL : ALL) ALL

使用 PolKit 就困难得多,pkcheck可以评估单个进程是否可以使用某些权限,但我无法找到列出所有权限的方法。

相关内容