实验需求:

由于实验室纳新一帮新孩子,搭建samba主要是临时共享一些学习资源的,基本上大家用的都是windows。而且这个服务可以让他们在校园的里的个个角落都可以访问到,所以给挂了学校的公网,不过我不太清楚学校的网是什么搞的,也不知道在校外可以访问到不。

要求是给组长上传的权限,其他的组员只有下载的权限。后期的话,开发组的那边说要开发一个云盘。

搭建:

一开始给了个浪潮英信的服务器,这是一个超级老的家伙,自从2004就进学校了,而且进来的时候还不是新机子,当时担任dhcp工作,是装了aix系统。后来被黑就不用它了。所以一开始装系统就很蛋疼,不支持U盘、USB的键盘也不支持没法进BIOS,后来整个串口的键盘可以了。最后实在没办法就搭PXE网络安装它,折腾到几个小时,pxe安装系统的时候,意外的发现这老家伙太老了,cpu不支持64位的,只能又下载32位的。好一切ok装完系统,但是启动的时候,发现redhat没装在第一块硬盘上,有来回捣鼓硬盘顺序,最后指定是第四块盘,因为装系统的时候就它一直亮着。这系统装完了,但是后面又出现问题,硬盘太小了,而且有各种小问题。这时头儿见我们还没弄出来给我们一个dell 6850的。16G内存,两cpu,210G存储空间(太小了,后期头儿说给个存储3T的),不错很快搞好了。

搭建完毕后,发现访问太慢了,几百K,后来又调优啊,最后搞到2~4M这样,机房那个交换机是百兆的,所以很慢。

  1. 下载安装包yum install -y samba samba-common samba-client
  2. 配置文件
    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 = yes

    use 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

  3. 添加 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 ###开启服务

生产环境中配置的samba的更多相关文章

  1. 【原】Storm Local模式和生产环境中Topology运行配置

    Storm入门教程 1. Storm基础 Storm Storm主要特点 Storm基本概念 Storm调度器 Storm配置 Guaranteeing Message Processing(消息处理 ...

  2. 生产环境中tomcat的配置

    生产环境中要以daemon方式运行tomcat 通常在开发环境中,我们使用$CATALINA_HOME/bin/startup.sh来启动tomcat, 使用$CATALINA_HOME/bin/sh ...

  3. 一个完整配置例nginx.conf(生产环境中使用)

    一个完整的nginx配置案例,生产环境 一个完整配置例(生产环境中使用) user nobody nobody; worker_processes 4; worker_rlimit_nofile 51 ...

  4. mysql8在生产环境中的配置

    一,配置文件的位置 [root@yjweb ~]# ll /etc/my.cnf -rw-r--r-- 1 root root 935 Mar 11 16:52 /etc/my.cnf 说明:通常我们 ...

  5. 理解Docker(6):若干企业生产环境中的容器网络方案

    本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  6. 生产环境中CentOS7部署NET Core应用程序

    NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. ...

  7. 生产环境中使用Docker Swarm的一些建议

    译者按: 实践中会发现,生产环境中使用单个Docker节点是远远不够的,搭建Docker集群势在必行.然而,面对Kubernetes, Mesos以及Swarm等众多容器集群系统,我们该如何选择呢?它 ...

  8. 分离Webpack开发环境与生产环境的配置

    这是Webpack+React系列配置过程记录的第五篇.其他内容请参考: 第一篇:使用webpack.babel.react.antdesign配置单页面应用开发环境 第二篇:使用react-rout ...

  9. [virtualenv]生产环境中使用virtualenv

    virtualenv 对于python开发和部署都是好工具,可以隔离多个python版本和第三方库的版本,这里作者总结了几个常用python服务怎么样结合virtual部署 原文链接 Python 中 ...

随机推荐

  1. MD5加密实现类不是Windows平台下联邦信息处理标准验证过的加密算法的一部分

    在.NET应用程序中,MD5CryptoServiceProvider实例化时,造成This implementation is not part of the Windows Platform FI ...

  2. 常用到的JS 验证(包括例子)

    //验证是否为空    function check_blank(obj, obj_name){         if(obj.value != ''){                  retur ...

  3. Javascript正则中的exec和match

    分几种情况说明 1.假设re中不是全局的也就是不带g var str = "cat3 hat4"; var re = /\w+\d/; var ex = re.exec(str); ...

  4. YTU 2419: C语言习题 等长字符串排序

    2419: C语言习题 等长字符串排序 时间限制: 1 Sec  内存限制: 128 MB 提交: 650  解决: 249 题目描述 在主函数中输入n(n<=10)个等长的字符串.用另一函数对 ...

  5. Java虚拟机一览表

    免费和开源的 Java 虚拟机AegisVM (inactive since 2004).Apache Harmony — supports several architectures and sys ...

  6. 创建app前的环境配置/AppIcon/启动图片

    1.真机调试http://blog.csdn.net/tht2009/article/details/48580569 2.创建app前的环境配置

  7. CodeForces242D:Connected Components (不错的并查集)

    We already know of the large corporation where Polycarpus works as a system administrator. The compu ...

  8. Transformations

    链接 分析:根据操作模拟 /* ID:wanghan PROB:transform LANG:C++ */ #include "iostream" #include "c ...

  9. Linux Cache 机制

    在阅读文章前,您应该具备基本的存储器层次结构知识,至少要了解局部性原理.要详细了解cache基本原理,可以参考本书<深入理解计算机系统>中存储器体系结构一章: 带着疑问来看文章,cache ...

  10. Babel转码器

    Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有环境执行.这意味着,你可以用ES6的方法 编写程序,又不用担心现在环境是否支持.