Linux网络服务——Samba服务和FTP服务

Samba服务和FTP服务

Samba服务

作用:Unix、Linux文件共享服务,Windows和Linux跨平台共享服务

SMB协议CIFS协议实现文件共享(Windows下微软私有的协议)

Samba服务配置:

系统基础配置

1.修改计算机名称  2.配置IP地址  3.配置或关闭防火墙  4.关闭selinux

安装Samba及相关软件包

软件包有下面6个最后一个为主包

samba-common-3.6.9-164.el6.x86_64(提供服务端和客户端所使用的的数据包括语法检查命令testparm)

samba-client-3.6.9(客服端)

samba4-libs-4.0.0-58.el6.rc4.x86_64(库包)

samba-winbin-clients-3.6.9-164.el6.rc4.x86_64(支持Windows功能)

samba-winbin-3.6.9-164.el6.x86_64(支持Windows功能)

samba-3.6.9-164.el6.x86_64(服务端)

安装之后生成smbd(文件共享访问)nmbd(主机名解析)两个应用程序

Samba的脚本:/etc/init.d/smb(启动服务可以是/etc/init.d/smb start)

Samba的端口:

nmbd:137,138 NetBIOS协议   smbd:139(SMB协议) 445(CIFS协议)

默认路径安装之后一般samba服务的配置文件位置在:/etc/samba/smb.conf

在最后添加配置如下图:

格式为:

        [global]       

           全局选项       

        [homes]           

           共享选项          

        [printers]           

           共享选项          

        [共享目录]               

共享选项                                                                              

安全模式选项详解

security = user(这里指定samba的安全等级)

关于安全等级有四种:

share:用户不需要账户及密码即可登录samba服务器

user:由提供服务的samba服务器负责检查账户及密码(默认)

server:检查账户及密码的工作由另一台windows或samba服务器负责

domain:指定windows域控制服务器来验证用户的账户及密码

smb.conf配置文件参数

[global]

与主机名相关的设置

workgroup = lalala:工作组名称

netbios name = bababa:主机名称,跟hostname不是一个概念,在同一个组中,netbios name必须唯一

serverstring = this is a test samba server:说明性文字,内容无关紧要

与登录文件有关的设置

log file = /var/log/samba/log.%m:日志文件的存储文件名,%m代表的是client端Internet主机名,就是hostname

max log size = 50:日志文件最大的大小为50Kb

与密码相关的设置

security = share:表示不需要密码,可设置的值为share、user和server

passdb backend = tdbsam:打印机加载方式

load printer = no:不加载打印机

共享资源设置方面:将旧的注释掉,加入新的

先取消[homes]、[printers]的项目,添加[temp]项目如下

[test]   共享资源名称

comment = Temporary file space:简单的解释,内容无关紧要

path = /tmp:实际的共享目录

writable = yes:是否用户能否写入

browseable = yes:可以被所有用户浏览到资源名称,

guest ok = yes:可以让用户随意登录

valid users = zhangsan,lisi,wangwu

write list = zhangsan

注意:samba服务的启动为service smb satrtservice nmb start

用户名密码验证访问共享

1.创建系统用户

2.添加系统用户为共享用户

pdbedit -a -u 【用户名】(添加用户为共享用户)

pdbedit -L(查询已存在的共享用户)

samba用户管理命令

注意:在smb.conf配置文件中security的值要改为user

smbpasswd 【选项】【用户名】

-h:显示命令的帮助信息。
-a:添加用户。
-d:禁用某个用户。
-e:启用某个用户。
-n:设置用户密码为空。
-x:删除某个用户

用户映射(添加虚拟用户登录,让别人不知道自己账户名)

在/etc/samba/smbusers里面进行配置

在/etc/samba/smb.conf的配置文件下全局配置中添加username map = /etc/samba/smbusers

最后登录成功进去

注意:还可以进行访问地址的限制,只允许哪个地址对共享文件进行访问

[global]

hosts allow(允许)

hosts deny(拒绝)

测试:

smbclicent -L(查询网上邻居的数据信息)

smbclicent -U zhangsan //192.168.1.16/mount

挂载使用共享

mount -o username=zhangsan //192.168.1.16/mount /test

