ubuntu 环境下搭建共享文件夹

  1. 使用Samba服务
    1. 步骤1:安装Samba
    2. 步骤2:配置Samba
    3. 步骤3:重启Samba服务
    4. 步骤4:添加用户到Samba密码数据库(可选)
    5. 步骤5:客户端访问
    6. 其他说明
    7. 参考资料

在Ubuntu中搭建共享文件夹,通常有两种主要方法:使用Samba服务或通过NFS(Network File System)。以下是每种方法的详细步骤:

使用Samba服务

Samba允许Windows、Mac和Linux系统之间共享文件和打印机。

步骤1:安装Samba

打开终端,并运行以下命令来安装Samba:

sudo apt update
sudo apt install samba
# 查看版本信息
samba -V
# Version 4.19.5-Ubuntu

步骤2:配置Samba

创建一个共享目录(例如/home/ethan/sambashare):

sudo mkdir -p /mnt/sambashare
sudo chown nobody:nogroup /mnt/sambashare
sudo chmod -R 777 /mnt/sambashare
sudo chcon -t samba_share_t /mnt/sambashare

创建一个共享用户组来统一管理共享文件夹访问权限(例如sambashare):

# 查看用户组信息
grep samba /etc/group
# 创建用户组(如果不存在)
sudo groupadd sambashare

配置Samba。编辑Samba配置文件:

sudo vi /etc/samba/smb.conf

在文件中添加以下配置(根据你的需求调整路径和设置):

[global]
    min protocol = SMB3
    workgroup = WORKGROUP
    server string = %h server (Samba, Ubuntu)
    # 如果使用DHCP,需要配置以下内容:
    interface = wlx6c1ff742ce99 enp5s0
    #usershare allow guests = yes
    security = user # 认证模式:share匿名|user用户密码|server外部服务器用户密码
    map to guest = Bad User
    domain master = yes
    local master = yes
    preferred master = yes
    os level = 65
[sambashare]
    path = /mnt/sambashare
    browsable = yes
    available = yes
    read only = no
    public = yes
    writable = yes
    # guest ok = yes # 允许来宾用户访问,相当于 public
    # valid users = nobody
    guest ok = no
    valid users = ethan,@sambashare

保存并关闭文件。

步骤3:重启Samba服务

sudo systemctl restart smbd nmbd

或者使用:

sudo service smbd restart
sudo service nmbd restart

步骤4:添加用户到Samba密码数据库(可选)

如果你想让用户通过Samba访问共享文件夹,需要为这些用户设置Samba密码:

# 如果用户不存在,先添加用户(如果用户已存在,跳过)
sudo useradd -g sambashare yourusername
# 然后设置密码
sudo smbpasswd -a yourusername
# 输入密码后激活用户

步骤5:客户端访问

在Windows系统中,需要先安装samba支持,通过控制面板-程序和功能-启用或关闭Windows功能-勾选“SMB客户端”和“SMB自动删除”,然后重启电脑。
打开“文件资源管理器”,在地址栏中输入:

\\yourserverip\sambashare

Linux和Mac系统中,使用以下命令:

smbclient //yourserverip/sambashare -U yourusername

smb://yourserverip/sambashare

其他说明

若遇到问题可先查看日志信息
tail -100f /var/log/samba/log.nmbd

删除指定网络映射驱动器
net use X: /delete
添加网络驱动器
net use X: \\ip\sambashare /user:\yourusername

问题:指定的网络文件夹目前是以其他用户名和密码进行映射的。
通过cmd命令行,删除所有网络映射驱动器后重试:
net use * /delete

问题:你没有权限访问 \yourserverip\sambashare。
检查共享目录的用户和组是否正确配置。可参考上面第二部进行配置。

参考资料

https://cloud.tencent.com/developer/article/2439538


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 ethan89@aliyun.com

×

喜欢就点赞,疼爱就打赏