Centos7系统
yum -y install samba
rpm -qa |grep samba
systemctl enable smb.service
systemctl enable nmb.service
//启动服务
systemctl start smb.service
//查看启动服务的状态
systemctl status smb.service
//查看防火墙状态
systemctl status firewalld
//关闭防火墙
systemctl stop firewalld.service
//查看防火墙状态
systemctl status firewalld
vim /etc/samba/smb.conf
Samba 4.10.16 security = share已经过时
配置文件详解参考:https://www.cnblogs.com/sharesdk/p/11079264.ht
共享目录为 /home/Linuxdir
[global]
workgroup = myworkgroup
security = user
netbios name = samba server
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
[wbj]
comment = Share Directories
path = /home/Linuxdir
guest ok = yes
read only = no
browseable = yes
public = yes
//测试配置文件是否有错误
testparm
共享目录为 /home/Linuxdir , 在该目录下创建了a.txt,a.txt里随便写了一些文字
每次修改完配置文件后,必须重启samba服务才生效!!!
systemctl restart smb.service
systemctl status smb.service
此账户用于在Windows里访问Samba服务时使用。
useradd 用户名
smbpasswd -a linghua
查看虚拟机的ip地址
if config
比如我的是192.168.10.177
访问Samba服务器
smbclient //192.168.10.177/wbj/
Windows键+r 打开如下界面,将ip地址输入
然后输入第9步所创建的用户名和密码即可访问。
进入后结果如下:
linghua文件夹是我第9步所创建的用户名,在Windows里访问Samba时,就是用此用户名登录的。
[
全局设置部分:
[global]
samba服务器的全局设置,对整个服务器有效。
配置是以key-value的形式。
workgroup
语法:workgtoup = 工作组;
默认:workgroup = MYGROUP
说明:设定 Samba Server 的工作组
例:workgroup = workgroup 和一台Windows设为一个组,可在网上邻居可中看到共享。
server string
语法:server string = 字符串;
默认:sarver string = Samba Server
说明:设定 Samba Server 的注释
其他:支持变量 t%-访问时间 I%-客户端IP m%-客户端主机名 M%-客户端域名 S%-客户端用户名。
例:server string = this is a Samba Server 设定出现在Windows网上邻居的 Samba Server 注释为 this is a Samba Server
hosts allow
语法:hosts allolw =
说明:限制允许连接到 Samba Server 的机器,多个参数以空格隔开。可以还是具体的ip地址 也可以是网段。
例:hosts allow = 192.168.1. 192.168.0.1 表示允许192.168.1 网段的机器,及网址为 192.168.0.1 的机器连接到自己的 samba 服务器。
语法:guest account = <帐户名称>;
说明:设定访问 samba server 的来宾帐户。
例:guest account = test 设定访问 samba server 的来宾帐户以test用户登陆,则此登陆帐户享有test用户的所有权限。
语法:log file = <日志文件>;
默认:log file = /var/log/samba/%m.log
说明:设定 samba server 日志文件的储存位置和文件名(%m代表客户端主机名)
语法:security = <安全等级>;
默认:security = user
说明:设定访问 samba server 的安全级别共有四种:
share—不需要提供用户名和密码。
user----需要提供用户名和密码,而且身份验证由 samba server 负责。
server–需要提供用户名和密码,可指定其他机器(winNT/2000/XP)或另一台 samba server作身份验证。
domain–需要提供用户名和密码,指定winNT/2000/XP域服务器作身份验证。
需要注意,只要输入用户名和密码的级别,其用户名一定首先也是Linux系统内的用户。
语法:password server =
默认:password server = < NT-Server-Name >;
说明:指定某台服务器(包括windows 和 Linux)的密码,作为用户登入时验证的密码。
其他:此项需配合 security = server时,才可设定本参数。
语法:smb passwd file = <密码文件>;
预设:smb passwd file = /etc/samba/smbpasswd
说明:设定samba的密码文件。
共享设置部分可以有很多段,都用[ ]标志开始的。读者根据需求修改。
该部分主要涉及Samba服务器需要共享的资源。
[xxxxxxx] 共享文件名,不需要与实际文件名一致,可以随意起。
comment = 对这个共享分支目录的描述。例如 comment = my first Samba
path = 要共享的目录,必须为绝对路径。例如 path= /root/aaa
public = yes 是否允许所有人都能够看到此目录,no为看不到,yes为看到。
writable = yes 是否允许用户在此目录下可写,如果可写,还需要目录具有写权限。
read only = yes 设置用户是否只读。
vaild users = 用户名 设置只有特定用户是有效用户。
[homes]
comment = Home Directories
writable = yes
valid users=%s 可访问的用户,samba 会自动将%s转换成登录用户。
Create mode=0664 默认的文件权限。
Directory mode=0775 默认的目录权限。
[shareC] 注:设置共享目录时,[ ]里随意写,就是一个标识而已,自己知道是共享那个目录即。
comment = This is sharing directory c (工地英语,注释也随意写,让自己明白这个共享目录是干啥的就行)
path = /a/b/c 指定共享目录。
writable = no 不可写。
[publicShare]
comment = Public Share
path = /mmm/ggg
public = yes
writable = yes
printable = no
[Tony]
comment = This directory is shared for Tony
path = /uuu/ccc/sss
valid users = Tony 可以访问的用户
public = no 其他用户看不到。
writable = yes 注意Tony对这个目录需要实际写访问的权限,即可能需要修改这个目录的权限。
[rose And jack]
comment = This directory is shared for rose and jack
path = /usr/somewhere/shared
valid users = rose jack
public = no
writable = yes
printable = no
create mode = 0765 默认的文件权限; directory 默认的目录权限。
在这个设置中,目录将能被两个用户同时使用。非常明显,能扩展为多个用户的情况。
输入testparm
,然后敲两下回车
在Linux客户端使用命令smbclient。
smbclient -L Samba服务器ip地址
例如:
smbclient -L 192.168.10.177
在windows的客户端。直接使用“开始-运行”输入\IP地址即可
快捷键 :Win+r