实验需求:
由于实验室纳新一帮新孩子,搭建samba主要是临时共享一些学习资源的,基本上大家用的都是windows。而且这个服务可以让他们在校园的里的个个角落都可以访问到,所以给挂了学校的公网,不过我不太清楚学校的网是什么搞的,也不知道在校外可以访问到不。
要求是给组长上传的权限,其他的组员只有下载的权限。后期的话,开发组的那边说要开发一个云盘。
搭建:
一开始给了个浪潮英信的服务器,这是一个超级老的家伙,自从2004就进学校了,而且进来的时候还不是新机子,当时担任dhcp工作,是装了aix系统。后来被黑就不用它了。所以一开始装系统就很蛋疼,不支持U盘、USB的键盘也不支持没法进BIOS,后来整个串口的键盘可以了。最后实在没办法就搭PXE网络安装它,折腾到几个小时,pxe安装系统的时候,意外的发现这老家伙太老了,cpu不支持64位的,只能又下载32位的。好一切ok装完系统,但是启动的时候,发现redhat没装在第一块硬盘上,有来回捣鼓硬盘顺序,最后指定是第四块盘,因为装系统的时候就它一直亮着。这系统装完了,但是后面又出现问题,硬盘太小了,而且有各种小问题。这时头儿见我们还没弄出来给我们一个dell 6850的。16G内存,两cpu,210G存储空间(太小了,后期头儿说给个存储3T的),不错很快搞好了。
搭建完毕后,发现访问太慢了,几百K,后来又调优啊,最后搞到2~4M这样,机房那个交换机是百兆的,所以很慢。
- 下载安装包yum install -y samba samba-common samba-client
- 配置文件
vim /etc/samba/smb.conf ### 注 释 掉 不 需 要 的 共 享 目 录homes,printers[global]
...
username map = /etc/samba/smbusers ##启用 samba 用户映射文件
###以下为优化参数,详情查看此处 http://niyunjiu.iteye.com/blog/661141 或 http://www.cubie.cc/forum.php?mod=viewthread&tid=3714
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=1048576
SO_SNDBUF=1048576
aio read size = 65536
aio write size = 65536
aio write behind = true
write cache size = 2097152
max xmit = 65536
large readwrite = yesuse sendfile = yes
min receivefile size = 16384
getwd cache = true
follow symlinks = no
wide links = no
log level = 0
[share]
comment = infor center
path = /data
writable = yes
guest ok = no - 添加 samba 用户映射
vim /etc/samba/smbusers
system = vsystem
net = vnet
deve = vdeve
common = user1 user2 user3 user4
4. 创建共享目录
mkdir /data
mkdir /data/(develop,system,network)
chown system:system /data/system
chown network:network /data/network
chown develop:develop /data/develop
usermod -aG (system,net,deve) common ##将 system, net, deve分别作为 common 的附加组加上去
useradd -M (system ,net, deve ,common) -s /sbin/nologin
smbpasswd -a (system,net,deve,common) ##添加 samba 用户信息
5.设置防火墙
iptables -F;iptables -X;iptables -Z ##清除防火墙规则
设置默认规则:
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
设置开启的端口
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp --dport 445 -j ACCEPT
iptables -A INPUT -p udp --dport 137 -j ACCEPT
iptables -A INPUT -p udp --dport 138 -j ACCEPT
iptables -A INPUT -p tcp --dport xxx -j ACCEPT ##将 ssh 端口设为 xxx并开启,防止安全隐患
6. ssh设置
vim /etc/ssh/sshd_config
PORT xxx
PermitRootLogin no ###禁止 root 登陆
7. 启动服务
/etc/init.d/iptables save
/etc/init.d/iptables restart ##保存防火墙规则
/etc/init.d/smb start ###开启服务
/etc/init.d/nmb start ###开启服务