dnf install samba samba-common samba-client 或 yum install samba samba-common samba-client
安装samba
咱们还必须确保Windows和Linux系统在同一工做组中。所以,转到Windows PC并启动命令提示符。输入命令:linux
> net config workstationios
从输出中咱们能够清楚地看到工做站域指向' WORKGROUP '。稍后将在Linux机器上对其进行配置。vim
安装了Samba以后,就该进行一些配置了。可是在执行此操做以前,咱们须要备份samba配置文件。所以,运行如下命令:windows
$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
接下来,咱们将建立一个名为shared的共享文件夹,并分配必要的权限和全部权,如图所示。centos
$ sudo mkdir -p /srv/samba/shared
$ sudo chmod -R 0755 /srv/samba/shared
$ sudo chown -R nobody:nobody /srv/samba/shared
如今建立一个新的samba配置文件安全
$ sudo vim /etc/samba/smb.conf
修改如下配置:服务器
[global] #全局配置
workgroup = WORKGROUP #与windows工做组同名
server string = Samba Server %v #samba server 名称及版本
netbios name = centos-8 #在netbios网络上的名称
security = user #验证用户登陆的方式
map to guest = bad user
[home] #共享文件夹配置 window显示 'home'为文件夹名称
path = /srv/samba/shared #centos服务器中共享的文件路径
browsable =yes #yes 能够浏览
writable = yes #能够写入
guest ok = yes #能够匿名登陆
read only = no #只读 停用
保存并关闭配置文件。要验证配置是否正确,请运行testparm命令
接下来,容许Samba穿越防火墙,以便外部用户能够访问samba共享。网络
$ sudo firewall-cmd --add-service=samba --zone=public --permanent $ sudo firewall-cmd --reload
最后,启动并启用Samba和nmb服务spa
$ sudo systemctl start smb $ sudo systemctl enable smb
而后确认smb服务是否正在运行:命令行
$ sudo systemctl status smb
$ sudo systemctl start nmb $ sudo systemctl enable nmb
一样,确认nmb服务是否正在像smb服务同样运行:
$ sudo systemctl status nmb
每一个人均可以访问咱们刚刚建立的文件共享,任何用户均可以建立和删除文件。若是您要共享关键文档,这也将构成挑战,由于它们也能够被覆盖或删除。所以,咱们须要建立一个安全的文件共享来应对这一挑战。
首先,咱们将为samba用户建立一个新组,以下所示:
$ sudo groupadd secure_group
而后咱们将一个新用户添加到新建立的组中
$ sudo useradd -g secure_group linuxuser
接下来,咱们将建立一个新的安全文件夹,而后分配必要的权限和文件全部权,以下所示。
$ sudo mkdir -p /srv/samba/secure_share $ sudo chmod -R 0770 /srv/samba/secure_share $ sudo chcon -t samba_share -p /srv/samba/secure_share $ sudo chown -R root:secure_group /srv/samba/secure_share
接下来,咱们将为samba用户分配一个密码,该密码将在访问安全文件共享时使用。这将提示您提供SMP密码,而后再确认。
$ sudo smbpasswd -a linuxuser
如今让咱们回到Samba的配置文件
$ sudo vim /etc/samba/smb.conf
附加以下所示的配置行:
[secured] path = /srv/samba/secure_share valid users = @secure_group guest ok = no writable = yes browsable = yes
保存并退出,而后从新启动Samba服务
$ sudo systemctl restart samba
要从Linux系统访问共享目录,只需运行如下命令:
$ smbclient --user=linuxuser -L //192.168.43.13
在提示时提供密码,而后按Enter
访问安全共享运行
$ smbclient //192.168.43.13/secured -U linuxuser
随意建立文件和目录以与其余samba用户共享。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
一、检查文件夹及配置文件,是否设置错误,文件夹名是否写错?
二、 检查共享文件列表
smbclient -L //192.168.221.129/
使用pdbedit -L 命令查看用户是否加入samba服务器?
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
若是用windows访问samba,跳出如下对话框的错误:
没法访问。您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。
不容许一个用户使用一个以上用户名与一个服务器或共享资源的多重链接。中断与此服务器或共享资源的全部链接,而后再试一次……或者直接重启Windows。
怎么断开链接(即退出Samba服务器)呢?
在Windows的命令行中输入:
net use * /delete /y
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++linux centos 服务器上文件夹的全部者必须是共享用户名和用户组。不能是rootls -al #查看权限及全部者chown -R jf:jifang /home/samba/shared #更改全部者和用户组