得到linux平台上ssh或ftp用户

代码

#! /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()
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值