如何枚举账户

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

如何枚举账户

#1

帖子 自由建客 » 2012-02-20 23:41

所有 UID 满 1000 的。不要告诉我用 grep 过滤 /etc/passwd 云云。
头像
b33e
帖子: 3864
注册时间: 2011-06-07 14:20
系统: Mint18

Re: 如何枚举账户

#2

帖子 b33e » 2012-02-21 8:46

有什么要求呢?这个算不算?

代码: 全选

ls  /home/
或者用

代码: 全选

lastlog
命令?
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 如何枚举账户

#3

帖子 YeLee » 2012-02-21 8:58

糟糕的是,我除了知道那个文件储存用户列表之外,真的找不到其它文件了。 :em20 :em20 :em20
这个还是交给楼下解答吧。 :em02 :em02 :em02
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 如何枚举账户

#4

帖子 自由建客 » 2012-02-21 9:34

代码: 全选

sed -n '/^nobody:/d;s/^\([^:]*\):[^:]*:[0-9]\{4,\}:[^:]*:[^:]*:\([^:]*\):.*/\1 \2/p' /etc/passwd
这个命令太酷了!
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 如何枚举账户

#5

帖子 自由建客 » 2012-02-21 10:27

再补一条

代码: 全选

awk -F: '$3>=1000 && $1 !="nobody" {print $1,$6}' /etc/passwd
感谢网友帮忙!
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 如何枚举账户

#6

帖子 枫叶饭团 » 2012-02-21 11:14

结果还是/etc/passwd里找
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 如何枚举账户

#7

帖子 YeLee » 2012-02-21 11:25

其实,我关注的是建客这条命令准备用来干什么的? :em09 :em09 :em09
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 如何枚举账户

#8

帖子 自由建客 » 2012-02-21 11:37

YeLee 写了:其实,我关注的是建客这条命令准备用来干什么的? :em09 :em09 :em09
每个账户主目录下可建立一个文件,保证关机的时候会被调用,以保证将内存盘的数据存盘。
其实 ~/.bash_logout 在注销时会被 bash 调用,但关机未必会发生注销事件。

不过仔细想想,还是不要这功能的好,这样灵活的机制会给用户有阻断关机的机会。
我还是继续使用我以前的脚本算了,存盘工作完全交由系统服务负责。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 如何枚举账户

#9

帖子 自由建客 » 2016-10-23 22:52

这回我是要确认一个帐户是否存在,难道只能自己过滤 /etc/passwd? :em25
头像
qy117121
论坛版主
帖子: 50538
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: 如何枚举账户

#10

帖子 qy117121 » 2016-10-24 9:52

过滤吧
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

Ubuntu 20.04 快速设置指南,请配合浏浏览器自动翻译使用

邮箱 chuan@ubuntu.org.cn
头像
susbarbatus
帖子: 2966
注册时间: 2010-04-10 16:14
系统: Arch Linux

Re: 如何枚举账户

#11

帖子 susbarbatus » 2016-10-24 11:01

自由建客 写了:这回我是要确认一个帐户是否存在,难道只能自己过滤 /etc/passwd? :em25
id(1) 不行吗?
沉迷将棋中……
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 如何枚举账户

#12

帖子 lilydjwg » 2016-10-24 11:15

自由建客 写了:这回我是要确认一个帐户是否存在,难道只能自己过滤 /etc/passwd? :em25
理论上来说,你过滤 /etc/passwd 也不行。

什么叫「帐户存在」呢?它能登录到系统中?那你得问 PAM。getent passwd USER/UID 可以获取用户的 passwd 条目。
如果能够拥有自己 UID、文件和进程,那么 uid_t、pid_t 的所有可能的值都存在。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 如何枚举账户

#13

帖子 自由建客 » 2016-10-24 12:50

lilydjwg 写了:
自由建客 写了:这回我是要确认一个帐户是否存在,难道只能自己过滤 /etc/passwd? :em25
理论上来说,你过滤 /etc/passwd 也不行。

什么叫「帐户存在」呢?
给定一个帐户名,看是否有对应 >=1000 的 uid
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 如何枚举账户

#14

帖子 lilydjwg » 2016-10-24 14:28

自由建客 写了: 给定一个帐户名,看是否有对应 >=1000 的 uid
那你用 getent passwd 吧。
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 如何枚举账户

#15

帖子 YeLee » 2016-10-25 11:56

楼主好,又来挖自己啊 :Adore
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
回复