一个Samba服务器要么经典模式访问(用户名+密码),要么友好访问(guest),只可选其一。
㈠准备工作:
1>清除客户端windows系统的上次访问自动记录
CMD下运行:net use * /delete /y
2>关闭selinux功能
A 不需要重启Linux:
# setenforce 0 ///1则是启用
B 永久关闭则需要修改文档并重启Linux:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled
也可以不关闭selinux,则执行如下命令:
# chcon -R -t samba_share_t /tmp/sharefile // /samba_share_t是需要修改的上下文类型参数
#restorecon -R /tmp/sharefile ///恢复上下文不让共享用户查看
3>关闭防火墙
#service iptables stop
Samba 有两个服务器,一个是smb,另一个是nmb;
smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问。
而nmb是解析用的,解析了什么呢?就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来
㈡范例:设置匿名可读可写文件夹
//修改为匿名自动登录访问模式
[test]
path = /opt/test
//注意写后门没有e字母
browseable = yes
guest ok = yes
hosts allow =192.168.0. ///(注意“点”)运行此网段主机访问该目录
无需使用chown、chmod修改文件夹权限
㈢范例:用户登录经典模式
security = user
[temp]
comment = temp dir
path = /tmp/temp
writable = yes
//允许kekuk登录用户可读可写
#adduser -g kekuk -G kekuk -d /opt/linuxsir/sir03 -s /sbin/nologin kekuk
#smbpasswd -a kekuk ///创建通过smb协议使用kekuk用户登录
#vi /etc/samba/smbusers ///检查smbusers文件中linux系统用户与samba用户映射关联性
#testparm ///检查“/etc/samba/smb.conf”配置正确性
#service smb restart
㈣linux系统挂载网络共享目录方法
mount 挂载smbfs的用法三选一
#mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l //ip地址/共享文件夹名 挂载点
#mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l //计算机名/共享文件夹名 挂载点
#mount -t smbfs -o codepage=cp936 //ip地址或计算机名/共享文件夹名 挂载点
smbmount的用法:
#smbmount -o username=用户名,password=密码 , -l //ip地址或计算机名/共享文件夹名 挂载点
#smbmount //ip地址或计算机名/共享文件夹名 挂载点
例子:
1.首先在windows上共享一个目录,如:共享了目录share,用户和密码都是:massky
2.在linux机器上,在/mnt目录下建立一个ml45目录,使用root用户,执行下面命令:
mount -t smbfs -o username=massky,password=massky //192.168.0.8/share /mnt/ml45
这是你就可以在/mnt/ml45看到了windows上共享的数据了,现在我做第三步
3.用root用户,编辑 vi /etc/fstab, 在最后面加入:
//192.168.0.8/share /mnt/ml45 smbfs defaults,auto,username=massky,password=massky 0 0
这样linux机器重新启动都可以自动挂载windows上的共享目录