一、samba服务器的安装和使用:
1.在系统上安装samba
[root@linuxprobe ~ ]# yum install samba
2.配置samba
[root@linuxprobe ~]# vim /etc/samba/smb.conf
samba的配置项说明:
[global] #全局参数。
workgroup = MYGROUP #工作组名称。
server string = Samba Server Version %v #服务器介绍信息,参数%v为显示SMB版本号。
log file = /var/log/samba/log.%m #定义日志文件存放位置与名称,参数%m为来访的主机名。
max log size = 50 #定义日志文件最大容量为50Kb。
security = user #安全验证的方式,总共有4种。
#share:来访主机无需验证口令,更加方便,但安全性很差。
#user:需由SMB服务验证来访主机提供的口令后才可建立访问,更加的安全。
#server:使用独立的远程主机验证来访主机提供的口令(集中管理帐号)。
#domain:使用PDC来完成验证
passdb backend = tdbsam #定义用户后台的类型,共有3种。
#smbpasswd:使用SMB服务的smbpasswd命令给系统用户设置SMB密码。
#tdbsam:创建数据库文件并使用pdbedit建立SMB独立的用户。
#ldapsam:基于LDAP服务进行帐户验证。
load printers = yes #设置是否当Samba服务启动时共享打印机设备。
cups options = raw #打印机的选项
[homes] #共享参数
comment = Home Directories #描述信息
browseable = no #指定共享是否在“网上邻居”中可见。
writable = yes #定义是否可写入操作,与"read only"相反。
[printers] #打印机共享参数
comment = All Printers
path = /var/spool/samba #共享文件的实际路径(重要)。
browseable = no
guest ok = no #是否所有人可见,等同于"public"参数。
writable = no
printable = yes
在配置文件最后配置个人的共享资源(根据实际情况来配置):
[linuxprobe] 共享名称为linuxprobe
comment = Do not arbitrarily modify the database file 警告用户不要随意修改数据库
path = /home/database 共享文件夹在/home/database
public = no 关闭所有人可见
browseable = yes 该目录可以浏览
writable = yes 允许写入操作
3.配置登录samba登录的用户(Samba服务的数据库要求帐号必须是当前系统中已经存在的用户)
pdbedit命令用于管理SMB服务的帐户信息数据库,格式为:“pdbedit [选项] 帐户”,第一次把用户信息写入到数据库时需要使用-a参数,以后修改用户密码、删除用户等等操作就不再需要了:
参数 作用
-a 用户名 建立Samba用户
-x 用户名 删除Samba用户
-L 列出用户列表
-Lv 列出用户详细信息的列表
useradd sambauser //添加一个用户
[root@linuxprobe ~]# pdbedit -a -u sambauser 初始化用户的密码
[root@linuxprobe ~]# mkdir /home/database //创建共享目录
[root@linuxprobe ~]# chown -Rf sambauser:samba /home/database //修改共享文件的权限
4.重启samba服务和设置开机启动,如果需要,请在防火墙上放开限制
[root@linuxprobe ~]# systemctl restart smb
[root@linuxprobe ~]# systemctl enable smb
5.完成后可在win系统上验证共享是否成功了
在文件浏览栏上,输入路径 \\ip 来访问共享
二、linux上挂载samba共享:
1.[root@linuxprobe ~]# yum install cifs-utils //安装必要组件
2.在Linux系统客户端上面依次按照Samba服务用户名、密码、共享域的顺序写入到一个认证文件中,
并为了保证不被其他人随意看到,最后再把其权限修改为仅root超级用户才能够读写:
[root@linuxprobe ~]# vim auth.smb
username=xxx
password=xxx
domain=xxx
[root@linuxprobe ~]# chmod -Rf 600 auth.smb
3.完成上述步骤后就可以在客户端上面创建一个用于挂载Samba服务共享资源的目录文件,
并把挂载信息写入到/etc/fstab文件中,这样保证远程共享挂载信息在服务器重启后依然生效:
[root@linuxprobe ~]# mkdir /database
[root@linuxprobe ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed May 4 19:26:23 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 1 1
UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot xfs defaults 1 2
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/cdrom /media/cdrom iso9660 defaults 0 0
//192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0
[root@linuxprobe ~]# mount -a
4.客户端成功挂载Samba远程共享资源,进入到挂载目录中后就可以看到刚刚Windows系统访问Samba服务共享留下来的文件了