Samba:修订间差异
无编辑摘要 |
(→服务端配置) |
||
| (未显示同一用户的1个中间版本) | |||
| 第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挂载=== | ||
| 第76行: | 第104行: | ||
命令行挂载: | 使用[[mount]]命令行挂载: | ||
<syntaxhighlight lang="bash" > | <syntaxhighlight lang="bash" > | ||
# 安装 cifs-utils 来支持挂载命令 | # 安装 cifs-utils 来支持挂载命令 | ||
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挂载
资源
官网
- Samba官网:https://www.samba.org/
- Samba Wiki:https://wiki.samba.org/
网站
- Ubuntu教程:安装和配置Samba https://ubuntu.com/tutorials/install-and-configure-samba