zabbix-agent無法啟動的問題
阿新 • • 發佈:2018-12-20
最近公司某伺服器重啟後發現上邊部署的zabbix客戶端無法啟動並有如下報錯:
zabbix_agentd [28973]: cannot create PID file [/var/run/zabbix/zabbix_agentd.pid]: [2] No such file or directory
Fresh install of zabbix22-agent fails to start because the agent cannot create its PID file.
systemctl start zabbix-agent
cat /var/log/zabbix/zabbix_agentd.log
zabbix_agentd [2625]: cannot create PID file [/var/run/zabbix/zabbix_agentd.pid]: [2] No such file or directory
檢視/var/run/目錄下未找到zabbix/目錄,手動建立此目錄並在目錄下建立了檔案zabbix_agentd.pid,執行systemctl start zabbix-agent後發現此檔案又消失了
最後解決辦法如下: 新建一個zabbix目錄
mkdir /var/run/zabbix
授權使用者使用
chown root:zabbix /var/run/zabbix
改變目錄許可權
chmod 0775 /var/run/zabbix
修改安全環境
chcon -u system_u -t zabbix_var_run_t /var/run/zabbix
下邊附上chcon命令的用法: chcon命令是修改物件(檔案)的安全上下文,比如:使用者、角色、型別、安全級別。也就是將每個檔案的安全環境變更至指定環境。使用–reference選項時,把指定檔案的安全環境設定為與參考檔案相同。chcon命令位於/usr/bin/chcon。下面讓我們詳細講解一下chcon命令的使用方法。 語法
chcon [選項]... 環境 檔案... chcon [選項]... [-u 使用者] [-r 角色] [-l 範圍] [-t 型別] 檔案... chcon [選項]... --reference=參考檔案 檔案...
選項
-h, --no-dereference:影響符號連線而非引用的檔案。
--reference=參考檔案:使用指定參考檔案的安全環境,而非指定值。
-R, --recursive:遞迴處理所有的檔案及子目錄。
-v, --verbose:為處理的所有檔案顯示診斷資訊。
-u, --user=使用者:設定指定使用者的目標安全環境。
-r, --role=角色:設定指定角色的目標安全環境。
-t, --type=型別:設定指定型別的目標安全環境。
-l, --range=範圍:設定指定範圍的目標安全環境。
以下選項是在指定了-R選項時被用於設定如何穿越目錄結構體系
-H:如果命令列引數是一個通到目錄的符號連結,則遍歷符號連結。
-L:遍歷每一個遇到的通到目錄的符號連結。
-P:不遍歷任何符號連結(預設)。
--help:顯示此幫助資訊並退出。
--version:顯示版本資訊並退出.
例項
如果你想把這個ftp共享給匿名使用者的話,需要開啟以下:
chcon -R -t public_content_t /var/ftp
如果你想讓你設定的FTP目錄可以上傳檔案的話,SELINUX需要設定:
chcon -t public_content_rw_t /var/ftp/incoming
允許使用者HHTP訪問其家目錄,該設定限僅於使用者的家目錄主頁:
setsebool -P httpd_enable_homedirs 1 chcon -R -t httpd_sys_content_t ~user/public_html
如果你希望將samba目錄共享給其他使用者,你需要設定:
chcon -t samba_share_t /directory
共享rsync目錄時:
chcon -t public_content_t /directories
希望對大家有幫助!!