Ubuntu文件系统网络共享设置指南(Samba+NFS)
在Ubuntu系统中,实现文件系统网络共享主要通过Samba(兼容Windows/其他Linux系统)和NFS(主要用于Linux/Unix系统)两种协议。以下是详细步骤:
Samba是Ubuntu与Windows系统间共享文件的核心工具,支持权限控制和身份验证。
打开终端,执行以下命令更新软件包索引并安装Samba:
sudo apt update && sudo apt install samba
安装完成后,Samba服务会自动启动。
选择需要共享的目录(如/home/username/Documents/shared),创建文件夹并赋予读写权限:
sudo mkdir -p /home/username/Documents/shared
sudo chmod -R 777 /home/username/Documents/shared # 开放所有权限(生产环境建议限制为必要用户)
编辑Samba主配置文件/etc/samba/smb.conf(建议先备份):
sudo nano /etc/samba/smb.conf
在文件末尾添加以下内容(以[shared]为共享名称,可根据需求修改):
[shared]
comment = Shared Folder for Ubuntu Network
path = /home/username/Documents/shared
browsable = yes # 允许在网络中浏览到该共享
writable = yes # 允许写入(若需限制为只读,改为no)
guest ok = yes # 允许匿名访问(若需身份验证,改为no并配置用户)
read only = no # 是否只读(与writable冲突时,以writable为准)
create mask = 0777 # 新建文件的权限
directory mask = 0777 # 新建目录的权限
若需限制为特定用户访问,需将系统用户添加到Samba用户库并设置密码:
sudo smbpasswd -a username # 替换为你的Ubuntu系统用户名
输入并确认密码(此密码用于访问共享,与系统登录密码可不同)。
sudo systemctl restart smbd
sudo systemctl enable smbd # 设置开机自启
\\Ubuntu_IP\shared(替换为Ubuntu主机的IP地址),按回车键后输入Samba用户名和密码即可访问。smb://Ubuntu_IP/shared,按回车键后输入密码访问。NFS(Network File System)是Linux/Unix系统间的原生共享协议,传输效率高,但不支持Windows系统(需额外安装NFS客户端)。
sudo apt update && sudo apt install nfs-kernel-server
sudo mkdir -p /srv/nfs/shared
sudo chmod -R 777 /srv/nfs/shared # 生产环境建议限制为必要用户(如nobody:nogroup)
编辑NFS配置文件/etc/exports:
sudo nano /etc/exports
添加以下内容(允许所有IP访问,若需限制特定IP,可将*替换为具体IP,如192.168.1.0/24):
/srv/nfs/shared *(rw,sync,no_subtree_check)
参数说明:
rw:允许读写;sync:同步写入(数据安全性更高,但性能略低);no_subtree_check:禁用子树检查(提升性能,适合小型共享)。sudo exportfs -a # 重新导出所有共享目录
sudo systemctl restart nfs-kernel-server
sudo systemctl enable nfs-kernel-server # 开机自启
在需要访问共享的Linux/Unix系统上,执行以下命令:
sudo mkdir -p /mnt/nfs_shared
sudo mount Ubuntu_IP:/srv/nfs/shared /mnt/nfs_shared # 替换为Ubuntu主机的IP地址
挂载成功后,/mnt/nfs_shared目录将同步显示共享文件夹中的内容。
编辑客户端的/etc/fstab文件:
sudo nano /etc/fstab
添加以下内容:
Ubuntu_IP:/srv/nfs/shared /mnt/nfs_shared nfs defaults 0 0
保存后,系统重启时会自动挂载共享。
ufw),需开放对应端口:
sudo ufw allow samba;sudo ufw allow nfs。chmod 777,而是通过chown指定所有者(如sudo chown username:group /path/to/shared)和合理权限(如770)。/etc/exports中指定具体IP段;若需更高安全性,可启用NFSv4并配置Kerberos认证。通过以上步骤,即可在Ubuntu系统中实现文件系统的网络共享,满足不同场景的需求。