samba
一、什么是samba
SAMBA用于解决多系统之间的文件共享工作:
Samba是一套让UNIX系统能够应用Microsoft网络通讯协议的软件。
它使执行UNIX系统的机器能与执行Windows系统的电脑分享驱动与打印机。
Samba属于GNU Public License (简称GPL)的软件;因此,你可以合法且免费地使用它。
二、Samba 的主要功能如下:
- 提供Windows NT风格的文件和打印机共享 Windows 95、Windows 98、Windows NT等以
据此共享UNIX等其他操作系统的资源,外表看起来和共享NT的资源没有区别。 - 解析NetBIOS名字IP 在Windows网络中,为了能够利用网上资源,同时自己的资源也能被
别人所利用; 各个主机都定期地向网上广播自己的身份信息。而负责收集这些信息,为别
的主机;提供检索情报的服务器就被称为浏览服务器.Samba可以有效地完成这项功能在
跨越网关的时候Samba还可以作WINS服务器使用。 - 提供SMB客户功能 利用Samba提供的smbclint程序可以从UNIX下以类似于 FTP的方式访
问Windows的资源。 - 备份PC上的资源 利用一个叫smbtar的shell 脚本,可以使用 tar 格式备份和恢复一台
远程 Windows上的共享文件。 - 提供一个命令行工具,在其上可以有限
三、Linux安装samba(Centos)
- yum安装:
yum install -y samba
- 配置文件路径
vim /etc/samba/smb.conf
内容如下:
[global]
workgroup = SAMBA #工作组名称
security = user #安全验证的方式,总共有4种
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 #定义是否可以自行写入操作,与writable相反
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
- 建立samba账户:
[[email protected] log]# pdbedit -a -u zhaoyujie
new password:
retype new password:
Unix username: zhaoyujie
NT username:
Account Flags: [U ]
User SID: S-1-5-21-3221912060-1364506397-2513977622-1000
Primary Group SID: S-1-5-21-3221912060-1364506397-2513977622-513
Full Name:
Home Directory: \\zyj-01\zhaoyujie
HomeDir Drive:
Logon Script:
Profile Path: \\zyj-01\zhaoyujie\profile
Domain: ZYJ-01
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 三, 06 2月 2036 23:06:39 CST
Kickoff time: 三, 06 2月 2036 23:06:39 CST
Password last set: 一, 26 11月 2018 20:34:51 CST
Password can change: 一, 26 11月 2018 20:34:51 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- 命令
pdbedit
的常用选项
参数 | 作用 |
---|---|
-a 用户名 | 建立samba用户 |
-x 用户名 | 删除samba账户 |
-L | 列出账户信息 |
-Lv | 列出账户详细信息 |
- 创建用于共享的目录
mkdir /tmp/samba
chown -R zhaoyujie.zhaoyujie /tmp/samba
- 修改samba配置文件,内容如下:
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[database]
comment = Do not arbitrarily modify the database file
path = /tmp/samba #指定共享路径
public = no
writable = yes
- 关闭iptables防火墙和selinux
- 在windows端输入服务器IP
\\192.168.157.130
输入之前创建的用户名和密码即可访问
- 在windows端创建文件
- 在linux 服务端查看,创建成功:
[[email protected] samba]# ll
总用量 0
-rwxr--r-- 1 zhaoyujie zhaoyujie 0 11月 26 20:52 test.txt
四、在linux端访问samba
- yum安装访问samba服务的软件包
yum install cifs-utils
- 创建用于挂载samba的目录:
mkdir /samba
- 命令行挂载samba:
mount.cifs -o user=zhaoyujie,pass='zhaoyujie.123' //192.168.157.128/database/samba
- 写入/etc/fstab文件中,开机自动挂载
- 创建认证文件,并修改权限:
vim auth.smb
内容如下:
username=zhaoyujie
password=zhaoyujie.123
domain=SAMBA
chmod 600 auth.smb
- 写入/etc/fstab文件中
格式为://服务端IP/服务端定义的名称(不是路径) /挂载目录 cifs credentiale=认证文件路径
//192.168.157.128/database /mnt cifs credentials=/root/auth.smb 0 0
- 挂载服务:
mount -a
- 多用户挂载samba参考:http://blog.51cto.com/13735155/2134423