日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Samba共享后不能访问,或者看不到文件,是selinux惹的祸

發布時間:2025/7/25 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Samba共享后不能访问,或者看不到文件,是selinux惹的祸 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Samba共享后不能訪問是selinux惹的禍

第一種方法:關閉SELinux,并修改配置文件,使系統啟動時不啟動SELinux。



不關機的關閉方法是:setenforce 0


永久關閉是:

vi /etc/sysconfig/selinux


# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - SELinux is fully disabled.

SELINUX=enforcing


# SELINUXTYPE= type of policy in use. Possible values are:

# targeted - Only targeted network daemons are protected.

# strict - Full SELinux protection.

SELINUXTYPE=targeted


把 SELINUX設定為disable, 下次啟動系統后將會停止SElinux。



還有一種是;

在核心參數后加上 selinux=0 (停止) 或 selinux=1 (開啟)參數


vi /boot/grub/menu.lst


title Fedora Core (2.6.18-1.2798.fc6)

root (hd0,0)

kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet selinux=0

initrd /initrd-2.6.18-1.2798.fc6.img



檢查SELinux現時況態的命令是; getenforce





第二種方法 :不關閉SELinux配置 samba的方法 (在51cto網上找到的)


將smb.conf中如下這兩行啟用(去掉行首的;號就可以了)

setsebool -P samba_domain_controller on setsebool -P samba_enable_home_dirs on這兩行生效后,自己的home目錄就可以正常讀寫了。


針對于目錄共享設置:

如 /home/samba/test目錄設置成完全的共享就應該在字符狀態寫輸入:

chcon -t samba_share_t /home/samba/test


同時不要忘記將/home/samba/test目錄屬性設置成777 就可以了。



默認的,SELinux禁止網絡上對Samba服務器上的共享目錄進行寫操作,即使你在smb.conf中允許了這項操作。


假設你已經配置了共享目錄/share并允許用戶進行讀寫,而你又不想關閉SELinux的話,可以試試以下操作:


程序代碼:


  • #/usr/sbin/setsebool -P allow_smbd_anon_write=1

  • #chcon -t public_content_rw_t /share



  • 其中第一條語句設置SELinux放行標記了public_content_rw_t的內容,第二條語句把欲共享的/share目錄標記為public_content_rw_t。



    附SELinux資料:




    selinux簡介


    SElinux 在linux內核級別上提供了一個靈活的強制訪問控制系統(MAC),這個強制訪問控制系統是建立在自由訪問控制系統(DAC)之上的。


    DAC是指系統的安全訪問控制都是由系統管理員root自由管理的,不是系統強制行為


    MAC運行的時候,比如一個應用程序或者一個線程以某個用戶UID或者SUID運行的時候同樣對一些其他的對象擁有訪問控制限制,比如文件,套接子(sockets)或者其他的線程


    通過運行SElinux MAC內核可以保護系統不受到惡意程序的侵犯,或者系統本身的bug不會給系統帶來致命影響(把影響限定在一定范圍內)


    SElinux為每一個用戶,程序,進程,還有文件定義了訪問還有傳輸的權限。然后管理所有這些對象之間的交互關系


    對于SELinux設定的對象全限是可以根據需要在安裝時候規定嚴格程度,或者完全禁用


    在大多數情況下,SElinux對于用戶來說是完全透明的,普通用戶根本感覺不到 Selinux的存在,只有系統管理員才需要對這些用戶環境,以及策略進行考慮。這些策略可以按照需要寬松的部署或者應用嚴格的限制,Selinux提供 了非常具體的控制策略,范圍覆蓋整個linux系統


    比如,當一個對象如應用程序要訪問一個文件對象,內核中的控制程序檢查訪問向量緩存 (AVC),從這里尋找目標和對象的權限,如果在這里沒有發現權限定義,則繼續查詢安全定義的上下關聯,以及文件權限,然后作出準許訪問以及拒絕訪問的決 定。如果在var/log/messages出現avc: denied信息,則表明訪問拒絕。


    目標和對象通過安裝的策略來決定自身的安全關聯,同時這些安裝的策略也負責給系統產生安全列表提供信息。


    除了運行強制模式以外,SELinux可以運行在許可模式,這時候,檢查AVC之后,拒絕的情況被記錄。Selinux不強制使用這種策略.


    以下介紹一下SELinux相關的工具


    /usr/bin/setenforce 修改SELinux的實時運行模式


    setenforce 1 設置SELinux 成為enforcing模式


    setenforce 0 設置SELinux 成為permissive模式


    如果要徹底禁用SELinux 需要在

    /etc/sysconfig/selinux中設置參數selinux=0 ,


    或者在/etc/grub.conf中添加這個參數

    /usr/bin/setstatus -v

    總結

    以上是生活随笔為你收集整理的Samba共享后不能访问,或者看不到文件,是selinux惹的祸的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。