Linuxパスワードユーザー権限の変更

Linuxパスワードユーザー権限の変更

私が見るとき

usr/bin/

ディレクトリにpasswdを含むコマンドラインが表示されます。

-rwsr-xr-x. 1 root root 30768 2012-02-22 20:48 /usr/bin/passwd

そして変更によってroot権限を得ることができます。と一緒に。

ルートだけが他のユーザーのパスワードを変更できるかどうか疑問に思います。

passwd   user

このコマンドの場所を見つけて見つけたいです。

このコマンドもusr / bin /ディレクトリの一部ですか?または他のもの

私がしたいことは。

ログインしました。

user1

そして入力

[user1] passwd user2

もちろんある程度詰まっていました。しかし、もっと知りたいです。

答え1

Unix(およびLinux)にはこの概念があります。本物ユーザーと効果的なユーザー。たとえば、setuid プログラムは/usr/bin/passwd有効ユーザーをファイルの所有者に設定します。この場合、有効ユーザーをに設定しますroot

プログラムがこれらの昇格された権限を使用する方法は、プログラム自体によって異なります。

プログラムに関する限り、passwdユーザー名を渡すと、次のことを確認してください。本物ユーザーはrootです。そうであれば成功し、そうでなければエラーが返されます。

したがってroot、ユーザーが実行でき、/usr/bin/password user2これは機能しますが、user同じコマンドが実行されると失敗します。プログラムは1つだけですが、実行しているユーザーによって動作方法が異なります。

答え2

このpasswdバイナリは、ファイルを変更するにはroot権限が必要なため適しています/etc/shadow。権限のないユーザーが他のユーザーのパスワードを変更することはできません。rootすべてのユーザーのパスワードを変更できますが、それが安全な理由ではありません。

関連情報