CentOS文件系統共享的常見方法:Samba(Windows兼容)與NFS(Linux/Unix兼容)
Samba是CentOS上最常用的跨平臺文件共享解決方案,支持Windows客戶端通過\\IP\共享名訪問Linux共享目錄。
sudo yum install samba samba-client samba-common -y # CentOS 7/8/Stream
sudo mkdir -p /srv/samba/shared # 創建共享目錄(路徑可自定義)
sudo chmod -R 0777 /srv/samba/shared # 開放讀寫權限(生產環境建議按需調整,如0775)
sudo chown -R nobody:nogroup /srv/samba/shared # 設置匿名訪問所有者(可選)
編輯主配置文件/etc/samba/smb.conf,在末尾添加共享段:
sudo vi /etc/samba/smb.conf
添加以下內容(按需修改):
[shared] # 共享名稱(Windows端訪問時使用)
path = /srv/samba/shared # 實際共享目錄路徑
browseable = yes # 允許瀏覽共享
writable = yes # 允許寫入
guest ok = yes # 允許匿名訪問(若需認證,改為no并配置valid users)
create mask = 0777 # 新建文件權限
directory mask = 0777 # 新建目錄權限
若guest ok = no,需將系統用戶添加為Samba用戶:
sudo smbpasswd -a your_username # 創建Samba用戶(需先存在系統用戶)
sudo smbpasswd -e your_username # 啟用用戶(可選)
sudo systemctl start smb nmb # 啟動Samba服務(smb負責文件共享,nmb負責名稱解析)
sudo systemctl enable smb nmb # 設置開機自啟
sudo firewall-cmd --permanent --add-service=samba # 開放Samba服務端口(137-139、445)
sudo firewall-cmd --reload # 重新加載防火墻規則
\\CentOS_IP\shared,若配置了匿名訪問可直接進入;若需認證,輸入Samba用戶名和密碼。cifs-utils后掛載:sudo yum install cifs-utils -y
sudo mkdir /mnt/samba_shared
sudo mount -t cifs //CentOS_IP/shared /mnt/samba_shared -o username=your_username,password=your_password
NFS是Linux系統間的原生共享協議,傳輸效率高,適合服務器集群共享文件。
sudo yum install nfs-utils rpcbind -y # CentOS 7/8/Stream
sudo mkdir -p /mnt/nfs_share # 創建共享目錄
sudo chmod -R 0777 /mnt/nfs_share # 開放讀寫權限(生產環境建議按需調整)
sudo chown -R nobody:nobody /mnt/nfs_share # 設置匿名訪問所有者(可選)
編輯配置文件/etc/exports,添加共享規則:
sudo vi /etc/exports
添加以下內容(按需修改):
/mnt/nfs_share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
192.168.1.0/24:允許訪問的客戶端IP段(可替換為單個IP,如192.168.1.100);rw:讀寫權限;sync:同步寫入(數據安全性更高,性能略低);no_root_squash:允許客戶端root用戶保留root權限(慎用,若需安全可改為root_squash);no_subtree_check:禁用子樹檢查(提升性能)。sudo systemctl start nfs-server rpcbind # 啟動服務(rpcbind用于端口映射)
sudo systemctl enable nfs-server rpcbind # 設置開機自啟
sudo exportfs -ra # 重新加載配置,使共享生效
sudo showmount -e localhost # 查看本機共享的NFS目錄
sudo yum install nfs-utils -y # 客戶端需安裝nfs-utils
sudo mkdir -p /mnt/nfs_client # 創建本地掛載點
sudo mount 192.168.1.100:/mnt/nfs_share /mnt/nfs_client # 掛載服務器共享目錄(IP替換為服務器IP)
編輯客戶端/etc/fstab文件,添加以下內容:
sudo vi /etc/fstab
添加:
192.168.1.100:/mnt/nfs_share /mnt/nfs_client nfs defaults 0 0
保存后,客戶端重啟時會自動掛載共享目錄。
chmod/chown)和Samba/NFS配置中的權限設置(如rw、guest ok)。systemctl status smb/nfs-server)、防火墻開放了對應端口(Samba:137-139、445;NFS:2049、111)、客戶端能ping通服務器。setsebool -P samba_enable_home_dirs on,NFS共享目錄設置setsebool -P nfs_export_all_rw on)。以上步驟覆蓋了CentOS文件系統共享的主流場景,可根據實際需求選擇Samba(跨平臺)或NFS(Linux專用)方案。