一个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上的共享目录