1、Samba 简介
Samba(SMB是其缩写) 是一个网络服务器,它是Linux作为本地服务器最重要的一个服务,用于Linux和Windows共享文件之用;
Samba可以用于Windows和Linux之间的共享文件,也一样用于 Linux和Linux之间的共享文件;
不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;
大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;
[public} # 自定义共享名
comment = Home Directories # 描述符,是给系统管理员看的
path = /tmp # 共享的路径
public = yes # 是否公开,也就是是否能在网上邻居看到该共享
browseable = yes # 共享的目录是否让所有人可见
writable = yes # 是否可写
guest ok = no # 是否拒绝匿名访问,仅当安全级别为 share 时才生效
workgroup = WORKGROUP # 工作组,要设置成跟 Windows 的工作组一致
server string = Samba Server Version %v # 其他 Linux 主机查看共享时的提示符
netbios name = MYSERVER # 用于在 Windows 网上邻居上显示的主机名
hosts allow = 127. 192.168.12. 192.168.13. EXCEPT 192.168.13.13 # 指定允许访问 samba 服务器的主机
security = share # 定义安全级别
log file = /var/log/samba/log.%m # 定义日志文件,每个访问的主机会产生独立的日志文件,%m 是客户端主机名
max log size = 50 # 定义单个日志的最大容量(KB)
passdb backend = tdbsam # Samba 用户的存储方式,smbpasswd 表示明文存储,tdbsam 表示密文存储
deadtime = 10 # 客户端在10分钟内没有打开任何 Samba 资源,服务器将自动关闭会话,在大量的并发访问环境中,这样的设置可以提高服务器性能
display charset = UTF8 # 设置显示的字符集
max connections = 0 # 设置最大连接数,0表示无限制,如果超过最大连接数则拒绝连接
guest account = nobody # 设置匿名账户为nobody
load printers = yes # 是否在启动 Samba 时就共享打印机
cups options = raw # 设置打印机使用的方式
valid users = user1 user2 user3 # 指定哪些用户可以访问,如果不指定则所有用户都可访问
invalid users = user1 user2 # 指定哪些用户不可以访问
create mask = 0775 # 客户端上传文件的默认权限
directory mask = 0775 # 客户端创建目录的默认权限
write list = user1 user2 user3 # 设置可对文件进行写操作的用户
admin users = user1 # 设置共享目录的管理员,具有完全权限
-
安装软件包
安装samba相关软件包
yum install samba samba-client
安装cifs驱动组件
yum install cifs-utils -
配置SAMBA共享
SAMBA除了自己的用户权限控制外还要依赖系统本地的用户权限控制,所有要想谁能访问首先要做好本地的权限控制。
[root@foundation ~]# mkdir /home/public -p
[root@foundation /]# chown -R 2775 /home/public
4.配置selinux
[global]
workgroup = WORKGROUP
security = user
server string = Samba Server Version %v
passdb backend = tdbsam
map to guest = Bad User
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[home]
comment = Home Directories //注释
path = /samba //共享目录
browseable = yes //共享的目录是否让所有人可见
writeable = yes //是否可写
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = root
create mask = 0664
directory mask = 0775
~
~
- 准备SAMBA用户
[root@foundation ~]# useradd -s /sbin/nologin mei
[root@foundation ~]# useradd -G mei -s /sbin/nologin tom
[root@foundation ~]# useradd -s /sbin/nologin danny
设不设置密码都无所谓
将用户添加进SAMBA自己的数据库
[root@foundation ~]# smbpasswd -a mei
New SMB password:
Retype new SMB password:
Added user mei.
[root@foundation ~]# smbpasswd -a tom
New SMB password:
Retype new SMB password:
Added user tom.
[root@foundation ~]# smbpasswd -a danny
New SMB password:
Retype new SMB password:
Added user danny.
[root@foundation ~]#
复制代码
挂载到linux上
mount -t cifs -o username=tzp,password=12345678 //13.20.xxx.xxx/public /mnt/samba
查看挂载情况
df -h
如果要删除数据,重新来过的话,请输入以下命令
在Windows的命令行中输入:
net use * /delete /y