首先通过这次教训,让我养成一个好习惯:备份 备份 备份 不管做什么配置或者更改什么东西之前先做好备份! 还有我本身的一个坏毛病:眼高手低!
工厂有一台服务器,由以前的运维装的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 版本步骤及错误解决方法的更多相关文章
-
CentOS下MySQL安装失败,报socket '/tmp/mysql.sock错误解决方法
1.在centos里安装mysql数据库后,登录时提示‘/tmp/mysql.sock’ 第一种解决办法:采用ln链接方式进行处理 ln -s /var/lib/mysql/mysql.sock /t ...
-
linux(kali,centos)安装vm及其提示缺少c头文件解决方法
我电脑系统是kali最新版 首先去官网下一个vm安装包,给个直达网址 http://www.vmware.com/cn/products/workstation/workstation-evaluat ...
-
【linux】php安装 出现Sorry, I cannot run apxs. ***错误解决方法
首先, 通过错误提示, 我们得知"I cannot run apxs". 我一直以为是apxs安装有问题, 但找了很久仍未得到合理的解释和解决方法. 于是我直接运行"/u ...
-
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 ...
-
Win8安装msi程序出现2502、2503错误解决方法
在Win8中,在安装msi安装包的时候常常会出现代码为2502.2503的错误.其实这种错误是由于安装权限不足造成的,因为这种msi的安装包不像其他exe的安装程序, 在安装包上点击"右键& ...
-
安装docker17.06.0版本报错和解决方法
本人在自己电脑的虚拟机里安装docker ce 17.06.0版本的时候报如下错误: [root@manager2 yum.repos.d]# yum install docker-ce-17.06. ...
-
在centOS上安装oracle出现java.lang.NoClassDefFoundError问题及解决方法
问题一:CentOS6.5 静默安装Oracle 11G过程中提示:Exception in thread "main" java.lang.NoClassDefFoundErro ...
-
Eclipse中安装git后pull远程仓库出现错误解决方法
该图中位置为false 在配置文件中添加如下语句 -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
-
CentOS yum 安装LAMP PHP5.4版本
CentOS yum 安装LAMP PHP5.4版本 [日期:2015-06-04] 来源:Linux社区 作者:rogerzhanglijie [字体:大 中 小] Linux系统版本:C ...
随机推荐
-
servlet 和filter 抛出404等异常
1. servlet抛出错误代码异常,如404 public void doGet(HttpServletRequest request, HttpServletResponse response) ...
-
C++多文件变量
不要在头文件中定义变量,在头文件中声明变量.定义放在对应的源文件中.其他地方只能用extern声明. 例如: 1 在头文件a.h中声明一个int变量: extern int ix; 2 在源文件a.c ...
-
model中字段格式验证
注释部分在前端不显示 /// <summary> /// 链接地址 /// </summary> [Display(Name = "链接地址")] //[D ...
-
CDOJ 1272 Final Pan&#39;s prime numbers
有些问题,不做实践与猜测,可能一辈子也想不出答案,例如这题. #include<stdio.h> #include<math.h> long long x; int main( ...
-
Java学习日记——基本数据类型
基本数据类型: byte 1个字节 正负都能表示2的8-1次方 -128~127(包括0) short 2个字节 2的16-1次 整数类型 (默认为int类型) int 4个字节 2的32-1次方 l ...
-
java 实现WebService
1.xml 2. wsdl: webservice description language web服务描述语言 通过xml格式说明调用的地址方法如何调用,可以看错webse ...
-
python根据服务名获取服务启动路径
#coding=utf8 import _winreg as winreg class Win32Environment: """Utility class to get ...
-
Java新人拿到一台新的电脑需要装配什么
适用对象:新手 装备:win10 一.IDEA 插件等 说明 其他 TranslationPlugin 翻译插件 GitHub地址 MyBatis-Generator 自动生成Mybatis文件 Al ...
-
高德地图之c#后台获取一个或多个起点到单个终点的直线距离
首先我们需要一个控制台添加一个新Key(可使用服务选择Web服务,测试的时候IP白名单先不填); 直线距离是通过后台get方式请求API服务地址http://restapi.amap.com/v3/d ...
-
MapReduce序列化及分区的java代码示例
概述 序列化(Serialization)是指把结构化对象转化为字节流. 反序列化(Deserialization)是序列化的逆过程.把字节流转为结构化对象. 当要在进程间传递对象或持久化对象的时候, ...