Browsed by
Tag: samba

树莓派(Raspberry Pi OS)搭建 samba 服务

树莓派(Raspberry Pi OS)搭建 samba 服务

最近重新搭建了一套树莓派的系统(Bullseye,arm64),将老系统的移动硬盘挂载在新系统,然后启用 samba 服务作为一个简易的 NAS 使用 。过程非常简单,不过与以前老系统搭建时有一点差别,简要记录一下以备以后查阅。

Pi 挂载了移动硬盘两个分区:(1)/media/pi/uwork;以及(2)/media/pi/udoc,将分别对应在 samba 中配置的两个访问目录:(1)/raspberrypi/hdd_work,以及(2)/raspberrypi/hdd_docs。

安装 samba

直接 apt 安装即可:

sudo apt install samba

配置

默认用户是 pi,系统虽然已经有这个用户了,但是 samba 中还是需要单独创建一个 pi 用户:

sudo smbpasswd -a pi

建议访问密码设置成和系统登录密码一样即可。然后修改 /etc/samba/smb.conf 文件,增加以下片段:

[hdd_work]
comment = work directory
path = /media/pi/uwork
browseable = yes
writable = yes
create mask = 0777
directory mask = 0777
valid users = pi

[hdd_docs]
comment = document directory
path = /media/pi/udoc
browseable = yes
writable = yes
create mask = 0777
direcory mask = 0777
valid users = pi

启动(重启) samba 服务

sudo systemctl restart smbd

查询 samba 的状态:

sudo systemctl status smbd
Samba登录密码错误

Samba登录密码错误

在Pi上运行了Samba服务器,并创建了相应的samba用户和密码,但是从windows 7登录该samba服务器时,总是提示“用户名或者密码错误”。

可以肯定的是:用户名和密码都绝对没有错误!毕竟手写以及重新设置了无数遍,完全可以确认。

那问题出在哪里呢? 在网上搜索了一下,发现是windows 7的本地安全管理策略与samba配合有些问题,如下图所示:

修改windows本地安全策略

依次点击:控制面板 – 管理工具 – 本地安全策略 – 本地策略 – 安全选项,然后修改右侧的“网络安全 – LAN 管理器身份验证级别”项。

默认设置是“发送LM和NTLM,如果已协商,则使用NTLMv2会话安全”,需要修改为“仅发送NTLMv2响应,拒绝LM和NTLM”。

Ubuntu系统下配置Samba

Ubuntu系统下配置Samba

缺省情况下,Ubuntu没有安装Samba(我指的是Ubuntu的桌面版,不清楚服务器版是否缺省安装了Samba),因此首先就是要安装Samba。 然后,配置samba进行linux与windows的互相共享操作。

1、安装Samba

有两种方式:

(1)从Samba的软件中心搜索Samba,然后安装Smbfs以及Samba两个软件包。

(2)从命令行安装。键入以下命令即可:

sudo apt-get install samba
sudo apt-get install smbfs

2、配置Samba,使Windows能访问Linux

首先添加一个samba用户,例如:smbpasswd -a yxh

修改/etc/samba/smb.conf文件,基本上修改量不大。

[homes]  <–去掉原有的注释即可。
comment = Home Directories
browseable = yes
create mask = 0777
directory mask = 0777  <– 没有这两项,就无法进行写入和删除操作。
valid users = %S
write list  = %S

3、访问Windows文件

这个就比较简单了,直接用mount命令就可以了:

sudo mount //192.168.1.103/win_files /home/yxh/win_files/ -o username=yxh

其中,’yxh’是windows环境的用户名,”//192.168.1.103/win_files”是windows环境的共享目录。”/home/yxh/win_files/”是linux环境的目录,用于映射上述windows共享目录。

命令成功后,直接访问/home/yxh/win_files即可。

4、疑问

在Fedora系统中修改了smb.conf后,需要使用命令“service smbd restart”才能使配置起作用。而Ubuntu环境中,似乎修改后就自动应用了。难道Ubuntu是每次访问操作时,都会去读smb.conf?还是监视了smb.conf文件,发现一旦更改就自动重启samba?