插件窝 干货文章 linux怎么共享文件夹

linux怎么共享文件夹

sudo 共享 bash Linux 170    来源:    2025-05-02

在Linux系统中共享文件夹可以通过多种方式实现,具体取决于使用场景(本地网络共享或远程访问)。以下是常见的几种方法:


一、使用 Samba(跨平台共享,适合Windows/Linux/Mac)

Samba是Linux与Windows之间共享文件夹的标准协议。

1. 安装Samba

# Debian/Ubuntu
sudo apt update
sudo apt install samba

# CentOS/RHEL
sudo yum install samba

2. 配置共享文件夹

编辑Samba配置文件:

sudo nano /etc/samba/smb.conf

在文件末尾添加以下内容(示例共享名为myshare):

[myshare]
   path = /path/to/shared/folder
   browsable = yes
   writable = yes
   guest ok = yes  # 允许匿名访问(如需密码则设为no)
   create mask = 0777
   directory mask = 0777

3. 设置Samba用户密码(如需认证)

sudo smbpasswd -a username  # 将`username`替换为系统用户

4. 重启Samba服务

sudo systemctl restart smbd

5. 从其他设备访问

  • Windows: 文件资源管理器输入 \\Linux_IP\myshare
  • Linux/Mac: 挂载命令或文件管理器输入 smb://Linux_IP/myshare

二、使用 NFS(Linux之间高性能共享)

适用于Linux-to-Linux的共享。

1. 安装NFS服务端

# Debian/Ubuntu
sudo apt install nfs-kernel-server

# CentOS/RHEL
sudo yum install nfs-utils

2. 配置共享目录

编辑/etc/exports

sudo nano /etc/exports

添加以下内容(允许192.168.1.0/24网段访问):

/path/to/shared/folder 192.168.1.0/24(rw,sync,no_subtree_check)

3. 启动NFS服务

sudo exportfs -a
sudo systemctl restart nfs-server

4. 客户端挂载

在另一台Linux上执行:

sudo mount -t nfs server_ip:/path/to/shared/folder /local/mount/point

三、使用 SSHFS(通过SSH加密挂载)

适合临时安全访问。

1. 安装SSHFS

sudo apt install sshfs  # Debian/Ubuntu
sudo yum install sshfs  # CentOS/RHEL

2. 挂载远程文件夹

sshfs username@remote_ip:/remote/folder /local/mount/point

3. 卸载

fusermount -u /local/mount/point

四、使用 WebDAV(HTTP协议共享)

适合通过浏览器或WebDAV客户端访问。

1. 安装Apache

sudo apt install apache2  # Debian/Ubuntu

2. 启用WebDAV模块

sudo a2enmod dav dav_fs

3. 配置WebDAV

编辑Apache虚拟主机配置:

sudo nano /etc/apache2/sites-available/webdav.conf

添加以下内容:

Alias /webdav "/path/to/shared/folder"
<Directory "/path/to/shared/folder">
    DAV On
    Require all granted
</Directory>

4. 重启Apache

sudo systemctl restart apache2

五、图形化工具(适合桌面环境)

  • Nautilus (GNOME): 右键文件夹 → Local Network Share → 启用共享。
  • Dolphin (KDE): 右键文件夹 → PropertiesShare 选项卡。

注意事项

  1. 权限问题:确保共享文件夹的权限允许访问: bash sudo chmod -R 777 /path/to/folder # 临时测试(生产环境需细化权限)
  2. 防火墙:开放对应端口(Samba: 445, NFS: 2049, WebDAV: 80/443)。
  3. 安全性:建议内网使用,外网暴露需配置认证和加密。

根据需求选择合适的方法,Samba适合混合网络,NFS适合Linux集群,SSHFS适合临时安全访问。