学习的一个小技巧:

    一般安装成熟的服务后,都会有针对该服务的帮助文档和例子,在/etc/share/doc/服务名,里面有针对各种情况的EXAMPLES

 

提示:1、Samba和Vsftp不同,当设置Samba为基于账户、密码的模式后,Samba账户名为系统账户名,密码为Samba密码;而FTP账户为系统账户名,密码为系统密码。   

             所以Samba相对于FTP更安全些。

        2、samba基于NetBIOS协议的,不能跨网段。

        3、验证时,用windows如果需要切换用户,需要清空历史纪录,运行cmd,输入net use * /del (把用过的网络信息清楚掉)

 

Samba:基于 Windows<------>Linux 的服务

主要软件包:

    ---服务端:samba

    ---客户端:samba-client、cifs-utils 

Samba配置构成:

    ---配置目录及主要配置文件:

               /etc/samba

               /etc/samba/smb.conf

                   [global]    #全局设置

                         workgroup = MYGROUP        #定义工作组(无意义,现在没人用了)

                         server string = Samba Server Version       #Samba版本信息

                         hosts allow = 不写就是不限制访问          #限制哪些人可以访问(有模板)

                         security = share 或 user         #基于匿名或账户的共享                      

                   [home]    #定义共享home

                   [adc]       #定义共享abc(目录)      #可共享多目录

                          path = /abc    #共享路径

                          writable = no  #是否可写

                          valid uses = user1,user2,user3  #定义哪些账户可以访问

                          write list = userlist         #允许写入的账户列表

  

    ---配置检查工具,可帮助排错

               testparm  :修改完samba配置文件后,可以使用testparm测试是否有问题

 

 

#设置samba密码需要通过smbpasswd,或pdbedit

1.useradd renjidong

2.smbpasswd -a renjidong   #添加密码

3.smbpasswd -x renjidong   #删除密码

#在/etc/samba/smb.conf文件的末尾,加入更多的[]共享

 

 

 #####################

 Linux作为客户端,访问samba共享

#####################

需要samba-client软件

smbclient -L  服务器地址    #查看对方的共享信息

smbclient   //服务器地址/共享名    #基于匿名

smbclient -U 用户名 //服务器地址/共享名   #基于账户

 

 

如果希望将对方的共享,加载到本地目录:

      mount   //服务器地址名/共享名  挂载点     #基于匿名

      mount  -o username=用户名,password=密码 //服务器地址/共享名 挂载点    #基于账户

 

 

如果windows下登录samba服务器后无法访问linux下共享目录,提示没有权限。

则检查

a、确保linux下防火墙关闭或者是开放共享目录权限

b、确保samba服务器配置文件smb.conf设置没有问题 

c、确保setlinux关闭,可以用setenforce 0命令执行。 默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。       /usr/bin/setenforce 修改SELinux的实时运行模式  

      setenforce 1 设置SELinux 成为enforcing模式

      setenforce 0 设置SELinux 成为permissive模式  

如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数

      /usr/bin/setstatus -v