目的
目的是配置基本的Samba服务器以共享用户主目录,并提供对所选目录的匿名访问read-write。
还有许多其他的Samba配置,但是本指南的目的是使您入门一些基础知识,这些基础知识可以在以后进行扩展以实现更多功能以满足您的需求。
操作系统和软件版本
- 操作系统:-Ubuntu 18.04仿生海狸
- 软件:-Samba版本4.7.4-Ubuntu或更高版本
要求
需要特权才能访问您的Ubuntu 18.04 Bionic Beaver。
困难
介质
约定
脚本
以下配置过程将假定以下情形和pre-configured要求:
- 服务器和MS Windows客户端位于同一网络上,没有防火墙阻止两者之间的任何通信
- MS Windows客户端可以通过主机名解析samba服务器
ubuntu-samba
- MS Windows客户端的工作组域为
WORKGROUP
说明
安装Samba服务器
让我们从安装Samba服务器开始。这是一项微不足道的任务。一,安装tasksel
如果您的系统尚不可用,请使用命令。一旦准备好使用tasksel
安装Samba服务器。
$ sudo apt install tasksel
$ sudo tasksel install samba-server
组态
我们将以全新的干净配置文件开始,同时我们还将默认配置文件作为备份保留下来,以供参考。执行以下linux命令来复制现有配置文件并创建一个新配置文件:
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
$ sudo bash -c 'grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf'
房屋共享
在本节中,我们将用户主共享目录添加到新目录中/etc/samba/smb.conf
samba配置文件。
Samba拥有自己的用户管理系统。但是,samba用户列表上存在的任何用户也必须存在于/etc/passwd
文件。如果您的系统用户尚不存在,则无法位于/etc/passwd
文件,首先使用创建一个新用户useradd
创建任何新的Samba用户之前,请执行命令。一旦您的新系统用户。 linuxconfig退出,使用smbpasswd
创建新的Samba用户的命令:
$ sudo smbpasswd -a linuxconfig
New SMB password:
Retype new SMB password:
Added user linuxconfig.
接下来,使用您喜欢的文本编辑器来编辑新的/etc/samba/smb.conf
samba配置文件:
$ sudo nano /etc/samba/smb.conf
并添加以下行:
[homes]
comment = Home Directories
browseable = yes
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
创建匿名共享
在本节中,我们将添加一个新的公开可用的read-write Samba共享,匿名/来宾用户可以访问。首先,创建您要共享的目录并更改其访问权限。例:
$ sudo mkdir /var/samba
$ sudo chmod 777 /var/samba/
接下来,使用您喜欢的文本编辑器将以下行添加到Samba配置文件中sudo nano /etc/samba/smb.conf
:
[public]
comment = public anonymous access
path = /var/samba/
browsable =yes
create mask = 0660
directory mask = 0771
writable = yes
guest ok = yes
当前的Samba配置文件应类似于以下文件:
[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
[homes]
comment = Home Directories
browseable = yes
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
[public]
comment = public anonymous access
path = /var/samba/
browsable =yes
create mask = 0660
directory mask = 0771
writable = yes
guest ok = yes
重新启动Samba服务器
基本的Samba服务器配置完成。进行任何更改后,切记始终重启samba服务器/etc/samba/smb.conf
配置文件:
$ sudo systemctl restart smbd
重新启动Samba服务器后,请确认所有共享已正确配置:
$ smbclient -L localhost
WARNING: The "syslog" option is deprecated
Enter WORKGROUP\linuxconfig's password:
Anonymous login successful
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
homes Disk Home Directories
public Disk public anonymous access
IPC$ IPC IPC Service (ubuntu server (Samba, Ubuntu))
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful
Server Comment
--------- -------
Workgroup Master
--------- -------
WORKGROUP UBUNTU
(可选)创建一些测试文件。成功安装Samba共享后,以下文件应可供我们使用:
$ touch /var/samba/public-share
$ touch /home/linuxconfig/home-share
最后,确认您的Samba服务器已启动并正在运行:
$ sudo systemctl status smbd
● smbd.service - Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2018-01-31 19:50:19 AEDT; 1min 12s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 3561 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 5 (limit: 4915)
CGroup: /system.slice/smbd.service
├─3561 /usr/sbin/smbd --foreground --no-process-group
├─3578 /usr/sbin/smbd --foreground --no-process-group
├─3579 /usr/sbin/smbd --foreground --no-process-group
├─3590 /usr/sbin/smbd --foreground --no-process-group
└─3611 /usr/sbin/smbd --foreground --no-process-group
桑巴山股票
在此阶段,我们准备将注意力转向MS Windows。对于每个MS Windows版本,安装网络驱动器目录可能会略有不同。本指南以Samba客户端的身份使用MS Windows 7。
挂载用户主目录
首先,打开你Windows Explorer
然后在right-clickNetwork
然后点击Map network drive...
标签。选择驱动器号,然后键入Samba共享位置。确保你打勾Connect using different credentials
如果您的用户名和密码与之前创建的用户名和密码不同:
输入您的Samba用户名和密码:
现在,您应该对用户的主目录具有read-write访问权限:
Mount Anonymous Samba分享
同样,安装您的匿名/来宾Samba共享。但是这一次将不需要用户名和密码: