搭建Samba文件服务器


前言

很早以前就有在宿舍放一台服务器的想法,不过由于各种原因一直没能得到合适的机器。最近注意到原定作为主力机使用的钛钽已经很久没用来干正事了,于是在插在机器上的二代16G傲腾上装上了Ubuntu Server以进行一些测试,其中一部分是搭建一个测试用的Samba文件服务器

创建磁盘镜像文件

因为傲腾的空间有限,这里使用一个大小为4GB的镜像文件作为Samba的共享目录

使用以下命令来创建一个4GB大小的空文件

# dd if=/dev/zero of=fileswap.img bs=4M count=1024

在其上建立ext4文件系统

# mkfs.ext4 fileswap.img

随后挂载该文件

$ sudo mkdir /mnt/fileswap
$ sudo mount /root/fileswap.img /mnt/fileswap

/etc/fstab中添加如下一行以在开机时自动挂载

/root/fileswap.img /mnt/fileswap ext4 defaults 0 0

创建用于Samba的用户

创建一个用户以供登录到Samba时使用,因为之后并不需要在终端中登录该用户,所以将其登录终端设为nologin

$ sudo adduser --home /mnt/fileswap --shell /sbin/nologin fileswap
$ sudo chown -R fileswap /mnt/fileswap

配置Samba

/etc/samba/smb.conf[homes]一节修改为如下形式

[homes]
   comment = Home Directories
   browseable = no
   read only = no
   create mask = 0775
   directory mask = 0775
   valid users = %S

保存退出,重启nmbd服务

$ sudo systemctl restart nmbd.service

将之前创建的用户添加为samba用户,并为其设定密码

$ sudo pdbedit -a fileswap

修改防火墙设置

最后在ufw中向局域网开放samba使用的端口

$ sudo ufw allow proto tcp from 192.168.1.0/24 to 0.0.0.0 port 137,138
$ sudo ufw allow proto udp from 192.168.1.0/24 to 0.0.0.0 port 139,445

至此已可在同一局域网下的Windows PC上使用\\<Server IP>\fileswap访问/mnt/fileswap目录的内容

本站所有文章均采用CC BY-NC-SA 3.0协议进行授权


『嘆く祈りこそ人の業』