文章目录
Samba服务器的搭建
samba
服务器作用:Samba服务器是实现Linux网络与Microsoft网络的资源共享的一个工具。通过SMB协议实现资源共享。
一、实验环境
一台centos7作为服务机
一台Windows7作为客户机
二、实验步骤
2.1服务机centos7 配置Samba服务
2.1.1安装
使用本地源安装
[root@localhost ~]# mount /dev/cdrom /mnt
写保护,将以只读方式挂 载
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 50G 5.0G 46G 10% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 179M 836M 18% /boot
/dev/mapper/centos-home xfs 245G 33M 245G 1% /home
tmpfs tmpfs 378M 4.0K 378M 1% /run/user/42
tmpfs tmpfs 378M 44K 378M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
yum 安装
[root@localhost ~]# yum -y install samba*
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
已安装:
samba.x86_64 0:4.10.4-11.el7_8
samba-dc.x86_64 0:4.10.4-11.el7_8
samba-devel.x86_64 0:4.10.4-11.el7_8
samba-libs.x86_64 0:4.10.4-11.el7_8
samba-python.x86_64 0:4.10.4-11.el7_8
samba-test.x86_64 0:4.10.4-11.el7_8
samba-vfs-glusterfs.x86_64 0:4.10.4-11.el7_8
samba-winbind-clients.x86_64 0:4.10.4-11.el7_8
samba-winbind-modules.x86_64 0:4.10.4-11.el7_8
2.2 Samba配置
2.2.1Samba服务器的配置文件在/etc/samba/文件夹下面
[root@localhost ~]# ll /etc/samba/
总用量 20
-rw-r–r--. 1 root root 20 10月 31 2018 lmhosts
-rw-r–r--. 1 root root 706 10月 31 2018 smb.conf 主配置文件
-rw-r–r--. 1 root root 11327 10月 31 2018 smb.conf.exampl
smb.conf文件主要有两个字段,分别为global和share definitions,global用于定义全局参数,share definitions用于定义用户的共享
将Samba配置文件复制一份以防出错
[root@localhost ~]# cp -p /etc/samba/smb.conf /etc/samba/smb.con.bak
[root@localhost ~]# cd /etc/samba
[root@localhost samba]# ls
lmhosts smb.con.bak smb.conf smb.conf.example
2.2.2共享参数说明
[共享名]
comment = 任意字符串
说明:comment是对该共享的描述,可以是任意字符串。
path = 共享目录路径
说明:path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes] 共享域。例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目录,这样path就可以写成:path = /home/share/%u; 。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以这样写:path = /home/share/%m 。
browseable = yes/no
说明:browseable用来指定该共享是否可以浏览。
writable = yes/no
说明:writable用来指定该共享路径是否可写。
available = yes/no
说明:available用来指定该共享资源是否可用。
admin users = 该共享的管理者
说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
例如:admin users =david,sandy(多个用户中间用逗号隔开)。
valid users = 允许访问该共享的用户
说明:valid users用来指定允许访问该共享资源的用户。
例如:valid users = david,@dave,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示。)
invalid users = 禁止访问该共享的用户
说明:invalid users用来指定不允许访问该共享资源的用户。
例如:invalid users =root,@bob(多个用户或者组中间用逗号隔开。)
write list = 允许写入该共享的用户
说明:write list用来指定可以在该共享下写入文件的用户。
例如:write list = david,@dave
public = yes/no
说明:public用来指定该共享是否允许guest账户访问。
guest ok = yes/no
说明:意义同“public”。
2.2.3[ global ] //设置全局参数.
[global]
workgroup = SAMBA
security = user 将user改为share共享
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
在配置文件末尾添加下列内容
[share]
path = /opt/abc
public = yes
browseable = yes
writable =yes
create mask = 0644
directory mask = 0755
创建/opt/abc 目录 ,创建文件abc.txt,并添加内容“abc"
[root@localhost ~]# cd /opt
[root@localhost opt]# ls
rh wangwu
[root@localhost opt]# mkdir abc
[root@localhost opt]# ls
abc rh wangwu
[root@localhost opt]# cd abc
[root@localhost abc]# echo "abc">abc.txt
[root@localhost abc]# ls
abc.txt
[root@localhost abc]# cat abc.txt
abc
关闭防护墙功能
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# iptables -F
启动smb服务
[root@localhost ~]# systemctl start smb
添加共享账号
[root@localhost ~]# smbpasswd -a lisi
New SMB password:
Retype new SMB password:
Added user lisi.
[root@localhost ~]# systemctl start smb
三、客户机验证(windows)
打开共享文件,看看内容
asswd -a lisi
New SMB password:
Retype new SMB password:
Added user lisi.
[root@localhost ~]# systemctl start smb
## 三、客户机验证(windows)
[外链图片转存中...(img-cQP82lwD-1595216806254)]
打开共享文件,看看内容
