实验需求:

由于实验室纳新一帮新孩子,搭建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. aop中获取方法的注解

    @Around(value="@annotation(apiLog)") public Object around(ProceedingJoinPoint pjp, ApiLog ...

  2. Mongo.setReadPref(mode, tagSet) primaries and secondaries are treated equivalently. 读优先级策略

    https://docs.mongodb.com/manual/reference/method/Mongo.setReadPref/#Mongo.setReadPref Mongo.setReadP ...

  3. java上传文件,提交表单必须要设置enctype="multipart/form-data"

    表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码.默认情况,这个编码格式是application/x-www-form-urlenc ...

  4. 微信小程序 新手入门教程

    因为工作需要,最近学习了一下微信小程序,在此分享一下大概的流程. 强烈建议大家先去看微信小程序简易教程:点我进入 起步: 安装微信web开发软件者工具,需要破解的同学可以网上找破解教程,很简单的,这里 ...

  5. iOS 摇一摇功能的实现

    在 UIResponder中存在这么一套方法 - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_A ...

  6. IOS中UIActionSheet使用方法详解

    一.初始化方法 - (instancetype)initWithTitle:(NSString *)title delegate:(id<UIActionSheetDelegate>)de ...

  7. mysql 中varchar(50)最多能存多少个汉字

    首先要确定mysql版本4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能存16个(每个汉字3字节) 5.0版本以上,varchar(50),指的是50字符,无论存放 ...

  8. adb 连接时候不弹出授权对话框【转】

    本文转载自:http://blog.csdn.net/sinc00/article/details/44957943 在首次使用adb connect,然后adb shell的时候,常常需要点击弹出的 ...

  9. hrtimer高精度定时器的简单使用【学习笔记】

    #include <linux/module.h> #include <linux/kernel.h> #include <linux/hrtimer.h> #in ...

  10. 转:Oracle客户端NLS_LANG参数的设置详解

    原文:http://database.51cto.com/art/201107/279361.htm 我们知道,Oracle客户端语言支持可以通过NLS_LANG参数的设置来完成,不同的系统平台上NL ...