samba:
启动服务:
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
修改用户密码
smbpasswd
删除 用户和密码
:
smbpasswd –x
pdbedit –x –u
查看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
想使用几个用户创建几个文件(跟用户对应),文件内定义不同的路径和权限,客户端登录则显示不同的内容拥有不同的权限。