首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/etc/passwd内容的Regex

/etc/passwd内容的Regex
EN

Server Fault用户
提问于 2019-06-23 15:59:14
回答 1查看 1.7K关注 0票数 0

我在企业中的存储目录(/ store /)中有来自多个系统的集合文件,我希望找到所有passwd文件,并将它们放在一个文件中。直观地,我想出并使用的命令是:

代码语言:javascript
复制
find /store/ -name passwd -type f  -exec cat {} + > all_passwds.txt

但是这也收集了/etc/passwd文件,它是二进制文件(我假设某些系统符号链接到busybox之类的文件)。我真的只想要基于文本的密码文件。

我的下一个想法是,也许我可以找到所有/etc/passwd文件并拉出regex匹配。我已经尝试了几个小时来创建一个与passwd格式相匹配的正则表达式。

对于创建与/etc/passwd文件匹配的regex或如何确保上面的命令只抓取文本passwd文件,我们将不胜感激。

EN

回答 1

Server Fault用户

发布于 2019-06-23 16:34:45

首先:二进制文件可能是bin/passwd -即密码更改工具.

如果所有需要的passwd文件都位于名为etc的子目录中,则可以使用简单的解决方案:

代码语言:javascript
复制
 find /store/ -wholename '*/etc/passwd'

这只会找到etc/passwd文件,这应该是正确的格式。

如果这不起作用,则使用file实用程序构造一个循环,并且只有当它是文本文件时才进行连接:

代码语言:javascript
复制
file /etc/passwd
   /etc/passwd: ASCII text

最后,我从一段旧PHP代码中选择了以下正则表达式。根据需要进行调整:

代码语言:javascript
复制
\w+:\w+:\d+:\d+:[\w\d\s,@()]*:[\w\d\s\/]*:[\d\s\w\/]*
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/972572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档