如何从命令行获取所需用户的组,权限,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
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
可以评估单个进程是否可以使用某些权限,但我无法找到列出所有权限的方法。