安装samba服务器

首先理解以下概念:
  ftp:在内网和公网使用。 服务器端支持:windows,linux 客户端端支持:windows,linux
  samba:只能在内网使用,类似于windows的网络邻居(文件共享服务) 服务器端支持:windows,linux 客户端端支持:windows(linux)   
端口
  smbd: 为clinet提高资源访问 tcp 139 445
  nmbd:提供netbios主机名解析的 upd 137 138
  
  注:NMB(NetBIOS Message Block)
  可以通过主机名代替IP地址来访问局域网里的主机。
  smb是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问
   nmb是解析用的,就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来

安装开始==============

这里用的是centos6.0

1.首先需要准备这几个安装包:

samba-3.5.4-68.el6.i686.rpm
samba-client-3.5.4-68.el6.i686.rpm
samba-common-3.5.4-68.el6.i686.rpm

2.安装

(可以直接yum install samba

安装使用:

(1)rpm -ivh samba-common-3.5.4-68.el6.i686.rpm

如果安装失败:

error: Failed dependencies:

一般都是缺少依赖关系包,这时候可以挂载安装包光盘,使用yum安装

[root@localhost rpm]# yum install samba-common-3.5.4-68.el6.i686.rpm
=======================================================
Installing:
samba-common i686 3.5.4-68.el6 /samba-common-3.5.4-68.el6.i686 46 M
Installing for dependencies:
libtalloc i686 2.0.1-1.1.el6 c6-media 18 k
libtdb i686 1.2.1-2.el6 c6-media 29 k
samba-winbind-clients i686 3.5.4-68.el6 c6-media 1.1 M
=======================================================

(2)[root@localhost rpm]# rpm -ivh samba-client-3.5.4-68.el6.i686.rpm

(3)[root@localhost rpm]# yum install samba-3.5.4-68.el6.i686.rpm

3.添加用户设置密码

3.1samba使用的是系统用户,但密码用的不是系统用户密码,需要重新设置。

方式一:

将系统用户复制到samba服务器用户配置里面:

[root@localhost rpm]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

方式二:

单个添加:smbpasswd -a yjc

后面会要求输入密码

3.2.如果采用方式一需要再给smb用户设置密码:

[root@localhost rpm]# smbpasswd  yjc

如果提示Failed to find entry for user yjc,使用-a参数:

[root@localhost rpm]# smbpasswd -a yjc

删除smb用户:smbpasswd -x yjc

查看smb用户列表:pdbedit -L

4.配置samba服务器

编辑配置文件/etc/samba/smb.conf

默认的都不需要更改,找到 Share Definitions 处设置

仿造[homes]添加要共享的目录(系统必须存在这个目录,且设置好权限,samba使用系统权限),例如共享www目录(权限755)

 [www]
path = /www
browseable = yes
writable = yes

注意:这里的browseable(可列出目录)和writable(可写)权限优先于系统权限

保存配置文件

5.启动smb服务

[root@localhost rpm]# service smb start
Starting SMB services: [ OK ]
[root@localhost rpm]#service nmb restart
Starting NMB services: [ OK ]

停止smb服务:

[root@localhost rpm]# service smb stop
Shutting down SMB services: [ OK ]

重启smb服务:

[root@localhost rpm]# service smb restart
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]

6.在windows下访问linux共享文件

用ifconfig查看ip,比如192.168.12.3

win+r 输入\\192.168.12.3

然后输入用户名如yjc

密码

就可以进入共享文件了 。

Windows删除缓存 :命令行输入

net  use  *  /del

如果资源管理器出现崩溃,请参考文末附录。

7.设置开机自启

首先可以查看开机启动的服务chkconfig

然后chkconfig --level 35 smb on 就可以了


附录:常见问题及技巧

可以登录samba服务器,但是没有权限访问linux下的共享目录

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

2、确保samba服务器配置文件smb.conf设置没有问题,可网上查阅资料看配置办法

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

这两个命令必须执行:

iptables -F 清空防火墙
setenforce 0 临时设置selinux为禁用

注:

setenforce 0 临时关闭
##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式

关于setlinux

查看SELinux状态:

1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态

SELinux status: enabled

2、getenforce ##也可以用这个命令检查

关闭SELinux:

1、临时关闭(不用重启机器):

setenforce 0 ##设置SELinux 成为permissive模式

##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

登录时windows资源管理器崩溃:

故障模块名称: StackHash_50c1

解决办法:

删除C:\Users\你的用户名\AppData\Local\Microsoft\Terminal Server Client\Cache目录即可。主要是里面bcache开头的.bmc文件影响的。

上一篇:对python-rrdtool模块的浅研究。


下一篇:webpack 使用优化指南