Linux怎么配置Samba服务器?

在Linux上配置Samba服务器的详细步骤如下:

1. 安装Samba

Ubuntu/Debian:

sudo apt update
sudo apt install samba samba-common-bin

CentOS/RHEL/Fedora:

sudo yum install samba samba-client
或者对于新版本
sudo dnf install samba samba-client

2. 配置Samba

编辑Samba主配置文件:

sudo nano /etc/samba/smb.conf

基本全局配置示例:

[global]
    workgroup = WORKGROUP
    server string = Samba Server %v
    netbios name = ubuntu
    security = user
    map to guest = bad user
    dns proxy = no
    
    # 重要:设置Samba使用的接口
    interfaces = eth0 lo
    bind interfaces only = yes
    
    # 日志设置
    log file = /var/log/samba/log.%m
    max log size = 1000
    
    # 性能优化
    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

3. 创建共享目录

公共共享(无需密码):

[public]
    comment = Public Share
    path = /samba/public
    browseable = yes
    writable = yes
    guest ok = yes
    read only = no
    create mask = 0777
    directory mask = 0777

用户私有共享(需要密码):

[homes]
    comment = Home Directories
    browseable = no
    writable = yes
    valid users = %S

组共享:

[group_share]
    comment = Group Shared Folder
    path = /samba/group
    valid users = @sambashare
    writable = yes
    browsable = yes
    create mask = 0775
    directory mask = 0775

4. 创建目录和设置权限

创建共享目录
sudo mkdir -p /samba/public
sudo mkdir -p /samba/group
设置权限
sudo chmod -R 0777 /samba/public
sudo chown -R nobody:nogroup /samba/public
对于组共享
sudo groupadd sambashare
sudo chgrp sambashare /samba/group
sudo chmod 0775 /samba/group

5. 创建Samba用户

首先创建系统用户(如果不存在)
sudo useradd -M -s /sbin/nologin sambauser
设置Samba密码
sudo smbpasswd -a sambauser
将用户添加到sambashare组
sudo usermod -aG sambashare sambauser

6. 启动和启用服务

检查配置文件语法
sudo testparm
启动服务
sudo systemctl start smbd nmbd
设置开机自启
sudo systemctl enable smbd nmbd
查看服务状态
sudo systemctl status smbd

7. 防火墙配置

Ubuntu (UFW):

sudo ufw allow samba

CentOS/RHEL (firewalld):

sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload

8. 完整配置示例

[global]
    workgroup = WORKGROUP
    server string = Samba Server
    security = user
    map to guest = bad user
    
    # 日志
    log file = /var/log/samba/log.%m
    max log size = 1000
    
    # 性能
    socket options = TCP_NODELAY
[public]
    path = /samba/public
    browseable = yes
    writable = yes
    guest ok = yes
    read only = no
[secured]
    path = /samba/secured
    valid users = @sambashare
    guest ok = no
    writable = yes
    browsable = yes

9. 测试和连接

测试配置:

测试配置文件
testparm
查看本地共享
smbclient -L localhost -U%
查看远程共享
smbclient -L //server_ip -U username

从Windows连接:

\\服务器IP\共享名

从Linux连接:

安装客户端
sudo apt install smbclient
连接共享
smbclient //server_ip/sharename -U username
挂载共享
sudo mount -t cifs //server_ip/sharename /mnt/share -o username=user,password=pass

10. 常用管理命令

查看已连接的客户端
sudo smbstatus
添加用户
sudo smbpasswd -a username
删除用户
sudo smbpasswd -x username
禁用用户
sudo smbpasswd -d username
启用用户
sudo smbpasswd -e username

故障排除

1、检查服务状态:systemctl status smbd

2、查看日志:tail -f /var/log/samba/log.

3、测试连通性:telnet server_ip 445

4、重新加载配置:systemctl reload smbd

这样就完成了Samba服务器的基本配置,根据实际需求调整共享权限和访问控制。

文章摘自:https://idc.huochengrm.cn/fwq/20008.html

评论

精彩评论
  • 2026-01-17 22:05:07

    在Linux上配置Samba服务器涉及安装Samba、配置smb.conf文件、创建共享目录、设置权限、创建Samba用户、启动服务、防火墙配置等步骤,具体操作请参考上述详细步骤。

  • 2026-04-05 19:30:36

    在Linux上配置Samba服务器,需安装Samba、配置smb.conf文件、创建共享目录和用户、设置防火墙,最后测试连接,详细步骤包括安装、配置、创建用户和共享、设置权限、启动服务、防火墙配置等。