首先通过这次教训,让我养成一个好习惯:备份  备份  备份      不管做什么配置或者更改什么东西之前先做好备份! 还有我本身的一个坏毛病:眼高手低!

工厂有一台服务器,由以前的运维装的Samba ,因为系统中病毒了,所以我直接重装系统了,想着好配置呢   事先也没有看配置文件,也没有备份配置文件,结果最后在权限这一块吃了大亏,耗了两天多!

首先我们工厂内网需求很简单:就是共享就行 没有用户目录权限设置 都可以随便读写

1、下面是安装命令:

  yum -y install samba samba-client samba-common

  还会有一些依赖包 会自动安装

2、然后进入/etc/samba/ 目录下 会有三个文件

  

3、所有的配置选项都在smb.conf里面,下面是我的配置文件内容截图

  

  

详细配置选项
[global]
workgroup = WORKGROUP            //这是工作组,可以添加自己的工作组,我用的是默认的WORKGROUP
security = user               
map to guest = Bad User           //这是samba 4.0版本以后必须设置为user用户,设置为share 然后用testparm检测smb.conf 会报错的 服务也启动不起来
log file = /var/log/samba/log.%m      //log日志及路径 里面记载的用户的登录操作日志
max log size = 50               //日志文件存储的文件最大的大小
unix charset = UTF-8              //在Linux服务器上面的显示编码 如果不知道自己的编码 可以查看下自己的系统编码
display charset = UTF-8            //自己服务器上面的显示编码 一般都是和unix charset查到的一样
guest account = nobody             //访问的用户范围
dos charset = cp936               //Windows端显示的编码
create mask = 777                //赋予权限
directory mask = 777              //赋予权限
  
[resource]                      //这个是Windows上显示的文件夹的名字(共享文件夹)
comment = All Printers             //这个是共享文件夹的说明
path = /home/resource              //共享文件夹的路径
browseable = yes                 //是否让所有的使用者都看到这个项目
guest ok = yes                  //是否让来宾用户访问
writable = yes                  //是否为可以写入
read only = no                  //是否设置为只读

4、然后通过testparm检测下smb.conf配置文件的正确性

5、这个地方是会出错的第一个地方:用testparm检测配置文件的正确性,有可能会出现下面的错误

  rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)

  解决方法:编辑配置文件    vim /etc/security/limits.conf  在里面加入一行配置

  root            -       nofile          16384

  root指root用户   如果想都所有用户生效,把root替换为 *  即可!我是设置的 *  下面是配置文件内容

  

6、创建共享目录

  mkdir /home/resource

7、给共享目录赋予各种权限(这里设置好了 就没有权限问题了!)

  chmod 777 /home/samba

  chown 777 /home/samba

8、firewall加入端口

  firewall-cmd --zone=public --add-port=137/udp --permanent

  firewall-cmd --zone=public --add-port=138/udp --permanent

  firewall-cmd --zone=public --add-port=139/tcp --permanent

  firewall-cmd --zone=public --add-port=445/tcp --permanent

9、selinux这里也是容易出现错误的地方

  setsebool -P samba_export_all_rw on  添加这一条

10、启动samba服务

  systemctl start smb    //启动smb服务

  systemctl stop smb    //停止smb服务

  systemctl restart smb   //重启smb服务

  systemctl status smb   //查看smb服务状态

11、over 现在可以尽情的使用啦!

