面向系统管理员的 Python
2008-09-30 12:43:53 来源:WEB开发网这个程序完成了下面的这些步骤:
获得要检查的进程的名称,并将其分配给一个变量(第 3 行)。
运行 ps 命令,并将结果分配给一个列表(第 7 行到第 8 行)。
使用英语术语显示有关进程的详细信息(第 11 行到第 16 行)。
其输出结果如清单 6 所示。
清单 6. 第三个示例的输出
$ python example3.py
Enter the name of the program to check: xterm
Full path: /usr/bin/xterm
Owner: knowltoj
Process ID: 3220
Parent process ID: 4308
Time started: 16:51:46
示例 4:检查 userid 和密码以确保策略遵从性
对于任何系统管理员来说,安全管理都是其工作中非常关键的一部分。Python 使得这项工作更加简单,正如最后的示例所展示的。
清单 7 中的程序使用 pwd 模块来访问密码数据库。它检查 userid 和密码以确保安全策略遵从性(在这个示例中,userid 至少要有六个字符长,并且密码至少要有八个字符长)。
需要注意以下两点:
您必须拥有访问 /etc/passwd 的完全权限,这个程序才能正常工作。
如果您使用了 shadow 密码,那么这个脚本将无法工作(然而,Python 2.5 专门为完成这项工作提供了一个 spwd 模块)。
清单 7. 检查 userid 和密码以确保安全策略遵从性
import pwd
#initialize counters
erroruser = []
errorpass = []
#get password database
passwd_db = pwd.getpwall()
try:
#check each user and password for validity
for entry in passwd_db:
username = entry[0]
password = entry [1]
if len(username) < 6:
erroruser.append(username)
if len(password) < 8:
errorpass.append(username)
#print results to screen
print "The following users have an invalid userid (less than six characters):"
for item in erroruser:
print item
print "nThe following users have invalid password(less than eight characters):"
for item in errorpass:
print item
except:
print "There was a problem running the script."
- ››面向对象的JS-私有成员变量实现方式
- ››面向对象的JavaScript (一、对象基础,使用函数来...
- ››面向对象数据库 db4o 之旅,第 4 部分: 使用 dRS
- ››面向 Java Web 应用程序的 OpenID,第 2 部分: 为...
- ››面向 Java 开发人员的 db4o 指南: 简介和概览
- ››面向 Java 开发人员的 db4o 指南: 查询,更新和一...
- ››面向 Java 开发人员的 db4o 指南: db4o 中的数据库...
- ››面向 Java 开发人员的 db4o 指南: 超越简单对象
- ››面向 Java 开发人员的 db4o 指南: 结构化对象和集...
- ››面向 Java 开发人员的 db4o 指南: 事务、分布和安...
- ››面向 Java Web 应用程序的 OpenID,第 1 部分:在...
- ››面向数据库管理员的SQL Server 2008安全性概述
更多精彩
赞助商链接