一 samba初步了解(2台服务器,服务端 客户端)
1. 什么是samba
Samba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到。
是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
二 安装配置samba 服务端
yum install -y samba samba-client
vi /etc/samba/smb.conf
[global]部分
MYGROUP 改为WORKGROUP (windows默认的工作组名字,修改成相同名字即在一个工作组)。
max log size = 50 把日志做切割,最大50M
security = share 这里指定samba的安全等级。share=用户不需要账户及密码即可登录samba服务器,user,需要输入用户密码
homes,printers两段开头的全部注释掉
末尾处加入:
[share]
comment = share all
path = /tmp/samba 共享目录
browseable = yes 是否可浏览
public = yes 所有的人
writable = no 不可写
/etc/init.d/smb start 开启smb
ps aux |grep smb 查看进程
mkdir /tmp/samba 创建对应目录
chmod 777 /tmp/samba 修改权限
windows 访问samba 运行输入 \\192.168.239.136\share (快捷运行是windows+r)
不能访问时检测 防火墙和selinux和windows本身的防火墙(没有创建、tmp/samba 也会出现不能访问)
netstat -lnp 查看监听端口
iptables -nvl 查看防火墙规则
getenforce 查看selinux状态
三 Linux访问samba共享文件
安装客户端软件 yum install -y samba-client
smbclient //192.168.239.136/share 不需要输入密码直接回车即可,输入?,可看到能使用的命令
mount挂载samba目录:mount -t cifs //192.168.239.136/share /mnt
如果缺少cifs,yum list |grep cifs 查找出缺少的包安装
再执行挂载,df -h 可查看挂载
实验samba可写
vi /etc/samba/smb.conf 编辑配置文件
writable= no,修改成yes 修改为可写
/etc/init.d/smb restart 重启
四 用户认证方式访问samba(需要帐号密码,服务端)
vi /etc/samba/smb.conf
security = share修改为 user
passdb backend = tdbsam 用户的密码存放形式是tdbsam
最后还需加入:注释掉之前加入的。
[myshare]
comment = share for users
path = /samba 目录修改另一个
browseable = yes 是否可浏览
writable = yes 是否可写
public = no 是否公开
创建目录:mkdir /samba
修改权限:chmod 777 /samba
创建系统账号:
useradd user1
useradd user2
添加user1/user2为samba账户:
pdbedit -a user1
pdbedit -a user2
列出samba所有账号: pdbedit –L
重启服务 service smb restart
smbclient -Uuser1 //192.168.239.136/myshare 登录
windows登录访问 \\192.168.239.136/myshare
五 Linux访问samba共享文件
安装客户端软件 yum install -y samba-client
命令格式:smbclient //IP/共享名 -U 用户名
如:smbclient //127.0.0.1/share 如果是匿名访问可以省略掉-U
mount挂载samba目录:mount -t cifs //192.168.0.22/myshare /mnt -o username=user1,password=123456
samba配置文件
smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用此密码访问Samba资源。smbpasswd在/etc/samba中,需要手工创建该文件。
cat /etc/passwd | mksmbpasswd.sh >/etc/samba/smbpasswd
tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。passdb.tdb用户数据库可使用 smbpasswd -a 创建Samba用户,要创建的Samba用户必须先是系统用户。也可使用pdbedit创建Samba账户。(注意,使用smbpasswd -a username 这个同样也是tdbsam,并非上面的那种)
pdbedit参数很多,列出几个主要的:
pdbedit -a username:新建Samba账户。
pdbedit -x username:删除Samba账户。
pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件。
pdbedit -Lv:列出Samba用户列表详细信息。
pdbedit -c “[D]” -u username:暂停该Samba用户账号。
pdbedit -c “[]” -u username:恢复该Samba用户账号。
ldapsam:基于LDAP账户管理方式验证用户。首先要建立LDAP服务,设置 “passdb backend = ldapsam:ldap://LDAP Server”
阅读本文中有任何错误以及不明白之处,请留言,楼主会及时处理,或者联系QQ:363138642,备注添加原因,谢谢!!!!!
转载于:https://blog.51cto.com/zhangxiaoxiong/1785066