FTP文件传输服务(实现文件的上传和下载)

常用端口

21端口(用于发送FTP命令信息)

20端口(不一定使用,用于上传下载数据)

文本模式(纯文本类文件)、二进制模式(图片、程序、语音等)

/etc/vsftpd/vsftpd.conf默认配置项如下图:

ftp各配置项

匿名用户

annonymous_enable=YES

是否允许匿名访问

anon_umask=022

设置匿名用户所上传文件的默认权限掩码值

anon_root=/var/ftp

设置匿名用户的FTP根目录{缺省为/var/ftp/}

anon_upload_enable=YES

是否允许匿名用户上传文件

anon_mkdir_write_enable=YES

是否允许匿名用户有创建目录的写入权限

anon_other_write_enable=YES

是否允许匿名用户有其他写入权限,如对文件改名,覆盖及删除文件

anon_max_rate=0

限制匿名用户的最大传输速率{0为无限,单位为字节/秒

本地用户

local_enable=YES

是否允许本地系统用户访问

loacl_umask=022

设置本地用户所上传文件的默认权限掩码值

local_root=/var/ftp

设置本地用户的FTP根目录

chroot_local_user=YES

是否将FTP本地用户禁锢在宿主目录中

local_max_rate=0

限制本地用户的最大传输速率{0为无限制}

全局配置

listen=YES

是否独立运行的方式监听服务

listen_address=0.0.0.0

设置监听ftp服务的IP地址

listen_port=21

设置监听的FTP服务的端口号

write_enable=YES

启用任何形式的写入权限{如上传。删除文件等}都需要开启此项

download_enable=YES

是否允许下载文件{建立仅限于浏览,上传的FTP服务器时可设为NO}

dirmessage_enable=YES

用户切换进入目录时显示.message文件{如果存在内容}

xferlog_enable=YES

启用xferlog日志,默认记录到/var/log/xferlog

xferlog_std_format=YES

启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式

connect_from_port_20=YES

允许服务器主动模式{从20建立数据连接}

pasv_enable=YES

允许被动模式连接

pasv_max_port=24600

设置于被动模式的服务器最大端口号

pasv_min_port=24500

设置用于被动模式的服务器最小端口号

pam_service_name=vaftp

设置用于用户认证的PAM文件位置{/etc/pam.d/目录中对应的文件名

userlist_enable=YES

是否启用user_list用户列表文件

userlist_deny=YES

是否禁止user_list列表文件中的用户账户

max_client=0

最多允许多少个客户端同时连接 {0为无限制}

max_per_ip=0

对来自同一个IP地址的客户端,最多允许多少个并发连接{0无限制}

tcp_wrappers=YES

是否启用TCP_Wrappers主机访问控制

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ftp用户验证配置:(可直接使用本地用户登录)

创建本地用户:useradd

虚拟用户登录访问ftp配置步骤:

1.建立虚拟ftp账号的数据库文件

vim users.list

在vim里面编辑users.list文件进行编辑

注意:里面编写单数行为账号,双数号为密码

db_load转换users.list文件为users.db

命令:db_load -T -t hash -f users.list users.db

注意:把这两个文件权限设置成600要不然会出错

2.创建虚拟账号映射的系统账号

useradd -s /sbin/nologin vip   创建一个不能登录系统的用户

vim /etc/vsftpd/vsftpd.conf 进入该文件配置

3.建立支持虚拟用户的PAM认证文件

新建并使用vim编辑/etc/pam.d/vsftpd.s(默认是vsftpd,没有后缀)

修改的如下图:

4.虚拟账号数据库文件添加到主配置文件

guest_enable=YES

guest_username=vip

蓝色是修改项红色圈上的是新添加项

如果需要给虚拟用户增加权限

添加user_config_dir=/etc/vsftpd/vip(需要去创建一个目录然后里面去创建名字为虚拟用户名的文件,在文件里面添加权限)

如下图:

最后给/etc/vsftpd/vip文件权限

chomd 755 /etc/vsftpd/vip

5.重启服务

6.测试

发布了15 篇原创文章 · 获赞 4 · 访问量 8527

猜你喜欢

转载自blog.csdn.net/feili12138/article/details/104134669
今日推荐