首先通过这次教训,让我养成一个好习惯:备份 备份 备份 不管做什么配置或者更改什么东西之前先做好备份! 还有我本身的一个坏毛病:眼高手低!
工厂有一台服务器,由以前的运维装的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