snmpを介してサービスをリモートで起動/停止/再起動するには、いくつかの問題があります。
許可モードではSElinuxで正常に動作しているように見えますが、強制モードではこのタイプのエラーメッセージで失敗します(/var/log/secureに表示されます)。
Aug 17 15:29:43 tester2-RHEL8 sudo: PAM audit_log_acct_message() failed: Permission denied
Aug 17 15:29:43 tester2-RHEL8 sudo: testuser : PAM account management error: Permission denied ; TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/sbin/service router stop
メッセージ自体が役に立たない
コマンドが/var/log/messagesで正常に実行されたようです。
Aug 17 15:29:43 tester2-RHEL8 snmpd[1501]: RTRSnmp : stopping RTR service
Aug 17 15:29:43 tester2-RHEL8 snmpd[1501]: RTRSnmp : starting external process "sudo service router stop &" as user testuser
Aug 17 15:29:43 tester2-RHEL8 snmpd[1501]: RTRSnmp : external process "sudo service router stop &" exited with status 0
snmpd.conf ファイルです。
###########################################################################
snmpd.conf
###########################################################################
# SECTION: Access Control Setup
# SNMP v1 and v2
rocommunity public
rwcommunity testuser
# SNMP v3
createUser testuser SHA testusersnmp
rouser testuser
createUser testuserrw SHA testusersnmp
rwuser testuserrw
###########################################################################
# SECTION: Trap Destinations
trapcommunity trapdest
trap2sink 127.0.0.1 testdir
doNotRetainNotificationLogs yes
###########################################################################
# SECTION: System Information Setup
syslocation s-RTR
syscontact [email protected]
###########################################################################
# SECTION: RTR SNMP Module
dlmod S_RTR /home/testuser/release/release_1/bin/libRTRSnmpAgent.so
rtr_ip 127.0.0.1
rtr_port 4500
rtr_retry_period 10
rtr_end_system_id 000000000
rtr_service_user testuser
rtr_service_start sudo service router start
rtr_service_stop sudo service router stop &
rtr_service_restart sudo service router restart &
疲れて結局黙念だけ消した
semodule -DB
sealertが提案したようにselinuxポリシーを追加しても、これは成功しなかったことが判明しました。
新規インストールを作成し、上記の権限拒否エラーに戻りました。 SElinuxがsnmpを介してリモートでこのコマンドを使用するのに問題があるだけでなく、根本的な原因が何であるかはほとんどわかりません。
snmpset -v3 -u testuserrw -l authNoPriv -a SHA -x AES -A password -X password 192.168.0.122 "0.0.0.0.0.0.40140.0.0.0.0.0" i 0
より多くの情報を得るために、sshを介して同じコマンドが実行されます。
ここからどこに行くべきかわかりません。 Redhatのドキュメントではこれを見ることができないので、ロギングを増やす方法についてのいくつかの情報も大きな助けになるでしょう。