LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 812|回复: 9

如何过滤系统用户只显示创建的用户?

[复制链接]
发表于 2005-4-1 12:26:27 | 显示全部楼层 |阅读模式
大家好:
  我现在可以通过一个简单的函数接口能够读取到/etc/passwd文件中的所有用户内容
  但是我想把其中的系统用户过滤掉不显示
  只显示我创建的用户 请问应该通过什么办法能够实现呢
  或者系统用户和创建的用户本身有什么明显的区分特征 比如uid或者什么
  请大家帮忙 说说
谢谢    :thank
发表于 2005-4-1 16:27:05 | 显示全部楼层
你如何在技术上区分那些是系统用户,那些是你创建的用户?这是没有一个确实的标准的。
你要是想管理得方便一些,可以把你创建的用户归类到一个组或几个组中,只显示这几个组中的用户就可以了。但那是属于一种管理策略,不是编程的问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-1 16:53:01 | 显示全部楼层
版主好
以Redhat9为例,它的图形化界面中已经集成了这个功能system下的users&groups中。
  可以过滤只显示系统初始化安装所创建用户以外的其他用户,主要是使用者所创建的用户。
相信Redhat是通过扫描/etc/passwd文件实现的……,我想做的事就是对这个功能的模仿。
此外单对系统而言,这两种用户又没有什么区分的特征可循呢?
回复 支持 反对

使用道具 举报

发表于 2005-4-1 17:37:57 | 显示全部楼层
估计redhat中自己有一个管理的数据库,能记录这些信息。你试试直接修改/etc/passwd文件,看看在system下的users&groups中能否反映这个变化。
回复 支持 反对

使用道具 举报

发表于 2005-4-1 17:41:50 | 显示全部楼层
我看了看/etc/passwd的内容,如果新创建的用户ID是按顺序递增的,只要判断用户ID大于某个数就行了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-1 17:42:18 | 显示全部楼层
受教 受教
谢谢版主
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-6 12:47:25 | 显示全部楼层
好像是从uid>=500开始的
不过不知道是不是大多数linux的版本自建的第一个用户都是从uid=500开始?
回复 支持 反对

使用道具 举报

发表于 2005-4-6 19:07:50 | 显示全部楼层
我用的gentoo是从1000开始的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-7 00:21:37 | 显示全部楼层
是啊,看来这个方法区分不科学啦
真是搞不懂,到底系统本身通过什么途径识别
回复 支持 反对

使用道具 举报

发表于 2005-4-7 11:14:49 | 显示全部楼层
你看看redhat的源代码吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表