問題タブ [passwd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1325 参照

bash - 起動時に Bash でパスワードを変更する

* 簡単な解決策 * タイトルだけに基づいてこのページにアクセスし、以下のすべてを読みたくない場合、または以下のすべてが自分の状況に当てはまらないと考えている場合、これが役立つかもしれません...行うことは、起動時にユーザーのパスワードを変更することであり、Ubuntu 12.04 または同様のものを使用しています。ここで行う必要があるのはすべてです。以下を含む起動時に開始するスクリプトを追加します。

これはルートとして実行する必要があることに注意してください。そうしないと、次のように元のパスワードを提供する必要があります。

* 元の質問を開始 *

マウントされた iso からいくつかの構成とファイルのコピーを実行して VM をセットアップする最初のブート スクリプトがあります。基本的に次のことが起こります。

  1. VM が初めて起動します。
  2. /etc/rc.local は、CD ISO を /media/cdrom にマウントし、/media/cdrom/boot.sh を実行するために使用されます。
  3. boot.sh ファイルは、いくつかの基本的な構成を行い、いくつかのファイルを CD から VM にコピーし、現在のパスワードを使用してユーザーのパスワードを更新する必要があります。

スクリプトのこの部分は失敗します。パスワードが更新されていません。私は次のことを試しました:

基本的に、デフォルトの VM は、デフォルトのパスワード (DEFAULT) を持つユーザー (jack など) でセットアップされます。上記のスクリプトは、デフォルトのパスワードを使用して、VAR に保存されている新しいパスワードを更新します。ログインするとスクリプトは単独で機能しますが、起動時に同じことを行うことはできません。なんらかのシステム ポリシーか、これを防止する何かがあると確信しています。もしそうなら、私は何らかの回避策が必要です。この VM は一括展開され、自動的にパッケージ化され、CD ISO から渡されるカスタム ユーザー パスワードで構成されます。

助けてください。ありがとうございました!

* アップデート *

ああ、私はUbuntu 12.04を使用しています

* アップデート *

私はあなたの提案を試みました。次のファイルは直接 rc.local にあります。つまり、パスワードは更新されません。ただし、スクリプトは実行されています。タッチラインを追加してテストしました。

P@ssw0rd は、デフォルトの VM パスワードの例です。
ジャックはユーザー名の例です。

* アップデート *

この問題は rc.local に関連している可能性があります。そのため、rc.local は実行レベルのかなり早い段階で呼び出され、問題を引き起こしている可能性があります。

* アップデート *

まあ、潜在的に良いニュースです。パスワードは現在更新されているようですが、$VAR で設定したものとは別のものに更新されています。それに何かを加えているのではないかと思います。もちろんこれは単なる推測です。テストを実行するたびに、起動時にスクリプトが実行された直後に、更新しようとしていたユーザー名でログインできなくなります。これだけの情報しかないことは承知していますが、現時点で入手できる情報はこれだけです。パスワードに何か他のものを追加する理由、またはその理由は何ですか?

* 解決 *

そのため、以下の提案が機能しない理由について、いくつかの小さな問題がありました。それらは無関係なので、ここでは概説しません。最終的な解決策は、Graeme が私のスクリプトの他の機能と結び付けられたことでした。これについては、以下で共有します。

デフォルトの VM ブート
rc.local は、次のことを行います。

(tmp ファイルは、最初のブート スクリプトが複数回実行されるのを防ぐためだけに存在します。boot.sh が 1 つを実行すると、その tmp ファイルが削除されます。)

CDROM 上の boot.sh が (root 権限で) 実行されます。 boot.sh は、CDROM から /etc/program にファイルをコピーします。 boot.sh は、次のようにユーザーのパスワードも更新します。

(VAR は、当社の OVA 展開ソリューションに接続されているサーバーの別の部分によって変更されます。基本的に、ユーザーは VM 用にカスタマイズされた十分にランダムなパスワードを取得するため、同様のユーザーは他の VM にアクセスできません)

まだいくつかのテストを行う必要がありますが、この問題が解決されたことにかなり満足しています。95%

0 投票する
1 に答える
1397 参照

authentication - libnss-extrausers とユーザー タスク

私はUbuntu 12.04を持っています。libnss-extrausers をインストールし、nsswitch.conf を構成しました。これで、 に登録されたユーザー/var/lib/extrausers/{passwd,group,shadow}がシステムによって認識され、ログインできるようになります。

ただし、一般的なユーザー管理プログラム (passwd、userdel、usermod、groupadd、groupmod) は、に登録されているユーザーに対してのみ機能します。/etc/{passwd,group,shadow}

これらのプログラムを libnss-extrausers で動作させる、または単純/var/lib/extrausers/{passwd,group,shadow}にユーザー データ ファイルとして認識するための構成はありますか?

0 投票する
1 に答える
951 参照

linux - /etc/group ファイルでのメンバー リストの制限

ビジーボックス Linux マシンでグループを持つユーザーを作成しています

20 人のユーザーを作成した後、「adduser: unknown group group1」のようなエラーが発生します。

/etc/group にメンバーリストを追加する際に制限はありますか?

0 投票する
5 に答える
1627 参照

linux - grep シャドウ ファイルの意味

次のコードの出力を教えてください。

0 投票する
3 に答える
343 参照

linux - Scientific Linux: シェル スクリプト変数を取得し、それを使用して awk スクリプトを検索する必要があります

シェルスクリプトから取得した変数を使用して awk スクリプトに入れて、特定のユーザーの passwd ファイルを検索し、その情報を表示する必要がありますが、それがどのように機能するかはわかりません。-v コマンドの使用方法と awk スクリプトのどこに配置するかが完全にはわかりません。

0 投票する
3 に答える
11548 参照

linux - パイプを使用して passwd に入力を渡す

echoを使用して、ユーザーが何かを2回入力する必要があるプログラムに入力をパイプするにはどうすればよいですか?

例えば

このエラー メッセージを作成します

パスワードを再入力しなかったため

0 投票する
0 に答える
834 参照

ldap - aix システムの LDAP クライアント - 一部のシステムでは /etc/passwd を「+」で終了する必要があるのはなぜですか

ユーザー認証と承認のために、いくつかのAIXサーバーを既存のディレクトリに統合する必要があります。LDAPバージョンは 5 から 7.1 までです。

一部のシステムでは (まだパターンを認識できていません) 、コマンド line 、 login 、および automount を機能させるに'/etc/passwd'は、単一の '+' 文字を含む行で終了する必要があります。idこの手順は IBM Redbook から取ったもので"Integrating AIX into Heterogenous LDAP Environments"、p. 125。

私はそれを受け入れる準備ができているでしょう。LDAPしかし、私はにその行がなくてもに完全にうまく統合されたシステムを持っています'/etc/passwd'LDAPその「+」が何をするのか、および認証と承認に使用するシステムを構成するために存在する他のファイルを正確に理解したいと思います。「+」を必要とするシステムと必要としないシステムの違いをまだ把握できていません。

率直に言って、 '/etc/passwd'「+」が正確に何をするのか、LDAPルックアップを有効にするために他にどのようなオプションが必要なのかを理解せずに、機能を台無しにするのはちょっと怖いです (明らかに、他のオプションが存在する必要があります)。

助けてくれてありがとう、乾杯、クリストファー

0 投票する
1 に答える
144 参照

unix - exp_spawnl は権限を減らして passwd を実行します

皆さん、

次のコマンドを実行して、ユーザーがパスワードを自動的に変更できるようにするユーティリティ プログラム (ChangePassword) を開発しようとしています。 exp_spawnl("passwd", "username")

passwd コマンドは、別のユーザーのパスワードを変更するために root 権限を必要としますが、プログラムを実行するユーザーが root である必要はなく、実行可能ファイルから root 権限を受け取るように、setuid を使用してユーティリティ プログラムを実行したいと考えています。

したがって、次を実行します。

しかし、何らかの理由でこれは機能しません。ChangePassword を実行すると、exp_spawnl によって生成された passwd コマンドはルート権限を継承しません。

何か案は ?

0 投票する
3 に答える
1545 参照

shell - /etc/passwd にエントリがない UNIX ホーム ディレクトリ

両方のリスト ( /etc/passwd と /home ) を取得できますが、 /etc/passwd の行を読み取り、ホーム ディレクトリを解析し、 /home でそれを探すなどのスクリプトを作成する方法を教えてください。存在しない場合はエラーをスローし、存在する場合は先に進みます。

/etc/passwd ユーザーのホームディレクトリ一覧

/home からのユーザー リスト

おそらく、最初のコマンドからの出力をファイルに出力してから、各行を find コマンドに読み込みます...または、次のようにテストします

さて、どうやってまとめようか…

編集: isedev はまさに私が必要としていたものを持っていました。元のメッセージの言い方が間違っている可能性があります... ユーザーをクリーンアップしていますが、/home ディレクトリはクリーンアップしていません。したがって、 /etc/passwd エントリを持たない /home ディレクトリがまだ存在することを知りたいです。

これはTに働いたものです

for name in /home/*; do if [ -d "$name" ]; then cut -d':' -f6 /etc/passwd | egrep -q "^$name$" if [ $? -ne 0 ]; then echo "directory $name does not correspond to a valid user" fi fi done

これから、私たちは走ります

userdel -r login