基本的都有,需要使用的拿出来组合


匿名的

Samba共享的服务端软件为samba、客户端软件为samba-client

yum -y install samba samba-client

sed -i '/workgroup/s/MYGROUP/WORKGROUP/' /etc/samba/smb.conf #融入Windows网络的默认工作组WORKGROUP

sed -i '/server string = Samba Server Version %v/s/Samba Server Version %v/samba share/' /etc/samba/smb.conf  #说明行

sed -i '0,/security = user/s/user/share/' /etc/samba/smb.conf  #share(表示可匿名访问)、user(表示需要经过本服务器的用户名及密码验证)、server(表示由另一台服务器来验证用户名及密码)、domain(表示由Windows域控制器来验证用户名及密码)

sed -i '/log file/s/;/ /' /etc/samba/smb.conf  #开启日志 使用Samba服务器的每个客户机的日志分别为保存与客户机同名的“%m.log”文件中,“%m”表示客户端主机的名称。

sed -i '/max log/s/;/ /' /etc/samba/smb.conf  #开启日志大小限制 设置日志文件的最大容量,默认为50.表示KB,该设置项的数值单位是KB

sed -i '0,/passdb backend/s/tdbsam/zongxuan/' /etc/samba/smb.conf  #samba 密码




passdb backend = tdbsam



添加共享  

sed -i '$ a [tools]' /etc/samba/smb.conf         #共享名

sed -i '$ a \\tpath = /usr/src' /etc/samba/smb.conf #本共享对应的实际文件夹的路径

sed -i '$ a \\tcomment = Test Share Direstory.' /etc/samba/smb.conf #关于本共享资源的说明信息

sed -i '$ a \\tpublic = yes' /etc/samba/smb.conf #公开、所有人都可访问

sed -i '$ a \\tbrowseable = yes' /etc/samba/smb.conf #浏览时可见 非隐藏共享以允许Windows网络浏览

sed -i '$ a \\tread only = yes' /etc/samba/smb.conf #默认为只读



测试

testparm


启动服务

service smb start

chkconfig smb on



客户端测试:

Windown:

UNC路径 \\192.168.10.10

Linux:

yum -y install samba-client

smbclient -L 192.168.10.10

smbclient //192.168.10.10/tools

mkdir -p /data/smb

mount //192.168.10.10/tools /data/smb/

[root@ser2 ~]# grep smb /etc/fstab 

//192.168.10.10/tools   /data/smb    cifs   defaults  0  0


//192.168.4.5/tools     /mnt/smbdir     cifs    defaults,username=guest,password=       0 0  #开机自动挂载 

mount -a





带身份验证的


security = user

[tools]

         comment = Tools Public

         path = /usr/src

        public = no

         valid users = nick,hunter

         write list = hunter

         read only = yes

         directory mask = 0755

         create mask = 0644

         


setfacl -m u:hunter:rwx /usr/src/

service smb restart

smbclient -U nick //192.168.10.10/tools

mount -o username=nick //192.168.10.10/tools /data/smb




账户别名

把系统帐户nick设置别名为jack

[root@ser1 ~]# vim /etc/samba/smbusers

# Unix_name = SMB_name1 SMB_name2 ...

root = administrator admin

nobody = guest pcguest smbguest

nick = jack

[root@ser1 ~]# vim /etc/samba/smb.conf 

...

 76         username map = /etc/samba/smbusers

...