我對正在編寫的程序進行了一些更改,並且已將Java從Java 6更新到Java 7.「setenforce 0」如何以及爲什麼允許Java 7運行?
我在CentOS 5.8 32位虛擬機上運行程序。
了Java更新之前它工作得很好。
現在,進程沒有啓動與錯誤:
[[email protected] bin]# ./agent.sh start
Starting Agent.....d. running (23442).
Error: dl failure on line 864
Error: failed /agent/jre/lib/i386/client/libjvm.so,
because /agent/jre/lib/i386/client/libjvm.so:
cannot restore segment prot after reloc: Permission denied
我在網上查了一下解決方案/解決方法,這是運行命令:
setenforce 0
,它會工作。
閱讀上setenforce
命令的文檔,我不明白它做什麼,它是怎樣解決這個問題。
所以我的問題是:
- 什麼可能導致阻止我開始我的過程中的錯誤?
- 爲什麼
setenforce
命令解決呢? - 請給什麼
setenforce
做一般的簡短說明。
我相信'semanage的fcontext -a -t textrel_shlib_t /代理/ JRE/lib目錄/ I386 /客戶/ libjvm.so'可以永久地改變安全性方面,雖然我不是很肯定。 – dmg
是啊......類似的東西。我必須承認,我對SELinux策略並沒有多少實際經驗。 –
我有一些麻煩的「異國情調」的端口上運行的httpd和mysqld的。該錯誤消息是該端口或採取類似這樣的不爽。事實證明,您必須通過semanage明確地允許這些端口用於這些服務。 – dmg