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

工厂有一台服务器,由以前的运维装的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代码技巧

    被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,其中肯定有一些你尚未发现的功能.本文或许能够让你学到一些新技巧.   Python 是世界上最流行.热门的编程语言之一,原因很多,比 ...

  2. CentOS 配置软raid

    v-box里面新建一个centos7.3的服务器 v-box中增加4块8GB容量的硬盘.(我增加的是nvme的ssd硬盘,普通硬盘也没有问题,容量大代表你需要等待的时间长,所以小点容量最好) 创建ra ...

  3. Java调用Bat

    import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.Input ...

  4. 生产案例、Linux出现假死,怎么回事?

    1.什么是假死 所谓假死,就是能ping通,但是ssh不上去:任何其他操作也都没反应,包括上面部署的nginx也打不开页面. 2.假死其实很难出现一次 作为一个多任务操作系统,要把系统忙死,忙到ssh ...

  5. 25. instr用法

    很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标.但经过实际测试发现,like的效率与instr函数差别相当大.下面是一些测试结果: select instr( ...

  6. leetcode345

    public class Solution { public string ReverseVowels(string s) { var str = s.ToList(); var Vowels = n ...

  7. 门禁系统socket通讯编程

    最近遇到一个socke udp协议通讯的需求,而且是16进制数据接收.这样在传输参数的时候老是提示参数错误,因为计算机是不能直接传输16进制的,会自行转换,所有以下代码非常完美的解决我的问题,同时也让 ...

  8. J2SE 8的输入输出--读取/写入文本文件和读取/写入二进制数据

    读取/写入文本文件 // 1. 文本输入 // (1) 短小文本直接转入字符串 String string = new String(Files.readAllBytes(Paths.get(&quo ...

  9. C++Primer笔记-----day07

    ==========================================================================day07===================== ...

  10. tensorflow UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

    tensorflow读取图像出现错误:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid s ...