Python:验证NFS身份验证

时间:2011-03-20 02:02:49

标签: python nfs

民间, 我相信我有两个问题:一个是特定的python,另一个是NFS。

基本点是我的程序将“用户名”,“uid”,NFS服务器IP和exported_pa​​th作为用户输入。现在必须验证此用户/ uid是否可以读取/导出NFS导出路径。

我的程序在本地计算机上以root用户身份运行。直接的方法是使用给定的用户名和uid'useradd'用户,在某个临时mount_point上挂载NFS导出的路径(以root身份运行),然后执行'su username -c touch / mnt_pt / tempfile '。如果用户名和用户ID输入正确(并且NFS服务器设置正确),则触摸tempfile将成功在NFS远程目录上创建 tempfile 。这是目标。

现在两个问题是: (i)有没有比创建新的unix用户,安装和触摸文件以验证NFS权限更简单的方法?

(ii)如果这是需要做的事情,那么我想知道是否有任何python模块/包可以帮助我执行'useradd','userdel'相关命令?我目前打算使用相应的二进制文件(/ usr / sbin / useradd等),然后调用subprocess.Popen来执行命令并获取输出。

感谢您的任何见解。

2 个答案:

答案 0 :(得分:0)

i)你可以做一些更神秘的事情,但是实际上没有触及文件,你可能不会准确测试你需要测试的内容,所以我想我可能会按照你建议的方式去做。 / p>

ii)如果你想验证用户存在等,你可能想要查看python pwd module,但你可能需要利用useradd / userdel程序来完成这项肮脏的工作。 / p>

你可能想考虑为你的程序利用sudo,这样整个事情就不必以root身份运行,这似乎是一个非常危险的命题。

答案 1 :(得分:0)

有一个用于测试NFS服务器功能的python套件。

GIT中://git.linux-nfs.org/projects/bfields/pynfs.git

虽然它适用于NFSv4,但你也可以简单地将它用于v3。