「クラウドコンピューティングフルスタック」-python編:python作成ユーザースクリプト
2095 ワード
3ケース3:ユーザー3.1の問題の作成
adduserを作成します.pyファイル、次の目標を達成します.
3.2シナリオ
add_の作成user()関数は,関数にユーザの作成,パスワードの作成,ユーザパスワードを指定ファイルに書き込む3つの方法を持たせるため,関数にユーザ名,パスワード,ユーザ名パスワードの3つのパラメータを設定してファイルを格納し,最終的に関数呼び出しにより実パラメータをアップロードすることでユーザの作成を完了する.
1.subprocessを利用する.call関数ユーザー作成コマンドの実行
2.subprocess.call関数パスワード設定コマンドの実行
3.with文で指定したファイルを追加モードで開くと、コードブロックを開くと自動的にファイルが閉じ、指定したファイルにユーザーパスワードを指定形式で書き込む
4.add_を呼び出すuser()関数時にアップロードするユーザ名の実パラメータはsysを利用する.argv[]パラメータは、コマンドライン呼び出し時にシステムによってプログラムに渡される.この変数は実はリストであり、コマンドライン上のパラメータを保存するために用いられる.argv[0]は一般的に「呼び出されたスクリプトファイル名または全パス」であり、argv[1]以降は入力されたシステムコマンドパラメータ3.3ステップである
このケースを実装するには、次の手順に従います.
ステップ1:スクリプトの作成
randpassファイルのコードをモジュール形式で以下のコードにインポートし、gen_を直接呼び出します.pass()関数は、戻り値を取得します(ランダムに生成されたパスワードを取得します):
ステップ2:テストスクリプト実行
adduserを作成します.pyファイル、次の目標を達成します.
,
8
3.2シナリオ
add_の作成user()関数は,関数にユーザの作成,パスワードの作成,ユーザパスワードを指定ファイルに書き込む3つの方法を持たせるため,関数にユーザ名,パスワード,ユーザ名パスワードの3つのパラメータを設定してファイルを格納し,最終的に関数呼び出しにより実パラメータをアップロードすることでユーザの作成を完了する.
1.subprocessを利用する.call関数ユーザー作成コマンドの実行
2.subprocess.call関数パスワード設定コマンドの実行
3.with文で指定したファイルを追加モードで開くと、コードブロックを開くと自動的にファイルが閉じ、指定したファイルにユーザーパスワードを指定形式で書き込む
4.add_を呼び出すuser()関数時にアップロードするユーザ名の実パラメータはsysを利用する.argv[]パラメータは、コマンドライン呼び出し時にシステムによってプログラムに渡される.この変数は実はリストであり、コマンドライン上のパラメータを保存するために用いられる.argv[0]は一般的に「呼び出されたスクリプトファイル名または全パス」であり、argv[1]以降は入力されたシステムコマンドパラメータ3.3ステップである
このケースを実装するには、次の手順に従います.
ステップ1:スクリプトの作成
randpassファイルのコードをモジュール形式で以下のコードにインポートし、gen_を直接呼び出します.pass()関数は、戻り値を取得します(ランダムに生成されたパスワードを取得します):
[root@localhost day04] # vim adduser.py
#!/usr/bin/env python3
import sys
import subprocess
from randpass import gen_pass
def add_user(username, password, fname):
info = """user information:
username: %s
password: %s
"""
subprocess.call('useradd %s' % username, shell=True)
subprocess.call(
'echo %s | passwd --stdin %s' % (password, username),
shell=True
)
with open(fname, 'a') as fobj:
fobj.write(info % (username, password))
if __name__ == '__main__':
username = sys.argv[1]
password = gen_pass()
fname = '/tmp/users.txt'
add_user(username, password, fname)
ステップ2:テストスクリプト実行
[root@localhost day04]# python3 adduser.py b c d
b 。
passwd: 。
[root@localhost day04]# python3 adduser.py a c d
useradd: “a”
a 。
passwd: 。
[root@localhost day04]# cat /tmp/users.txt
user information:
username: a
password: hD31SmTS
user information:
username: b
password: DztS7ycn
user information:
username: a
password: f2iH0Znt