安装samba

sudo apt install samba

可以验证一下安装结果:

smbd --version

创建samba用户密码

创建samba用户(可选):

sudo adduser --system --no-create-home samba

上面的命令创建一个名为samba的系统用户,不需要创建该用户的home目录。

用户名可以根据需要修改,不一定要用samba这个名称。

这个用户是登陆samba服务器的用户,这个步骤是可选的,因为可以使用系统已经存在的用户登陆samba服务器。

设置samba服务器登陆的密码:

sudo smbpasswd -a samba

以上命令用来创建一个samba用户用来连接samba服务器的密码,这个密码跟登陆shell的密码是相互独立。

这个samba用户名称要是系统中已经存在的,如果不存在,用上面的adduser命令创建一个。

后续可以使用该用户(samba)及该密码连接samba服务器。

配置samba共享目录

编辑samba的配置文件:/etc/samba/smb.conf

sudo vi /etc/samba/smb.conf

 在文件末尾增加以下共享目录配置(文件中的其他配置可保持默认):

[Share]
   comment = Ubuntu Share Contents
   path = /
   browseable = yes
   read only = no
   writable = yes
   guest ok = no
   public = no
   create mask = 0666
   directory mask = 0777

例子中指定的共享目录的路径(path字段)是根目录,也可以(推荐)指定更具体的子目录。

共享文件夹的名称是Share(即[Share]定义的部分)。

samba用户要有共享目录路径(path字段)的访问权限(rwx)才可以访问该目录。如果没有权限,可以给samba用户配置权限。

例如,给用户samba配置/mnt/HOST目录的rwx权限:

sudo setfacl -R -m "u:samba:rwx" /mnt/HOST/

保存之后重启samba服务器:

sudo systemctl restart smbd

连接samba服务器

以上配置好之后,就可以远程访问samba服务器了。

在Linux系统下,可以使用文件管理器打开共享目录,在路径栏输入(其中192.168.2.104是samba服务器的ip地址):

smb://192.168.2.104/

就可以看到samba共享目录Share了。可以使用前面创建的samba用户和密码打开共享目录。

也可以使用命令行加载共享目录:

sudo mount -t cifs //192.168.2.104/Share /mnt/ -o username=samba

在Windows下可以在资源管理器地址栏输入samb服务器的ip地址:

//192.168.2.104/