Samba:修订间差异

 
第70行: 第70行:


==服务端配置 ==
==服务端配置 ==
=== 创建只能使用samba用户 ===
<syntaxhighlight lang="bash" >
# -m 创建用户主目录
# -s /sbin/nologin 用户无法通过 SSH、控制台等方式登录系统
# 有些路径, /usr/sbin/nologin
sudo useradd -m -s /sbin/nologin user1
# 设置 Samba 密码,独立于系统密码
sudo smbpasswd -a user1
# 配置 Samba 共享目录
sudo nano /etc/samba/smb.conf
# 添加下面内容,并保存
[user1]
    comment = Data Share
    path = /home/user1
    browseable = yes
    writable = yes
    valid users = user1
    create mask = 0755
    directory mask = 0755
# 重启 Samba 服务
sudo systemctl restart smbd
</syntaxhighlight>
==客户端挂载 ==
==客户端挂载 ==
===linux挂载===
===linux挂载===

2026年5月10日 (日) 15:28的最新版本

Samba是一个开源软件套件,允许Linux和Unix系统与Windows系统共享文件和打印机。它通过SMB/CIFS协议实现互操作性。

简介

时间轴

快速入门

安装

Ubuntu/Debian:

sudo apt-get update
sudo apt-get install samba

配置Samba

Samba的配置文件通常位于/etc/samba/smb.conf。没有新建一个。

[global]
   workgroup = WORKGROUP
   server string = Samba Server
   netbios name = linuxserver
   security = user

[shared] 
   path = /home/username/shared
   browsable = yes
   writable = yes
   guest ok = no
   read only = no

配置说明:

  • [global]:定义全局设置。
    • workgroup:工作组名称,通常与Windows系统的工作组一致。
    • server string:服务器的描述文字。
    • netbios name:服务器的NetBIOS名称。
    • security = user:启用用户级安全认证。
  • [shared]:定义一个共享目录。
    • path:共享目录的路径。
    • browsable:允许客户端浏览此共享。
    • writable:允许写入权限。
    • guest ok:是否允许匿名访问(此处为否)。
    • read only:是否只读(此处为否)。

创建共享目录

创建配置文件中指定的共享目录,并设置适当的权限:

sudo mkdir -p /home/username/shared
sudo chown -R nobody:nogroup  /home/username/shared
sudo chmod -R 0700 /home/username/shared

添加Samba用户

Samba使用独立的密码数据库。需要为系统用户创建Samba账,如username:

# 如果还不是系统用户,需要先创建
# sudo adduser username

sudo smbpasswd -a username

启动和启用Samba服务

sudo systemctl start smbd
sudo systemctl enable smbd

访问共享

在Windows系统中,可以通过以下方式访问Samba共享: 打开“文件资源管理器”,输入\\linuxserver\shared(用服务器的IP地址或NetBIOS名称替换linuxserver)。 或使用“映射网络驱动器”功能连接到共享。

服务端配置

创建只能使用samba用户

 
# -m 创建用户主目录
# -s /sbin/nologin 用户无法通过 SSH、控制台等方式登录系统
# 有些路径, /usr/sbin/nologin
sudo useradd -m -s /sbin/nologin user1

# 设置 Samba 密码,独立于系统密码
sudo smbpasswd -a user1

# 配置 Samba 共享目录
sudo nano /etc/samba/smb.conf

# 添加下面内容,并保存
[user1]
    comment = Data Share
    path = /home/user1
    browseable = yes
    writable = yes
    valid users = user1
    create mask = 0755
    directory mask = 0755

# 重启 Samba 服务
sudo systemctl restart smbd

客户端挂载

linux挂载

图形界面挂载Samba共享:

  • 打开文件管理器,点击侧边栏‘网络’,输入服务器地,如smb://192.168.1.100/YourShare,点击连接。


使用mount命令行挂载:

# 安装 cifs-utils 来支持挂载命令
sudo apt install cifs-utils -y

# 创建挂载点
mkdir ~/mysambashare

# 执行挂载,输入密码 (Samba 密码)
sudo mount -t cifs //192.168.1.100/YourShare ~/mysambashare -o username=your_username

# 使用凭据文件,免每次手动输密码。
# 1. 创建文件(替换 username 和 password)
echo -e "username=your_username\npassword=your_password" > ~/.smbcredentials
# 2. 设置权限(重要:防止泄露)
chmod 600 ~/.smbcredentials
# 3. 挂载时引用
sudo mount -t cifs //192.168.1.100/YourShare ~/mysambashare -o credentials=~/.smbcredentials

# 开机自动挂载
# 编辑 fstab
sudo nano /etc/fstab
# 在fstab文件,在末尾添加一行,
# 为避免报错导致无法开机,强烈建议使用 x-systemd.automount 或 nofail 选项。
//192.168.1.100/YourShare  /home/your_username/mysambashare  cifs  credentials=/home/your_username/.smbcredentials,uid=你的本地uid,gid=你的本地gid,iocharset=utf8,nofail,x-systemd.automount  0  0

# 测试挂载
sudo mount -a

windows挂载

资源

官网

网站