私が見るとき
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
すべてのユーザーのパスワードを変更できますが、それが安全な理由ではありません。