如何在Ubuntu 20.04/Debian 11上配置Samba服务器
Samba是开源软件,它使用TCP/IP协议。
基本上,samba是SMB(服务器消息块)和CIFS(公用Internet文件系统)协议的实现。
samba的主要优点是它在Linux和其他操作系统之间提供文件和打印共享服务。
Samba支持的平台:
- Linux
- Windows
- Solaris 2.above
- Aix
- OpenBSD
- SunOS 4 以上
Samba软件包快速查看
- samba
- samba-client
- samba-common
- samba-winbind
安装SAMBA服务器
首先,现在检查APT是否已配置。
检查必要的DEB
# dpkg –q samba
下一步安装必要的软件包
# apt install samba* -y
之后,将安装samba软件包。
SAMBA守护程序:
- nmbd:nmbd守护程序提供NetBIOS(网络基本输入/输出系统)命名服务和浏览支持。一个守护程序,它负责Windows Internet名称服务(WINS)并协助浏览。但是根据samba文档,它应该是第一个启动的守护程序。
- Smbd:它管理文件传输和身份验证。
- Winbind:它开始处理Microsoft Windows域成员身份。
检查状态
# service nmb status nmbd is stopped
# service smb status smbd is stopped
# service winbind status winbind is stopped
配置文件:
其次,主要配置文件是smb.conf,配置文件的路径是/etc/samba/smb.conf。
它分为四个部分:
- global:常规的samba配置参数。
- homes:允许用户访问其主目录。
- printers:用于配置打印机和与共享打印机相关的打印机条目。
- 份额:定义其他可用份额。
SAMBA服务器端
之后,让我们开始在服务器端配置SAMBA服务器。
然后,我们共享/theitroad文件。
因此,首先创建一个/theitroad目录,并在/theitroad目录中创建一些文件。
# mkdir /theitroad # touch /theitroad/file {1..10}
最后,现在我们编辑samba的配置文件,并其中进行一些更改和输入。
# vim /etc/samba/smb.conf
配置SAMBA服务器
现在,我们可以从全局部分更改WORKGROUP。
之后,转到“共享定义”部分。
所以我们首先看到目录共享选项
[theitroad]->将显示的共享名。
comment =访问文件存储-> Network中显示的注释。
path =/theitroad->与共享关联的目录路径。
host allow=地址->指定哪个域可以访问此共享(也可以在全局部分中进行输入)。
host deny = address->指定哪个域无法访问此共享。
valid users=用户名->可以访问共享的用户名。
public =否/是->指定来宾用户是否可以访问此共享。
writable=否/是->指定共享目录是否可写。
Browseable =否/是->指定共享目录是否可见。
因此,让我们从配置开始。
[share] path = /theitroad host allow = 127.192.168.0 host deny = 192.168.0.24 browseable = yes writable = yes valid users = theitroad
使用:wq保存
现在该启动服务了。
# service smb start Starting SMB services: [ OK ]
# systemctl enable smb
我已经有用户拥有theitroad用户名。
如果要添加用户,请按照下列步骤操作。
# useradd theitroad
现在该为用户提供密码了。
# smbpasswd -a theitroad New SMB password : Retype new SMB password :
添加了用户theitroad。
但是由于SELINUX策略,客户端将无法从服务器获得访问权限。
SELINUX是Linux的复杂安全功能。
如果SELINUX在目标模式下配置为“强制”,则会发生这种情况。
我们来谈谈一些布尔值
samba_export_all_ro->启用对任何目录的只读访问。
samba_export_all_rw->启用对任何目录的读写访问。
samba_enable_home_dirs->启用主目录共享。
samba_share_t目录名->启用可以共享的samba。
因此,我们必须启用此策略。
为此,只需做一件事。
# ls -ldZ /theitroad drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /theitroad
因此要启用SELINUX环境,请运行chcon命令更改上下文。
# chcon -R -t samba_share_t /theitroad # ls -ldZ /theitroad drwxr-xr-x. root root unconfined_u:object_r:samba_share_t:s0 /theitroad
在Linux客户端上配置SAMBA
现在,我们准备在客户端使用此共享。
为此,我们必须为Linux客户端安装samba-client软件包。
在那之后
“ smbclient”命令用于连接共享。
语法
smbclient //ipaddr/sharename -U 用户名
# smbclient //192.168.0.2/share -U theitroad Enter theitroad's password: Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.5.4-68.el6] smb: \>
在Windows客户端上检查
右键单击“我的电脑”,然后单击“属性”。
点击更改设置
用工作组名称更改工作组名称。
开始->运行。
它将询问我们用户名和密码,键入并访问文件。
现在我们已经在Ubuntu和Debian上配置了Samba服务器。