Samba服务器搭建了下的步骤如下:
它是实现Linux和Windows之间的文件共享;smbd负责服务器共享文件,客户端权限认证
1.服务安装
yum –y install samba
2.主配置文件是/etc/samba/sam.conf(testparm测试samba配置语法 有没有问题)
interfaces = lo eth0 192.168.1.177/24 192.168.2.178/24 给哪个网段提供samba服务,注释掉就是给所有用户提供访问
hosts allow = 127. 192.168.1. 192.168.2. 允许哪个网段访问服务器
log file = /var/log/samba/%m.log 每个客户端的日志,%m对应客户端的ip
security = user安全级别实名用户登录,服务器端要有对应账户,share是匿名用户登录
passdb backend = tdbsam 账户和密码存放的数据库
[homes]
comment = Home Directories
browseable = no
writable = yes
; valid users = %S #登录上来的用户名,登录上来就共享用户的家目录
; valid users = MYDOMAIN\%S
[test]
comment = 共享目录的注释
path = /tmp #指定共享路径
writable = yes #允许客户端写权限,能不能写还要看目录的权限
path = /public #共享的文件系统上的目录
comment = test #对这个共享的描述
public = yes/no #是否允许匿名访问
guest ok = yes/no #同上是否允许匿名访问
writable = yes/no #是否允许访问(匿名和实名)者可写。当值为no时,匿名用户不能写,可写的用户可以用write list定义
write list = username #+groupname或@groupname承上,上面如果拒绝写,该字段定义可写的用户和用户组
browseable = yes/no #共享名称是否可以被浏览到
read only = yes/no #是否可读
read list = username #+groupname或@groupname
valid users = 允许访问该共享的用户
invalid users = 不允许访问该共享的用户或者组
重启服务/etc/init.d/smb restart (service smb restart)
查看服务有没有开启:netstat -tlunp
PS:登陆需要前先添加samba账户(和系统密码不同)
要添加的samba账户必须要存在与/etc/passwd文件中
命令:pdbedit -L 查看数据库中账户信息(查看添加到samba的用户列表)
pdbedit
-a 添加用户
-r 修改用户信息
-x 删除账户
-u username 指定要操作的用户名
例:pdbedit –a -u tom
修改samba账号密码
smbpasswd username
?共享资源只对某个用户可见
环境设置:
1、当前的安全级别即 security字段定义为user
2、将browseable = yes 改为no,意思不让所有人看到这个共享资源名称
处理过程:
1、首先在配置文件中找到那个特殊的共享资源
2、然后编辑配置文件,在全局添加:
config file = /etc/samba/smb.conf.%U -->保存退出,给某个用户单独设置一个配置文件
保存配置文件并退出
3、为该特殊用户添加相应的配置文件
cd /etc/samba
cp smb.conf smb.conf.tom
4、编辑该配置文件
vim smb.conf.tom
browseable = no 改为yes
5、客户端验证即可
smb.conf内常见变量功能
%S 取代当前共享的名称
%u 代表用户名称
%U 代表当前登陆用户的用户名称
**让用户修改samba密码的同时修改用户自己的用户密码,只需要一个密码
全局配置下面加下面三行
[global]
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
只能用户自己修改,root修改的密码不行
环境: 系统和samba都拥有Centos这个账户
Centos的系统密码是123;它的samba账户的密码是1234
实验目的:验证用户修改自己的samba账户密码的同时修改其系统的账户密码
实验过程:将上述三项加入到samba配置文件的global设置中
重启samba服务
从终端su到centos用户家目录(模拟centos登陆到系统)
执行命令smbpasswd【回车】
输入之前该账户的samba密码,即1234
输入两次该账户的新密码
系统提示修改密码成功----此密码即为该用户的samba和系统登陆密码
3. windows登录samba服务器
\\192.168.1.254 前面是反斜杠
重新登录的话需要前清缓存:cmd下输入:net use * /del清楚远程连接的缓存
稍微等一会再重新登录
4. linux登录samba服务器
yum search samba查询包
先安装rpm –ivh samba-client和samba-common这两个包
UNIX-like客户端查看共享
smbclient -L serverip/hostname [-U username%passwd]( –u指定用户登录)
挂载到本地:mount //192.168.1.254/test /mnt
例:smbclient –L //192.168.1.254
mount //192.168.1.254/test /mnt
unix-like客户端访问共享之mount.cifs
[root@localhost ~]# mount //192.168.1.92/tom /mnt -o username=tom
Password:
实名用户查看共享资源:
smbclient –L //192.168.1.254 -U tom%1 %后面跟的是用户的密码,最好不加密码,直接跟用户名