0

Python を使用してスクリプトを作成し、SAMBA サーバーのユーザー パスワードを変更します。Python を学んだことはありませんが、Ubuntu を使用して VirtualBox でさまざまなことを試しました。このコードを使用すると、VirtualBox 内のユーザーのパスワードを変更 (または、削除して新しいパスワードを設定することをお勧めします) できます。しかし、それはサーバーでも動作しますか? 私は見当もつかない。私を助けてください。ありがとうございました!

from subprocess import Popen

uname = raw_input("Username: ")
proc = Popen(['/usr/bin/sudo', '/usr/bin/passwd', uname, '--d'])
proc.communicate()
proc = Popen(['/usr/bin/sudo', '/usr/bin/passwd', uname])
proc.communicate()
4

3 に答える 3

0

コメントできないので、Nyman とは少し異なるバージョンを次に示します。

def create_or_update_samba_user(username, password):
    proc = subprocess.Popen(['sudo', 'smbpasswd', '-a', '-s', username], stdin=subprocess.PIPE)
    proc.communicate(input=password + '\n' + password + '\n')

これは、ユーザーの介入を必要としないバージョンです。「-s」は、smbpasswd に stdin からパスワードを取得するよう指示します。

于 2016-02-24T18:20:01.617 に答える
-2

それで、私が正しく読めば、これはうまくいくはずですか?

from subprocess import Popen

uname = raw_input("Username: ")
proc = Popen(['/usr/bin/sudo', '/usr/bin/smbpasswd', '-a', uname])
proc.communicate()

ご協力ありがとうございました!

残念ながら、まだサーバーにアクセスできないため、テストできません。また、機能しないスクリプトをサーバー管理者に渡したくありません。

于 2013-11-13T09:48:50.963 に答える