sudoを使用せずにファイアウォールで開いているポートを確認する方法はありますか?

sudoを使用せずにファイアウォールで開いているポートを確認する方法はありますか?

状態を確認することさえfirewalld必要なようですsudo。このスクリプトをできるだけ低い権限で維持したいので、ユーザーが通常のユーザーのようにポートの状態を確認できることを願っています。必要に応じてアップグレードを要求できますsudo

sudoRHELベースのシステムでこれを達成できますか、それともすべてを行う必要がありますか?

ベストアンサー1

ビジュド

このコマンドを使用して開いているポートを確認するには、firewalld管理者権限 sudo が必要です。

これは非常にきれいな方法ではありませんが、次のようにsudoersファイルを編集できます。

sudo visudo

これを追加し、USER権限を付与するユーザー名に置き換えます。

<USER> ALL=(root) NOPASSWD: /usr/bin/firewall-cmd --list-ports

これにより、コマンドUSERを実行する権限が付与されますfirewall-cmd --list-ports

システム構成を変更して権限を付与するときは注意してください。

Firewalldで開いているポートを一覧表示する方法

ファイアウォールを使用して、CentOS7 で開いているポートのリストを表示します。

sudoersファイルの編集内容を終了/保存しますか?

LinuxでSudoersファイルを編集する方法

SudoとSudoersファイルの使い方

設定値

高い権限で実行されるスクリプトを生成できますsetuid

シェルスクリプトで setuid または setgid ビットを使用すると、解決されるよりも多くの問題、特にセキュリティ上の問題が発生する可能性があります。一部のシステム(Linuxなど)はシェルスクリプトでsetuidビットもサポートしていないため、setuidシェルスクリプトを生成するとセキュリティリスクに加えて不要な移植性の問題が発生します。

setuid(2) — Linux のマニュアルページ

シェルスクリプトでsetuid設定を許可する

私のsetuid root bashシェルスクリプトが機能しないのはなぜですか?

「setuid」ビットを使用する方法は?

setuid または setgid スクリプトの作成

どちらのソリューションも慎重に使用する必要があります!

セキュリティ上の理由から、ポートオープンの確認は、ユーザーまたは管理者権限を持つユーザーfirewalldとして最後に行うことをお勧めします。root

おすすめ記事