Solaris 環境でユーザーを無効または有効にする C++ スクリプトを作成しました。これは passwd を呼び出すことによって行われます
sprintf(cmd, "/usr/bin/passwd -l %s", argv[1]);
ただし、スクリプトはルートではなく、別のユーザーによって実行されます。スクリプトの実行中、passwd の変更は行われません。これは、passwd のユーザー権限に問題があるようです。
ただし、passwd を変更できるのは root だけのようです。これは本当ですか?他にできることはありますか?他のユーザーが passwd を変更できるという意味で?