他のユーザーとして「suコマンド」を実行してください。

他のユーザーとして「suコマンド」を実行してください。

user1の一部wheel groupであり、所有しているユーザーがいますroot privileges

user1user2次のコマンドを使用してパスワードを変更できます(私の理解ではこれがpasswdで実行されるということですroot)。

[user1@rhel-85 ~]$ sudo passwd user2

ただし、user1実行しようpasswdとすると、user2次のエラーが発生します。

[user1@rhel-85 ~]$ su -u user2 passwd
Try 'su --help' for more information.
[user1@rhel-85 ~]$ 

答え1

su はルートシェルの起動に使用され、他のすべてのコマンドがルートアクセスを使用できるようにします。su-uオプションがありません...

https://man7.org/linux/man-pages/man1/su.1.html

それがまさにそれが話し、文句を言う理由です。

詳細については、「su --help」を試してください。

user1をホイールグループに追加し、Bodoが指摘したとおりに実行する必要があります。

sudo -u user2 passwd

一時的な特権の昇格で単一のコマンドを実行しようとしているので、ここではsudoを使用したいことは明らかです。 (これがsudoの目的です)。

しかし、完全性のためにBibユーザーが指摘したように、そうすることができます。

su - _user_ foo

...これにより、他のユーザーのルートとして実行できます。

su()の「ログインシェル」オプションです-, -l or --login。これはsudo、ユーザーに権限がない場合(および管理者がユーザーに権限を付与したくない場合)に、root権限を付与するのにも便利です。

関連情報