在 windows 平台创建 smb 共享是一件很方便的事情,右键共享即可,一直没有关心 linux 平台的 smb 服务,最近家里有一台装了 ubuntu 的笔记本,想放在角落里做 nas 用,所以看看如何搭建 smb 共享。
安装服务
如果不小心删除了配置文件,可以通过:
1 2
| sudo apt purge samba-common samba sudo apt install samba
|
来重新生成
创建 samba 用户
samba 使用 Linux 的用户和权限系统,但是有自己的认证机制。
samba 用户首先要是一个 Linux 用户,不然是创建不成功的。
创建一个 Linux 用户
1
| sudo useradd -s /bin/bash -m zhanglikun
|
-m 是在 home 目录自动创建一个 zhanglikun 目录
创建一个 smb 用户
1
| sudo smbpasswd -a zhanglikun
|
手动输入两遍密码即可,其他操作可以通过 smbpass -h
查看
创建共享目录
使用 zhanglikun 用户在家目录创建一个共享目录
修改配置文件
保证 server role 是 standalone server(默认情况下就是如此)
1
| server role = standalone server
|
添加共享配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [samba] path = /home/zhanglikun/samba browseable = yes read only = no # force create mode = 0660 # force directory mode = 2770 valid users = zhanglikun
# 下面是一个匿名只读配置 [share] path = /mnt/samba browsable =yes writable = no guest ok = yes read only = yes
|
选项的含义如下:
配置项 |
作用 |
[samba] 和 [public] |
登录时将使用的共享名称。 |
path |
分享的路径。 |
browseable |
是否应在可用共享列表中列出该共享。通过设置为 no,其他用户将看不到共享。 |
read only |
valid users 列表中指定的用户是否能够写入此共享。 |
force create mode |
设置此共享中新创建文件的权限。 |
force directory mode |
设置此共享中新创建目录的权限。 |
valid users |
允许访问共享的用户和组的列表。群组以@符号为前缀。 |
完成后,使用以下方法重新启动 Samba 服务:
1
| sudo systemctl restart nmbd.service
|
连接 samba 共享
从 Linux 连接到 Samba 共享
Linux 用户可以使用文件管理器从命令行访问 samba 共享或挂载 Samba 共享。
方法 1. 使用 smbclient 客户端
smbclient
是允许您从命令行访问 Samba
的工具。 smbclient
软件包尚未预先安装在大多数 Linux 发行版中,因此您需要使用分发软件包管理器进行安装。
1
| sudo apt install smbclient
|
1
| sudo yum install samba-client
|
访问 Samba 共享的语法如下:
1
| smbclient //"<windows_computername>/<windows_sharename>" -U "<windows_username>%<windows_password>"
|
您将登录 Samba 命令行界面。
1 2
| Try "help" to get a list of possible commands. smb: \>
|
方法 2. 挂载 Samba 共享
要在 Linux 上挂载 Samba 共享,您需要安装 cifs-utils
软件包。
1
| sudo yum install cifs-utils
|
1
| sudo apt install cifs-utils
|
接下来,创建安装点:
1
| sudo mkdir /mnt/smbmount
|
1 2
| sudo mount -t cifs //192.168.1.11/0/ /mnt -o vers=2.0,uid=0,gid=0,dir_mode=0755,file_mode=0755,mfsymlinks,cache=strict,rsize=1048576,wsize=1048576,username=iuxt,password=password
|
1
| //<windows_computername>/<windows_sharename> /mnt/windows_share cifs username=<windows_username>,password=<windows_password>,iocharset=utf8 0 0
|
从 Windows 连接到 Samba 共享
Windows 用户还可以选择从命令行和 GUI 连接到 Samba 共享。以下步骤显示了如何使用 Windows File Explorer 访问共享。
打开文件资源管理器,然后在地址栏中以以下格式输入 Samba 共享的地址 \\samba_hostname_or_server_ip\sharename
回车,将提示您输入登录凭据
如果需要挂载,则在资源管理器中找到 映射网络驱动器
,按照提示输入地址和用户名密码即可挂载成一个盘符。
1 2 3 4 5 6 7 8
| # 挂载共享 net use z: \\192.168.10.163\share /user:"<计算机名\用户名>" "<密码>"
# 查看已经创建的连接 net use
# 断开共享 net use /delete \\10.0.0.132\ubuntu
|