启动服务:
systemctl start smb
service smb start
SAMBA 的功能:
共享文件和打印,实现在线编辑
实现登录SAMBA 用户的身份认证
可以进行NetBIOS 名称解析
外围设备共享
相关包:
Samba 提供smb 服务
Samba-client 客户端 软件
samba-common 通用软件
cifs-utils smb 客户端 工具
samba-winbind 和 和AD 相关
相关服务进程:
smbd 提供smb (cifs务 )服务 TCP:139,445
nmbd NetBIOS 名称解析 UDP:137,138
主配置文件:/etc/samba/smb.conf
帮助参看:man smb.conf
语法检查 例: testparm -v /etc/samba/smb.conf
宏定义:
%m 客户端主机的NetBIOS名 %M 客户端主机的FQDN
%H 当前用户家目录路径 %U当前用户用户名
%g 当前用户所属组 %h samba服务器的主机名
%L samba 服务器的NetBIOS名 %I 客户端主机的IP
%T 当前日期和时间 %S可登录的用户名
简单的samba命令:
添加samba 用户
smbpasswd -a <user>
pdbedit -a -u <user>
修改用户密码
smbpasswd <user>
删除 用户和密码 :
smbpasswd –x <user>
pdbedit –x –u <user>
查看samba 用户列表 :
/var/lib/samba/private/passdb.tdb
pdbedit –L –v
查看samba 服务器状态
smbstatus
简单的创建用户,并用windows连接samba:
先启服务
在centos6中创建用户这里创建了nologin类型的用户
useradd -s /sbin/nologin smb1
用smbpasswd 命令添加为samba服务的用户,跟centos没有关联 : smbpasswd -a smb1 #并设置密码
这样就完了!!!!!!!完了!!!!!登陆就行了,可以用win键+R来运行这个,并输入\\加刚才开启服务的ip地址回车登录账号密码,好的成功!
这时候有个问题,若服务器有两个samba账号但是第二次用windows登陆却不用输密码直接登录!怎么才能使用另外的账号登录呢,这就需要清除windows的缓存了
net use 查看连接
net use \\172.17.66.166\IPC$ /del 用该命令清除
之后再登陆一次可以再次输入账号密码!
centos系统中连接命令需要安装samba-client这个包
连接命令:smbclient //172.17.66.166/smb1 -U smb1
输入密码就行了
·/etc/samba/smb.conf 设置:
hosts allow = x.x.x.x #允许哪些主机可以访问我
log file = /var/log/samba/log.%I #%I表示来访者的IP地址若没有log level 这个等级设定则不记录日志,来访时只生成文件没内容。
重新创建一个共享目录:
共享目录名[smbshare1]搜索可看到,实际目录名/app/share1则看不到,两者毫不相关!
comment #描述信息
read only = NO #默认只读,想要读写则添加此行(writable=yes功能跟read only = No一样)
·public = yes #不要账号即能登陆,一般不用
valid users = smb1 smb2 #只允许这两个用户可以登陆,也可以使用linux用户组,前提用户已经加入到samba账号里面用@或+加上组名
invalid users #跟上面意思相反
browsable = No #不可查看(若知道名可以查看也可以登录,查看全部时查看不到,隐藏文件)
write list = smb1 #不设置写权限,则在此设置的用户具有写权限(例如1,2,3用户valid user =1 ,2则3不能登陆,write list = 1 则2可以登陆不能写,1能登陆能写)
testparm 命令来测试文件内容
mount 挂载
mount -o username=smb1 //192.x.x.x/smb1 /mnt/smb1
·写到fstab内:账号密码可以写文件内fstab任何人可读不安全
文件格式文件名随意指定,但是两边要对应账号密码存放文件权限可设置为400(仅自己可读)
多用户挂载:添加multiuser(在fstab文件内default列加上multiuser)选项多用户挂载
在上面的例子中1,2,3用户访问权限不一样的前提下
#在存放账号密码的文件内使用3用户登录(权限最小的),服务器客户端都要存在这三个系统账号,在客户端切换到1(su - 1),本身是用3挂载权限最小,但是执行此命令(切换用户在1上执行cifscreds add -u 1 192.168.x.x )代表使用1登录samba,拿到读和写的权限。
用户不同查看到的文件夹不同: (相当于一个用户一个配置文件的感觉)
在全局[global]下添加:
config file = /etc/samba/conf.d/%U( %U 跟用户同名的文件)
vim /etc/samba/conf.d/smb1
想使用几个用户创建几个文件(跟用户对应),文件内定义不同的路径和权限,客户端登录则显示不同的内容拥有不同的权限。
本文出自 “mlon客” 博客,请务必保留此出处http://13154101.blog.51cto.com/13144101/1977205
原文:http://13154101.blog.51cto.com/13144101/1977205