CentOS 7安装Samba 4.6 版本步骤及错误解决方法的更多相关文章

  1. CentOS下MySQL安装失败,报socket '/tmp/mysql.sock错误解决方法

    1.在centos里安装mysql数据库后,登录时提示‘/tmp/mysql.sock’ 第一种解决办法:采用ln链接方式进行处理 ln -s /var/lib/mysql/mysql.sock /t ...

  2. linux(kali,centos)安装vm及其提示缺少c头文件解决方法

    我电脑系统是kali最新版 首先去官网下一个vm安装包,给个直达网址 http://www.vmware.com/cn/products/workstation/workstation-evaluat ...

  3. 【linux】php安装 出现Sorry, I cannot run apxs. ***错误解决方法

    首先, 通过错误提示, 我们得知"I cannot run apxs". 我一直以为是apxs安装有问题, 但找了很久仍未得到合理的解释和解决方法. 于是我直接运行"/u ...

  4. php安装 出现Sorry, I cannot run apxs. ***错误解决方法

    # tar zvxf php-5.1.2.tar.gz# cd php-5.1.2# ./configure --prefix=/usr/local/php --with-mysql=/usr/loc ...

  5. Win8安装msi程序出现2502、2503错误解决方法

    在Win8中,在安装msi安装包的时候常常会出现代码为2502.2503的错误.其实这种错误是由于安装权限不足造成的,因为这种msi的安装包不像其他exe的安装程序, 在安装包上点击"右键& ...

  6. 安装docker17.06.0版本报错和解决方法

    本人在自己电脑的虚拟机里安装docker ce 17.06.0版本的时候报如下错误: [root@manager2 yum.repos.d]# yum install docker-ce-17.06. ...

  7. 在centOS上安装oracle出现java.lang.NoClassDefFoundError问题及解决方法

    问题一:CentOS6.5 静默安装Oracle 11G过程中提示:Exception in thread "main" java.lang.NoClassDefFoundErro ...

  8. Eclipse中安装git后pull远程仓库出现错误解决方法

    该图中位置为false 在配置文件中添加如下语句 -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2

  9. CentOS yum 安装LAMP PHP5.4版本

    CentOS yum 安装LAMP PHP5.4版本 [日期:2015-06-04] 来源:Linux社区  作者:rogerzhanglijie [字体:大 中 小]     Linux系统版本:C ...

随机推荐

  1. 【Python编程:从入门到实践】chapter2 变量和简单数据类型

    2.1 运行2.2 变量 message = "hello" print(message) 2.2.1 变量的命名和使用 2.2.2 使用变量是避免命名错误2.3 字符串 “Hel ...

  2. storm的优化以及雪崩问题

    下图来说明什么是雪崩现象: 当spout发送的速度非常快,而bolt的处理速度很慢,spout源源不断地向内存中发送tuple,这样下去迟早会把内存撑爆,这样就叫做雪崩现象! 怎么处理雪崩问题呢 第一 ...

  3. python之路day03

    1  复习计算机基础 计算机基础我们讲到完整的计算机系统包括了:应用程序,操作系统,硬件三部分.那么硬件又分为:cpu,内,和硬盘. 对于用户来说我们操作计算机是通过应用程序来间接控制计算机.当我们打 ...

  4. etcd查看key-value

    get/set key-value etcdctl get/set /key-path etcdctl watch --recursive /test/sm/default/apps 查看所有key- ...

  5. OpenACC 简单的原子操作

    ▶ OpenACC 的原子操作,用到了 C++ 的一个高精度计时器 ● 代码,直接的原子操作 #include <iostream> #include <cstdlib> #i ...

  6. openx _金额

    1/work/openx/lib/max/Delivery/log.php MAX_Delivery_log_logAdImpression    MAX_Delivery_log_logAdRequ ...

  7. leetcode976

    public class Solution { public int LargestPerimeter(int[] A) { var list = A.OrderByDescending(x => ...

  8. jquery ajax 赋值问题, 后面程序判断逻辑用

    添加async:false; 像 $.get() 等是没有async参数的, 所以需要用到如下 $.ajaxSetup({ async : false //这个意思是等这个ajax有了返回值后才会执行 ...

  9. FindWindow 查找窗口

    Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As ...

  10. php iconv 函数

    原型: $txtContent = iconv("utf-8",'GBK',$txtContent); 特殊参数:iconv("UTF-8","GB2 ...