Tôi đang cố gắng tự động thiết lập quyền truy cập SFTP. Tập lệnh này đang chạy với tư cách người dùng có quyền sudo và không có mật khẩu.Làm cách nào để đặt mật khẩu người dùng trong linux từ tập lệnh python?
tôi có thể tạo một người dùng như vậy:
>>> import subprocess
>>> process = subprocess.Popen(['sudo', 'useradd', 'test'], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>>> process.communicate()
('', '')
Tiếp theo tôi cần phải thiết lập mật khẩu của người dùng, nhưng tôi không thể tìm ra cách. Đây là những gì tôi đã thử.
>>> process = subprocess.Popen(['sudo', 'chpasswd'], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>>> process.communicate('test:password')
Trong chương trình python của tôi nó không có hiệu lực, trong trình thông dịch tương tác nó khóa sau dòng đầu tiên.
Cách tốt nhất để làm điều này là gì?
Tôi đang chạy python 2.6 trên Ubuntu sáng suốt.
Cảm ơn nhận xét. Mã thực sự là trong thực tế kỹ lưỡng hơn, nhưng đánh giá cao không ít. – Jake