CentOS下实现文件共享的常用方法(NFS/Samba)
Notepad本身不具备网络共享功能,需通过网络文件系统(NFS)或Samba协议实现CentOS与其他设备的文件共享。以下是详细步骤:
NFS适用于Linux/Unix系统之间的文件共享,无需额外客户端软件。
在CentOS服务器上执行:
sudo yum install -y nfs-utils
sudo mkdir -p /mnt/nfs_share # 创建共享目录
sudo chmod -R 777 /mnt/nfs_share # 赋予读写权限(生产环境建议按需设置)
编辑/etc/exports文件:
sudo nano /etc/exports
添加以下内容(替换192.168.1.0/24为允许访问的网段,/mnt/nfs_share为共享目录):
/mnt/nfs_share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
参数说明:
rw:允许读写;sync:同步写入磁盘;no_root_squash:允许root用户访问(谨慎使用)。sudo systemctl start nfs-server # 启动服务
sudo systemctl enable nfs-server # 开机自启
在客户端(Linux/Windows)执行:
Linux客户端:
sudo yum install -y nfs-utils # 安装NFS客户端
sudo mkdir -p /mnt/nfs_client # 创建本地挂载点
sudo mount 192.168.1.100:/mnt/nfs_share /mnt/nfs_client # 挂载共享目录(192.168.1.100为服务器IP)
持久化挂载(编辑/etc/fstab):
192.168.1.100:/mnt/nfs_share /mnt/nfs_client nfs defaults 0 0
Windows客户端:
安装NFS客户端功能(控制面板→程序→启用或关闭Windows功能→勾选“NFS服务”),然后通过命令行挂载:
mount 192.168.1.100:/mnt/nfs_share Z: # Z:为挂载盘符
Samba兼容Windows、macOS、Linux等系统,是跨平台共享的首选。
sudo yum install -y samba samba-client samba-common
sudo mkdir -p /srv/samba/shared # 创建共享目录
sudo chmod 777 /srv/samba/shared # 赋予读写权限(生产环境建议限制为特定用户)
编辑/etc/samba/smb.conf文件:
sudo nano /etc/samba/smb.conf
在文件末尾添加以下内容(替换shared为共享名称,/srv/samba/shared为共享目录):
[shared]
comment = Shared Folder for All Users
path = /srv/samba/shared
browseable = yes
writable = yes
guest ok = yes # 允许匿名访问(生产环境建议禁用并设置用户认证)
create mask = 0664
directory mask = 0775
sudo smbpasswd -a your_username # 添加Samba用户(需为系统用户)
sudo smbpasswd -e your_username # 激活用户
sudo systemctl start smb nmb # 启动Samba服务(smb负责文件共享,nmb负责NetBIOS名称解析)
sudo systemctl enable smb nmb # 开机自启
sudo firewall-cmd --permanent --add-service=samba # 允许Samba服务通过防火墙
sudo firewall-cmd --reload # 重新加载防火墙规则
Windows客户端:
打开“文件资源管理器”,在地址栏输入\\192.168.1.100\shared(192.168.1.100为服务器IP),按回车键输入Samba用户名和密码即可访问。
Linux客户端:
sudo yum install -y cifs-utils samba-client # 安装Samba客户端工具
sudo mkdir -p /mnt/samba_shared # 创建本地挂载点
sudo mount -t cifs //192.168.1.100/shared /mnt/samba_shared -o username=your_username,password=your_password # 挂载共享目录
持久化挂载(编辑/etc/fstab):
//192.168.1.100/shared /mnt/samba_shared cifs credentials=/etc/samba/creds,uid=1000,gid=1000,file_mode=0664,dir_mode=0775 0 0
创建凭证文件/etc/samba/creds(权限设为600):
username=your_username
password=your_password
guest ok = yes,建议通过valid users限制访问用户,并设置合理的目录权限(如chmod 770)。sudo chcon -t samba_share_t /srv/samba/shared # 修改共享目录SELinux类型
对于NFS共享,需设置SELinux布尔值:sudo setsebool -P nfs_export_all_rw 1 # 允许NFS共享读写
通过以上步骤,即可在CentOS上实现文件共享,满足不同场景的需求。