web-dev-qa-db-ja.com

非特権ユーザーがrshを使用して接続できるようにするにはどうすればよいですか?

Red Hat 7.4の2つのホスト、HostAとHostBがあります。
rsh-serverパッケージとrshパッケージの両方にインストールされました。
両方のホストで、rshデーモンがアクティブ化され、コマンドrsh,rlogin,rexec/etc/securettyに追加され、/etc/hosts.equivHostAHostBが追加されました。

hostAから、rootを使用して、rsh hostbを実行すると、パスワードを要求せずに正常に接続します。
hostAから、他のユーザーの場合、エラー:rcmd: socket: Permission deniedを返します。

hostBから、rootを使用して、rsh hostaを実行すると、パスワードを要求せずに正常に接続します。
From hostBは、他のユーザーと、パスワードを尋ねなくても正常に接続します。

すでにセットビットchmod +a $(which rsh)を追加しようとしましたが、効果がありません。 SELINUXは両方のホストで無効になっています。
ファイアウォールは両方のホストで無効になっています。

1
ceinmart

私はこれを解決しました。
しかし、残念ながら、なぜこれが起こるのかわかりません。

HostAで実行する場合:

# getcap /bin/rsh

彼らは何も返しません。
hostBで彼らは戻ってきます:

getcap /bin/rsh
/bin/rsh = cap_net_bind_service+ep

パッケージを削除し、yumを使用して再インストールすると、アクセス許可が取得されます。

しかし、なぜそれが最初に起こるのですか?それが最初にインストールされたときに何が欠けていますか?奇妙な。

2
ceinmart