Linux
Samba Windows 共享 配置 CentOS Linux
1这几天在搞服务器远程备份,是利用本地的VMware的CentOS,定期同步IDC服务器的文件和数据库,在本地用DVD刻录保存。
为了方便在Windows系统下刻录虚拟机CentOS文件系统下的文件,本来有很多种方式,VMware也带了tools,很好用。
但为了练练手,决定搞搞Samba,这是一个解决Windows和Linux系统之间文件共享的工具,详细信息请自行查阅。
写此文的目的是记录一个困扰我一整天的问题,现在解决了,希望能帮大伙儿节省时间。
首先请检查CentOS中是否已安装samba:
root#> yum list | grep ‘samba’
如果有 samba.i386 3.0.33-3.7.el5 installed,说明已安装。
尝试一
我在网上查找了samba配置教程,有一个不需要密码的共享方式的配置文件:
[global]
workgroup = WORKGROUP
netbios name = LeakonCentOS
server string = Leakon’s VMware CentOS 5.3
security = share
[linuxsir]
path = /home/leakon/backup
writeable = yes
browseable = yes
guest ok = yes
我用这个配置文件始终不行,用 \\IPAddress 的方式可以看到共享目录,但无法打开,提示“无效的网络名称”。
我试过修改 /home/leakon 和 /home/leakon/backup 目录的属性,甚至都改为 777,也是这样(这是非常不好的做法)。
尝试二
改用默认配置文件,默认是启用 security = user,也就是用户验证的方式。
我尝试输入CentOS下的帐户名和密码,结果无效!
尝试三
看到网上配置教程说,要用 /usr/bin/smbpasswd -a username 添加用户,然后我创建了一个新的用户名:
root#> /usr/bin/smbpasswd -a leakon_samba
接着输入密码,然后给我这样一个错误提示:
Failed to modify password entry for user leakon_samba
头晕!
然后换成CentOS已有的用户名 leakon,结果就一路顺利,得到 Added user leakon 的回应。
再仔细查看教程,其中有这么一句:samba创建的用户,必须是系统中已存在的用户!
原来如此,难怪创建 leakon_samba 这个用户时出现错误提示了。
接着回到Windows,输入IP查看共享,这回出现另一个问题:
“不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接”。
崩溃……
我怎么就多重链接了?赶紧Google,还好第一条就找到了解决方案。
解决方案
用 net use 命令可以查看当前用户与网络资源的连接。
删掉这些连接,用下面的命令:
dos> net use * /del /y
然后再次访问……
成功啦!!!
简单总结
在我的这个应用场景下,不用修改配置文件,只要用 /usr/bin/smbpasswd 增加一个系统内已存在的帐户到 samba 的用户系统下,同时分配一个专用密码即可。当你在 Windows 下访问共享目录时,根据你输入的用户名,自动可以打开系统用户的 home 目录,非常方便。
CentOS: cannot restore segment prot after reloc
2最近在研究CentOS,用xampp装一套集成的LAMP环境,结果在启动Apache的时候报错:
cannot restore segment prot after reloc: Permission denied
原因是 modules/mod_perl.so 不能加载。
查了一下可能是SELINUX的问题,有一个解决方法:
用 chcon -t texrel_shlib_t 命令修改文件属性。
例如我遇到的情况:
shell> chcon -t texrel_shlib_t /opt/lampp/modules/mod_perl.so
然后立刻就好啦~~~
iptraf Linux 网络 流量 监控
0服务器网络流量异常,紧急查看问题,问了一个牛牛人,告诉我 iptraf 这个程序,可以监控流量。
打开一看,还真是挺好用,有图为证:

iptraf
可以按 packages 数量排序,也可以按 bytes 排序,你可以知道服务器上哪个端口的程序占用带宽最多。
注意,得用 root 身份才能运行。
如果你用 SecureCRT,可能显示效果不太好,可以用 PUTTY,我就是在 PUTTY 上面截的图。
