验证linux用户,python有自带的包python-pam,用法简单,但是有个问题就是无法验证root的用户,所以只能用fabric来代替,当然用fabric来验证的必须保证对方ssh已经打打开了,不然无法验证,闲话少说,代码如下。
from fabric.api import env, run, warn_only
from fabric.state import connections
try:
username = raw_input('>username: ')
password = raw_input('>password: ')
localhost = username + '@localhost:22'
env.host_string = localhost
env.password = password
# 禁止输入错误密码后继续要去i输入
env.abort_on_prompts = True
r = run('ls', warn_only=True, quiet=True)
# 使fabric可以重复验证帐号
if r.succeeded:
connections[localhost].close()
del connections[localhost]
except SystemExit:
message = 'Username or password error.'
print message
except Exception:
print 'Check if your ssh service is open.'

本文介绍了一种利用Fabric库验证Linux用户身份的方法,尤其针对无法通过python-pam验证root用户的问题提供了解决方案。文章提供了具体的代码示例,演示了如何设置验证环境并处理常见错误。
1521

被折叠的 条评论
为什么被折叠?



