samba 共享服务器 安装 配置
一,什么是samba
samba是一个工具套件,在Unix上实现SMB(Server Message Block)协议,或者称之为NETBIOS/LanManager协议。SMB协议通常是被windows系列用来实现磁盘和打印机共享。
简单的说,samba可以搭建一个共享服务器,windows用户可以共享linux的文件。
二,安装配置samba
1,安装
yum install samba system-config-samba samba-client samba-common
如果找不到包,请换epel源,我博客里面搜一下就行了。
2,配置
[root@samba etc]# mv /etc/samba/smb.conf /etc/samba/smb.conf_bak //备份 [root@samba etc]# vim /etc/samba/smb.conf //添加以下内容 [global] workgroup = SMBGROUP netbios name=samba server string = Samba Server client code page=950 log file = /var/log/samba/%m.log max disk size =1000 max open file =100 security = share encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd [homes] comment = Private Directories browseable = no writable = yes valid users = %S create mode = 0755 directory mode = 0755 [public] comment = Public path = /var/www/public create mode = 0777 directory mode = 0777 public = yes writable = yes
参数说明:
[global]参数说明
1,workgroup 这是设置服务器所要加入的工作组的名称
2,netbios name 主机名,代替IP用,例如\\192.168.1.108\public可以换成\\smb-server\public
3,server string 这是设置服务器主机的说明信息
4,client code page 设置客户端访问Samba 服务器时所使用的字符编码表,950支持中文
5,log file 这一选项要求Samba服务器为每一个连接的机器使用一个单独的日志文件
6,max log size 指定日志文件的最大容量(以KB为单位),设置为0,表示没有限制。默认值为5000
7,max disk size 设置能够共享的最大磁盘空间,单位为MB,默认值为0,表示不作任何限制。
8,max open file 设置同一客户端最多能打开文件的数目,默认值为10000个。
9,security 设置Samba服务器的安全等级。默认情况下,使用user等级。
#Samba服务器一共有四种安全等级。
share: 使用此等级,用户不需要帐号及密码可以登陆Samba服务器。
user: 使用此等级,由提供服务的Samba服务器检查用户帐号及密码。
server: 使用此等级,检查帐号及密码的工作可指定另一台Samba服务器负责。
domain: 使用此等级,需要指定一台Windows NT/2000/XP服务器(通常为域控制器),以验证用户输入的帐号及密码。
10,encrypt passwords 是否采取密码加密的方式
11,smb passwd file 设置在Samba服务器上存放加密的密码文件的位置
[public],[homes]共享目录参数说明
1,comment 针对共享资源所作的说明、注释部分
2,browseable 设置用户是否可以看到此共享资源,默认值为yes
3,writable 设置共享的资源是否可以写入
4,create mode 设置文件的访问权限,默认值为0744。
5,directory mode 设置目录的访问权限,默认值为0755。
6,path 若共享资源是目录,则指定目录的位置;若为打印机,则指定打印机队列的位置。
7,read only 设置共享资源是否只读或可以写入,默认值为yes
8,Public 是否允许用户不使用帐号和密码便能访问此资源
9,avalible 设置是否启用此共享资源。默认值为yes。若将此参数设置为no,则不管其他参10,数设置为什么,所有人均不得使用此资源。
11,valid users 可访问的用户局限于用户自己。%S会被自动转换为登录帐号。
三,设置共享目录
[root@samba etc]# mkdir -p /var/www/public [root@samba etc]# chmod -R 777 /var/www/public
[homes]我并没有指定path,可登录的linux用户都有一个自己的根目录。
四,samba密码文件设定,以及用户密码设置
[root@samba etc]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd [root@samba etc]# chmod 500 /etc/samba [root@samba etc]# chmod 600 /etc/samba/smbpasswd [root@samba etc]# smbpasswd -a zhangy
将未加密的/etc/passwd文件转换成加密的smbpasswd文件。基于保密的原则,将/etc/samba目录的权限设为500,该文件的权限设为600,以避免他人取得密码文件。
zhangy这个用户是系统用户,本来有一个linux密码,但是连接samba的时候不能用,所以要用smbpasswd重新设置一下密码。
五,启动samba服务端,客户端连接
[root@samba etc]# /etc/init.d/smb start
客户端连接有【开始】=》【运行】=》【cmd】回车中输入:\\192.168.1.108\public就可以了。如果只输入\\192.168.1.108,这样默认进入个人用户目录需要输入用户和密码。
六,samba共享目录,映射windows盘符
下面用win7的机子,做的映射。security=user的情况下做的,也就是说要密码的。
【计算机】=》右键网络=》【映射网络驱动器(N)...】=》
其后在输入用户名和密码,如果是security=share下面这一步就可以省去。
看一下映射成功后的