您好,登錄后才能下訂單哦!
前言
mysql 修改數據庫默認路徑時出現服務無法啟動,檢查日志發現報文件權限的錯誤。
對于更改后的目錄已經設置mysql為目錄的owner啦呀!且命令行下直接啟動數據庫就一切正常。
祭出萬能的Google ,最后在一篇老外的帖子中找到了原因——SELINUX 策略問題!
凡是后臺服務都需要有對相應目錄的對應權限,而 mysql 的默認路徑/var/lib/mysql 已經添加了相應的策略,修改路徑后由于沒有相應的策略,導致后臺進程讀取文件被selinux阻止,從而出現權限錯誤!
方法如下:
mysql,方法為:
chcon -R -t mysqld_db_t /db/mysql
如果是APACHE,方法為:
# chcon -R -h -t httpd_sys_content_t /www/web/
附chcon 命令幫助
chcon 命令:修改對象(文件)的安全上下文(如:用戶:角色:類型:安全級別)。
命令格式:
Chcon [OPTIONS…] CONTEXT FILES…..
Chcon [OPTIONS…] –reference=PEF_FILES FILES
說明:
CONTEXT 為要設置的安全上下文
FILES 對象(文件)
--reference 參照對象
PEF_FILES 參照文件上下文
FILES 應用參照文件上下文為我的上下文。
OPTIONS 如下:
-f 強迫執行
-R 遞歸地修改對象的安全上下文
-r ROLE 修改安全上下文角色的配置
-t TYPE 修改安全上下文類型的配置
-u USER 修改安全上下文用戶的配置
-v 顯示冗長的信息
-l, --range=RANGE 修改安全上下文中的安全級別
mysql,方法為:
chcon -R -t mysqld_db_t /db/mysql
實例
如果你想把這個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
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。