Linuxでユーザーとグループを管理するためのGUIアプリケーションを作成していました!
新しいユーザーを作成する部分は完了しましたが、新しく作成したユーザーに新しいパスワードを与える部分に固執しました。
私のアプリが行うのは、必要な入力(ユーザー名、リストグループ、およびパスワード)をGUIを介して実行し、この情報を引数として渡すスクリプトを実行します。
ユーザーアカウントxyzがあるとします。
このアカウントのパスワードを変更する場合は、すべての次のコマンドを実行するだけです。
passwd xyz
これにより、新しいパスワードが要求されます。これで、必要なすべての情報がコマンドラインで渡されるため、スクリプトを使用して新しいアカウントを作成できます。
useradd -m -G users -g "groups" -s /bin/bash "UserName"
Qtアプリからスクリプトを実行してユーザーを作成できますが、
passwd cmd
、入力は他の行で尋ねられます。どのように対処しますか?
承認された回答:
ここでの正しい答えは次のとおりです。コマンドラインツールにシェルしないでください—ライブラリ呼び出しを使用してください 。これにより、エラーをより適切に処理できるようになり、コマンドラインでリスクが発生しやすいパスワードが渡されるのを防ぐことができます。
使用できるライブラリの1つはlibuserです。これは比較的単純で、CとPythonのバインディングがあります。