多个linux共享目录怎么访问
多个linux共享目录怎么访问详细介绍
在 Linux 系统中访问多个共享目录,通常需要根据共享协议(如 Samba、NFS、SSHFS 等)配置服务器端和客户端。以下是常见的实现方法及操作步骤:
一、通过 Samba 共享(适合 Linux 与 Windows/Linux 间共享)
服务器端配置(以 Ubuntu 为例)
- 安装 Samba
bashsamba samba-common - 创建共享目录(假设多个目录:/shared1, /shared2)
bash/shared1 /shared2/shared1 /shared2
- 配置
samba.conf
bash/etc/samba/smb.conf在文件末尾添加多个共享条目:
conf[shared1]path = /shared1
comment = Shared Directory 1
read only = no
guest ok = no # 若需要认证,设置为no;允许匿名访问设为yes
valid users = user1, user2 # 指定允许访问的用户
[shared2]
path = /shared2
comment = Shared Directory 2
read only = no
guest ok = yes # 示例:允许匿名访问
- 添加 Samba 用户(若需要认证)
bashsmbpasswd username - 重启 Samba 服务
bashsystemctl restart smbd nmbd
客户端访问(Linux/Windows)
- Linux 客户端
bashcifs //服务器IP/shared1 /mnt/share1 user1,password密码
cifs //服务器IP/shared2 /mnt/share2 guest
smbclient //服务器IP/shared1 user1
- Windows 客户端
打开文件资源管理器,输入\\服务器IP,输入用户名密码即可访问多个共享目录。
二、通过 NFS 共享(适合 Linux 间高速共享)
服务器端配置
- 安装 NFS 服务器
bashnfs-kernel-serveryum nfs-utils
- 创建共享目录并配置权限
bash/nfs_share1 /nfs_share2/nfs_share1 /nfs_share2
- 编辑
/etc/exports文件
bash/etc/exports/nfs_share1 .1.0/24rw,sync,no_subtree_check
/nfs_share2 .1.0/24rw,sync,no_subtree_check
rw:读写权限;ro:只读sync:数据同步写入磁盘no_subtree_check:关闭子目录检查(提高性能)
- 导出共享目录
bashexportfssystemctl restart nfs-kernel-server
客户端访问(Linux)
- 安装 NFS 客户端
bashnfs-commonyum nfs-utils
- 挂载共享目录
bash/mnt/nfs_share1 /mnt/nfs_share2服务器IP:/nfs_share1 /mnt/nfs_share1
服务器IP:/nfs_share2 /mnt/nfs_share2
- 开机自动挂载(可选)
在/etc/fstab中添加:
conf服务器IP:/nfs_share1 /mnt/nfs_share1 nfs defaults 0 0服务器IP:/nfs_share2 /mnt/nfs_share2 nfs defaults 0 0
三、通过 SSHFS 共享(安全临时访问)
客户端访问(需安装sshfs)
- 安装工具
bashsshfsdnf fuse-sshfs
- 挂载远程目录
bash~/remote_share1 ~/remote_share2sshfs user@服务器IP:/path/to/shared1 ~/remote_share1 /.ssh/id_rsa
sshfs user@服务器IP:/path/to/shared2 ~/remote_share2 password_stdin
- 卸载
bashfusermount ~/remote_share1
四、通过 FTP/SFTP 共享(文件传输场景)
服务器端配置(以 vsftpd 为例)
- 安装 FTP 服务器
bashvsftpd - 配置
/etc/vsftpd.conf
confwrite_enable=YESlocal_root=/var/ftp # 根目录(可创建子目录如/var/ftp/share1, /var/ftp/share2)
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO # 允许列表中的用户访问
- 创建共享目录并设置权限
bash/var/ftp/share1 /var/ftp/share2ftp:ftp /var/ftp/share1 /var/ftp/share2
- 重启服务
bashsystemctl restart vsftpd
客户端访问
bash
服务器IPuser@服务器IP
五、注意事项
- 防火墙设置
- Samba:开放端口
139(NetBIOS)、445(SMB) - NFS:开放端口
111(RPC)、2049(NFS),或使用nfs-server服务自动管理 - SSHFS/SFTP:开放端口
22(SSH) - FTP:开放端口
21(FTP)、20(数据连接,主动模式),或使用被动模式
- Samba:开放端口
- 权限管理
- 服务器端目录权限需与共享协议权限(如 Samba 的
valid users、NFS 的客户端 IP 限制)配合。 - 避免使用
777权限,建议通过用户组(chgrp)和 ACL(setfacl)细化权限。
- 服务器端目录权限需与共享协议权限(如 Samba 的
- 跨平台兼容性
- Samba 支持 Windows 和 Linux,NFS 仅适用于 Linux/Unix,SSHFS/SFTP 依赖 SSH 服务。
根据需求选择合适的协议:
- 跨平台共享:优先 Samba
- Linux 高速局域网共享:优先 NFS
- 安全临时访问:使用 SSHFS/SFTP
- 文件传输:使用 FTP/SFTP
配置时确保服务器和客户端网络连通,权限和防火墙设置正确。