Linux运维最佳实践pdf下载
Linux和Linux之间共享 nfs
Windows和Windows系统之间可以直接设置共享
那么Linux和windows之间如何共享?通过Samba软件
一、
首先在Linux centos下安装Samba
yum install -y samba
二、
下面详细介绍一下smb.conf配置文件中的重要信息
[root@samba ~]# vim /etc/samba/smb.conf
[global]
workgroup = MYGROUP //服务器所在的工作组名称,例如“WORKGROUP”
server string = Samba Server Version %v//描述服务器的说明文字
hosts allow = 127. 192.168.1. 192.168.13. //默认是注释的,表示允许所有的IP地址访问,
log file= /var/log/samba/%m.log //Samba服务器的日志文件,默认放在"/var/log/samba"这个目录下
security = share //一共有四个安全级别:share(共享)、user(需要本地服务器验证用户以及密码) 、server(有另一台服务器验证有户名和密码)、domain(由windows域控制器验证有户名和密码)
passdb backend = tdbsam //tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。passdb.tdb用户数据库可使用smbpasswd –a创建Samba用户,要创建的Samba用户必须先是系统用户。
load printers = yes//当Samba 服务启动时,自动加载的打印机配置文件
cups options = raw //指定打印机使用的方式。
printcapname = /etc/printcap//默认设置打印机配置文件的位置目录
printcapname = lpstat
printing = cups //设置打印系统类型,一般默认。只有在打印系统不是标准系统时才指定。
设置打印系统类型,一般默认。只有在打印系统不是标准系统时才指定。
#obtain list of printers automatically on SystemV
[homes] //用户目录共享设置
comment = Home Directories //描述信息
browseable = no //设置其他用户是否可以浏览此共享文件。
writable = yes//设置此用户是否可写
[printers] //打印机共享设置
comment = All Printers //描述信息
path = /var/spool/samba//共享服务器默认路径
browseable = no //是否有目录浏览权限
guest ok = no //是否允许允许来宾访问
writable = no //用户对共享目录可写
printable = yes//是否可以打印,默认是yes(允许)
[beyond] //自定义共享目录文件
comment = Public share with beyond file//描述信息
path = /var/public/beyond//自定义的共享文件目录路径
public = yes//共享目录允许所有用户访问及上传文件)
readonly = yes//权限为只读权限
三、启动
service smb start
四、设置账号和密码
[root@localhost samba]# useradd smb
[root@localhost samba]# smbpasswd -a smb
New SMB password:
Retype new SMB password:
Added user smb.
五、访问
输入smb账号和密码
六、Samba软件Linux(centos)后,Windows链接Linux(centos)共享目录成功,但是提示无法访问没有权限
WINDOWS访问SAMBA提示没有权限
如果确定防火墙设置没问题,samba设置也没问题,而且samba也已经启动了,也保证共享目录读写权限没问题,那问题八成就是selinux禁止了samba的行为。
解决办法:
输入getenforce命令查看selinux的状态
[root@localhost ~]# getenforce
Enforcing
进行如下设置暂时设置为permissive,注意这个设置方式是暂时的
[root@localhost ~]# setenforce 0
然后在查看
[root@localhost ~]# getenforce
Permissive
如果怕永久设置为permissive,进行如下修改
[root@localhost ~]# vim /etc/selinux/config
修改为SELINUX=permissive
保存重启
问题解决
七、实例如下,是经过测试无误的,注意我这里的设置只保留了一些基本设置项,其他的都去掉了
A、smb.conf文件设置如下
[global]
workgroup = WORKGROUP
#workgroup = SAMBA
security = user
[beyond]
comment = Public share with beyond file
path = /usr/share/nginx/html
writable = yes
guest ok = yes
public = yes
valid users = root,smb
B、设置共享目录/usr/share/nginx/html权限为0777
C、为了测试:Linux centos防火墙firewell已经关闭
D、Windows访问时的账号和密码设置如下
[root@localhost samba]# useradd smb
[root@localhost samba]# smbpasswd -a smb
New SMB password:
Retype new SMB password:
E、selinux设置如下
SELINUX=permissive
F、启动samba
service smb start