得到linux平台上ssh或ftp用户
代码#! /usr/bin/env python#-*- coding:utf-8 -*-''' 概述:从/etc/passwd获取系统用户名,以列表形式返回参数:f:获取系统的ftp用户名列表s:获取系统的ssh用户名列表说明:判断依据:ftp用户是指用户id大于等于500且没有shell的用户。ssh用户是指用户id大于等于500且有she
·
代码
#! /usr/bin/env python
#-*- coding:utf-8 -*-
''' 概述:从/etc/passwd获取系统用户名,以列表形式返回
参数:
f:获取系统的ftp用户名列表
s:获取系统的ssh用户名列表
说明:
判断依据:ftp用户是指用户id大于等于500且没有shell的用户。
ssh用户是指用户id大于等于500且有shell的用户。
Create data: 2012-02-09
Version: 1.0
Author: 沈涛
'''
import pwd
import sys
# 根据参数获取系统用户名
def getUserName(UserType):
osUser = ""
passwd_db = pwd.getpwall()
for entry in passwd_db:
if entry[2] in xrange(500, 1000): # 手工添加的用户, id介于500至1000之间
if UserType == 's':
if entry[-1].find('sh') >= 0:
username = entry[0]
osUser = osUser + username + ' '
if UserType == 'f':
if entry[-1].find('sh') < 0:
username = entry[0]
osUser = osUser + username + ' '
return osUser.strip().replace(' ',',')
def main():
HelpMessage = '''\
从/etc/passwd获取系统用户名,以列表形式返回。
参数列表:
-f : 获取系统里ftp用户的列表
-s : 获取系统里ssh用户的列表
--version : 输出版本号
--help : 输出帮助信息
'''
version = '1.0'
# 获取程序参数
if len(sys.argv) < 2:
print HelpMessage
sys.exit()
if sys.argv[1].startswith('--'):
option = sys.argv[1][2:]
if option == 'version':
print 'Version', version
sys.exit()
elif option == 'help':
print HelpMessage
sys.exit()
else:
print '未知参数'
sys.exit()
elif sys.argv[1].startswith('-'):
option = sys.argv[1][1:]
if option in ('f', 's'):
return getUserName(option)
else:
print '未知参数'
sys.exit()
if __name__ == "__main__":
main()
更多推荐
已为社区贡献7条内容
所有评论(0)