日志、文件服务器(vsftp、NFS)

下面介绍的是)日志、文件服务器(vsftp、NFS、samba

一、日志

1、日志基础

(1)、日志

日志 -----------记录具有一定意义的历史事件。

事件 -----------时间、事件本身的内容、事件的关键程度(级别)

最开始的日志系统为: syslog,主要记录与应用程序、内核有关的事件。klogd(与内核有关的事件)、syslogd(与应用程序有关的事件)。

(2)rsyslog --------------现在常用的日志系统

rsyslog的特性(5个):多线程、并行记录日志;持更多的协议来完成日志;支持多种格式日志存储;支持日志的过滤机制,过滤不想看到的内容;可自定义输出格式。

rsyslog采用ELK Stack进行日志记录:倒序索引搜索引擎、日志收集工具、展示工具。

rsyslog包括以下两部份:

facility ----------收集整理日志的组件

priority ----------事件优先级、级别(debug、info、notice、warn、err、crit、alert、emerg(panic))

运行级别:

debug ---------所有的都记录,内容太多,用于排错,日志中可记可不记

info ----------一般性的信息、描述,日志中可记可不记

notice ----------通知类信息,日志中可记可不记

warn -----------警告

error -----------错误信息

crit -------------紧急的

alert ------------警报

emerg(panic) ---------------恐慌(最高级)

rsyslog配置文件:

配置文件:/etc/rsyslog.conf  /etc/rsyslog.d/*.conf

主程序配置文件:/usr/sbin/rsyslogd

服务器的启动(rsylog):

centos6:service rsyslog {start|restart|stop|status}

centos7:systemctl {start|restart|stop|status} rsyslog.service

(3)、rsyslog的主配置文件:/etc/rsyslog.conf -----------包括三部分

主配置文件的三部分,即MODULES、GLOBAL DIRECTIVES、RULES。

第三部分RULES,具体解释如下:(也分三部分)

facility:

*:所有的设施

f1,f2,...:由多个设施构建的列表

priority:

*:所有级别

none:不包含任何级别

PRIORITY:包括指定的PRIORITY在内,直到最高级之间的所有级别;

如:warn,意思是:warn,err,crit,alert,emerg

=PRIORITY:仅记录指定的级别的日志;

如:=warn,意思是:warn

target:

文件:以绝对路径的方式给出日志文件;"-"表示异步写入;

用户:将日志信息通知给指定的用户;也可以向所有已经登录到系统的用户的终端发送信息;

日志服务器:@Server_ip,把日志发送到指定的日志服务器上;

管道:| COMMAND

-/var/log/maillog ------------其中,【减号表示异步写入】

:modoule: --------------使用模块

2、几种主要的日志文件

(1)、dtmp

/var/log/dtmp ------------索引文件,不是纯文本的。btmp即bad login,用于记录尝试登录的信息。

# lastb 命令进行查看

(2)、wtmp

/var/log/wtmp ------------wtmp,即win login,用于记录成功登录信息。

# last 命令进行查看

# last -n 5 ---------显示最近5条记录

(3)、secure

/var/log/secure ------------记录认证授权日志,为纯文本文档。

(4)、dmesg

/var/log/dmesg ------------记录系统引导过程中的输出信息,纯文本文档。

可以使用编辑器查看,也可以使用dmesg命令来查看。

3、将rsyslog日志机记录于MySQL中的步骤如下:

(1)、# yum install rsyslog-mysql

(2)、在MySQL中创建授权用户

mysql> grant all on Syslog.* to ‘sladmin‘@‘127.0.0.1‘ identified by ‘slpass‘;

mysql> grant all on Syslog.* to ‘sladmin‘@‘localhost‘ identified by ‘slpass‘;

mysql> grant all on Syslog.* to ‘sladmin‘@‘172.16.%.%‘ identified by ‘slpass‘;

(3)、使用SQL脚本创建数据库和数据表

# mysql -usladmin -hlocalhost -p < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

(4)、在rsyslog的配置文件中配置使用MySQL -------------/etc/rsyslog.conf

### MODULES ###

$ModLoad ommysql

### RULES ###

facility.priority  :ommysql:DB_HOST,DB_NAME,DB_USER,DB_PASS

(5)、重启rsyslog服务

4、loganalyzer 组件 ------------------进行日志分析。

步骤:

(1)、需要架构LAMP平台。

(2)、安装loganalyzer

# tar loganalyzer-4.1.5.tar.gz

# cd loganalyzer-4.1.5

# cp -a src /PATH/TO/SOME_VHOST/loganalyzer

# cp contrib/*.sh /PATH/TO/SOME_VHOST/loganalyzer

# cd /PATH/TO/SOME_VHOST/loganalyzer

# chmod +x *.sh

# ./configure.sh

# ./secure.sh

# chmod 666 config.php

(3)、通过浏览器访问

http://HOST/loganalyzer

二、文件服务器

1、文件系统基础

(1)、文件服务器的实现方式:(3种)

FTP ---------------基于应用层

NFS ---------------基于内核级文件系统(基于文件系统)

CIFS(通用互联网文件系统) -------跨OS的网络文件系统(基于文件系统)

(2)、网络存储:(2种)

NAS ------------网络附加存储,文件系统级别的存储接口

SAN ------------存储区域网络,块设备级别的存储接口

2、FTP ------------文件传输协议,采用的是C/S架构。

(1)、FTP基础

FTP 默认为【明文传输数据】,用户名和密码均为明文,运用ftps、sftp进行安全增强。

FTP的两种【套接字】:控制连接套接字(tcp/21)、数据连接套接字(tcp/20)

FTP的TCP的两种【连接】:控制连接、数据连接

FTP两种【数据传输的模式】:文本格式、二进制格式

FTP数据【连接的两种建立方式】:主动模式、被动模式

FTP【安全增强】的两种方式:ftps、sftp

(2)、FTP协议的实现

服务器端:windows:IIS、Serv-U

Linux:wuftpd、proftpd、pureftp、【vsftpd】

客户端:命令行界面工具(CLI)、图形界面工具(GUI)。

3、vsftp ----------------FTP的服务器端实现

(1)、vsftp程序环境:

主配置文件: /etc/vsftpd/vsftpd.conf

辅助配置文件: /etc/vsftpd/other_file

主程序文件: /usr/sbin/vsftpd

默认的匿名用户访问的数据根目录:/var/ftp

系统文件:/usr/lib/systemd/system/vsftpd.service

(2)、主配置文件 ----------------------/etc/vsftpd/vsftpd.conf

格式:Directive=Value

在格式中,注意以下三点:

1、指令位于绝对行首

2、等号两侧不允许出现空格

3、布尔值必须大写

在主配置文件中,常用的指令如下(9类):----------------------/etc/vsftpd/vsftpd.conf

1、全局的指令:

write_enable=YES

2、匿名用户授权:

anonymous_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_umask=022

3、系统用户:

local_enable=YES

local_umask=022

4、禁锢系统用户于其家目录中:

chroot_local_user=YES ---------------所有用户禁锢

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

5、定义传输日志:

xferlog_enable=YES

xferlog_file=/var/log/xferlog

xferlog_std_format=YES

6、用户访问控制:

userlist_enable=YES

userlist_deny=YES ----------------黑名单

userlist_file=/etc/vsftpd/user_list

7、认证机制:----------------PAM认证

pam_service_name=vsftpd -----------------主要认证用户账户的身份

tcp_wrappers=YES -----------------TCP_WRRAPERS认证

8、被动模式:

pasv_enable=YES

pasv_max_port=61000

pasv_min_port=60000

9、限速:-----------------单位是Byte/S

local_max_rate=128000

anon_max_rate=50000

配置vsftpd:三种用户类别分别是,匿名用户、系统用户、虚拟用户。

4、vsftpd的虚拟主机 ----------------区分不同的虚拟主机,仅依靠套接字的不同

(1)、vsftp虚拟主机

vsftpd的虚拟主机:(区分)

listen_port=21 --------添加入

listen_address=172.16.2.1 ----------当前用户有效的ip地址

三类vsftp虚拟主机如下:

1、基本【ftp】服务器虚拟主机:--------------/etc/vsftpd/vsftpd.conf

listen_port=21

listen_address=172.16.69.1

2、存储虚拟用户于【文件】的虚拟主机:----------/etc/vsftpd/vuser_file.conf

listen_port=21

listen_address=172.16.69.101

3、存储虚拟用户于【MySQL】的虚拟主机:------------/etc/vsftpd/vuser_mysql.conf

listen_port=21

listen_address=172.16.69.201

(2)、vsftp虚拟用户

vsftpd的【虚拟用户】:利用文件系统的数据库文件存放用户账户和密码,也可以,利用MySQL存放用户账户和密码。分别设定不同虚拟用户的访问权限。

虚拟用户【账户存储】:文件、MySQL数据库、Oracle、Redis、LDAP

vsftp本身不具备用户账户身份验证功能,认证功能托管给pam。-------身份验证(pam:插入式认证模块)

(3)、【基于文件】来存放【虚拟用户】的步骤如下:

1、创建文件

【创建】用于保存虚拟用户的文件,奇数行为用户名,偶数行为密码。添加用户,直接在文件中添加,让后加载。若要删除用户,要先删除数据库,再删除数据。

例:

# touch VUSER_FILE

tom

123456

jerry

123123

2、文本文件【转换】为数据库文件

db_load -T -t hash -f /PATH/TO/VUSER_FILE /PATH/TO/USERDB.db

3、设定PAM的认证方式 -------------其配置文件,【不要.db的扩展名】

修改:/etc/pam.d/vusers.file

auth required /lib64/security/pam_userdb.so db=/PATH/TO/USERDB -----------USERDB不要.db的扩展名

account required /lib64/security/pam_userdb.so db=/PATH/TO/USERDB

4、身份【映射】,映射虚拟用户身份

# useradd LOCAL_USER

5、修改虚拟主机的配置文件 -------------------/etc/vsftpd/vsftpd.conf

anonymous_enable=NO

guest_enable=YES

guest_username=LOCAL_USER

pam_service_name=vusers.file

local_root=/myftp/ftpdata

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

(4)、对于所有的虚拟用户【分别设定权限】,步骤如下:

1、在虚拟主机的主配置文件中添加指令user_config_dir0 ---------------------/etc/vsftpd/vsftpd.conf

user_config_dir=/PATH/TO/CONFIG_DIR

2、创建出这个目录,并且在目录下创建出与虚拟用户名相同的文件

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/myftp/ftpdata/alice

anon_umask=022

(6)、基于【MySQL】来存放虚拟用户的步骤如下: ---------------对于centos6

1、编译安装pam的MySQL【驱动】 (需要预先安装编译环境 ----------注意4个)

# yum -y install pam-devel mysql_devel

# tar xf pam_mysql-0.7RC1.tar.gz

# cd pam_mysql-0.7RC1

# ./configure --with-pam=/usr --with-mysql=/usr --with-pam-mods-dir=/lib64/secutiry

# make -j 4 && make install

2、创建数据库、数据表、授权用户

mysql> create database vsftpd;

mysql> use vsftpd;

mysql> create table users (username char(20),password char(48));

mysql> insert into users values (‘centos‘,PASSWORD(‘qhdlink‘)),(‘gentoo‘,PASSWORD(‘qhdlink‘))

mysql> grant all on vsftpd.* to ‘vsftpd‘@‘localhost‘ identified by ‘vsftppass‘;

mysql> grant all on vsftpd.* to ‘vsftpd‘@‘127.0.0.1‘ identified by ‘vsftppass‘;

mysql> grant all on vsftpd.* to ‘vsftpd‘@‘172.16.%.%‘ identified by ‘vsftppass‘;

3、【创建】pam的认证文件 ---------------/etc/pam.d/vusers.mysql

/etc/pam.d/vusers.mysql

auth required /lib64/security/pam_mysql.so user=vsftpd passwd=vsftppass host=127.0.0.1 db=vsftpd table=users usercolumn=username passwdcolumn=password crypt=2

account required /lib64/security/pam_mysql.so user=vsftpd passwd=vsftppass host=127.0.0.1 db=vsftpd table=users usercolumn=username passwdcolumn=password crypt=2

4、创建映射用户

# useradd mysqluser

5、修改虚拟主机的配置文件 -------------------/etc/vsftpd/vsftpd.conf

anonymous_enable=NO

guest_enable=YES

guest_username=LOCAL_USER

pam_service_name=vusers.mysql

user_config_dir=/PATH/TO/MYSQL_USER_CONFIG

5、NFS -----------网络文件服务器

安装nfs,即安装nfs-utils。

(1)、nfs服务器配置文件:(2个)

/etc/exports

/etc/exports.d/*

(2)、nfs主配置文件 -------------/etc/exports

格式:Shared_path  Machine_Name1(Security_options) Machine_Name2(Security_options) ...

Shared_path --------------绝对路径,共享的目录

Machine_Name -----------single host、wildcards、IP networks

single host:单独主机,IP地址或主机名

wildcards:使用*或?来做通配,如果只写一个*则表示所有主机;

IP networks:IP网段,NETWORK/NETMASK, NETWOEK/PREFIX_LEN

192.168.100.0/255.255.255.0

172.16.0.0/16

Security_options(2类)----------General Options、User ID Mapping

General Options:ro(只读)、rw(读写)、sync(同步存储)、async(异步存储)、nohide(不隐藏)

User ID Mapping:root_squash(压缩root用户权限)、all_squash(压缩所有的本地用户权限)

三、文件服务器之间的联系 -------------Samba

1、Samba的协议

smb协议 --------------服务消息块协议(139/tcp、445/tcp)

NetBios协议 -------------简短主机名的解析(137/udp、138/udp)

cifs文件系统

2、Samba功能:(5类)

文件系统共享、打印机共享、NetBios协议、Workgroup model、Domain Model

3、Samba的程序环境:(5类)

samba

samba-client

samba-common

samba-commom-tools

samba-*libs

4、Samba文件

Samba主配置文件:/etc/samba/smb.conf

Samba主程序:smbd、nmbd

Samba的UNIT文件:smb.service、nmb.service

Samba客户端程序:smbclient、mount.cifs(mount -t cifs)

5、samba主配置文件 ------------------/etc/samba/smb.conf(2类)

(1)、Global Settings ---------------全局配置

[global] ---------3段

Network-Related Options

Logging Options

Standalone Server Options

samba服务的四个安全级别share、user、server、domain

(2)、Share Definitions ---------共享定义

Samba的共享定义,包括三类:homes、printers、share_fs。

常用的共享命令有:comment、path、public、browseable、guest ok、writable、【write list】、read only、valid users、create mode、dir mode、directory mode。

6、samba的配置文件中可用的【宏列表】:

%v --------------Samba专用的宏变量,Samba程序的版本号

%m ---------------客户端主机的IP地址(客户端主机的NetBIOS名称)

%H ------------当前用户的家目录的路径;

%U -------------当前用户的用户名;

%g -----------当前用户的属组的组名;

%h -------------当前samba主机的HOSTNAME;

%I ------------客户端主机的IP地址;

%T -------------当前的系统日期和时间;

%S -------------当前有效的的登录用户

7、Samba用户管理:

(1)、smbpasswd命令 ------------配置Samba用户(smbpasswd)

常用选项:

-a ------------添加samba用户

-x -----------删除samba用户

-d ----------禁用samba用户

-e -----------启用被禁用的samba用户

(2)、pdbedit命令 ------------配置Samba用户(tdbsam)

常用选项:

-L ---------------列出所有被成功添加的samba用户

-a -------------------添加samba用户

-u username ----------指明要管理的用户

-x -------------删除samba用户

-t ----------------从标准输入接收字符串作为samba用户的密码

(3)、testparm命令 -----------测试配置文件语法是否正确

共享目录的访问方式:smbclient交互式访问、挂载访问

(4)、smbclient命令 ----------------共享目录的访问方式、smbclient客户端工具

常用选项:

-L SERVER_IP -----------查看指定服务器上的samba共享目录列表

-U USERNAME -------------指定以特定用户的身份来访问或查看

-N ----------------在使用匿名用户或来宾用户的时候无需输入密码

# smbclient -U USERNAME //SERVER_IP/DIR_SHARED_NAME ----------访问共享目录

# mount -t cifs -o username=USERNAME[,password=PASSWORD] //SERVER_IP/DIR_SHARED_NAME MOUNT_POINT --------挂载访问

# mount.cifs -o credentials=/root/smbuser.txt //SERVER_IP/DIR_SHARED_NAME MOUNT_POINT

在挂载访问中,需创建用于保存samba用户的文件,如:/root/smbuser.txt, 权限600。该文件中的用户名和密码的书写格式为:username=USERNAME、password=PASSWORD。但常用credentials=FILE来引用用户名和密码。

(5)、smbstatus命令 ------------------查看服务器上的共享目录的访问状态

常用选项:

-b -----------显示简要格式的输出信息

-v ------------显示详细格式的输出信息

例:创建一个共享目录

# mkdir /myshare

# chmod 1777 /myshare

[myshare]

comment = my shared directory for LAN

hosts allow = 172.16.

path = /myshare

public = no

browsable = yes

write list = @smbusers centos

create mask = 0644

dir mask = 0755

时间: 2024-11-05 13:36:09

日志、文件服务器(vsftp、NFS)的相关文章

文件服务器vsftp的配置

FTP(File Transfer Protocol,文件传输协议)是一个用于从一台主机到另一台主机传送文件的协议.FTP服务可以工作在主动模式和被动模式两种模式下. 主动模式:ftp客户端通过一个随机选择的TCP端口连接FTP服务器的21端口请求建立连接.这是控制连接.当控制连接建立完成后,进行数据连接,FTP服务器会用自己的20端口和客户端随机的TCP端口进行数据传输. 被动模式:ftp客户端通过一个随机选择的TCP端口连接FTP服务器的21端口请求建立连接.然后FTP服务器随机选择一个TC

NFS 配置

NFS:Network Filesystem,最早由Sun公司发展出来的!最大功能是透过网络,让不同的机器和不同的操作系统,可以彼此分享个别的档案,是一个文件服务器! NFS 服务端口在2049,NFS 支持的功能相当的多,而不同的功能都会使用不同的程序来启动, 每启动一个功能就会启用一些端口口来传输数据,因此, NFS 的功能所对应的端口口才没有固定住, 而是随机取用一些未被使用的小于 1024 的埠口来作为传输之用. RPC: Remote Procedure Call,RPC 主要功能就是

exportfs命令、NFS客户端问题、使用vsftpd搭建ftp

一:exportfs命令 常用选项为[-aruv] -a :全部挂载或者卸载 -r :重新挂载 -u :卸载某一个目录 -v :显示共享的目录 使用exportfs命令,当改变/etc/exports配置文件后,不用重启nfs服务直接用这个exportfs即可.接下来我们做一个实验,先改一下服务端的配置文件: #vim /etc/exports 增加一行: /tmp/ 192.168.0.0/24(rw,sync,no_root_squash) #no_root_squash 表示不限定root

NFS网络文件共享服务的配置和排错总结

1.什么是NFS? NFS,全名叫Network File System,中文叫网络文件系统,是Linux.UNIX系统的分布式文件系统的一个组成部分,可实现在不同网络上共享远程文件系统.NFS由Sun公 司开发,目前已经成为文件服务的一种标准之一.其最大的功能就是可以通过网络,让不同操作系统的计算机可以共享数据, 所以可以把NFS看做是一个文件服务器.NFS缺点是其读写性能比本地硬盘要差一些. 2.使用yum安装nfs-utils.rpcbind 实验环境centos 6.6nfs-serve

认识和分析日志文件

1.日志文件的权限通常仅为root能够读取. 2.常用的日志文件 /var/log/cron /var/log/dmesg (记录开机的时候内核自检过程中的各项信息) /var/log/lastlog  (记录系统上面的账号最近一次登陆系统的相关信息) /var/log/maillog  (记录邮件的往来信息) (SMTP)  (POP3) /var/log/messages /var/log/secure (只要牵涉需要输入账号密码的软件,都会记录在该文件中) ps aux | grep sy

NFS Volume Provider(Part II) - 每天5分钟玩转 OpenStack(63)

上一节我们将 NFS volume provider 配置就绪,本节将创建 volume. 创建 volume 创建 NFS volume 操作方法与 LVM volume 一样,唯一区别是在 volume type 的下拉列表中选择“nfs”. 点击“Create Volume”,cinder-api,cinder-scheduler 和 cinder-volume 共同协作创建 volume “nfs-vol-1”.这个流程与 LVM volume 一样. 下面我们重点分析 cinder-v

NFS服务搭建方案

NFS服务搭建方案 一.NFS简介 NFS它是Network File system 的缩写,即网络文件系统,我们可以通过NFS达到文件的共享,NFS 服务器设置一个共享目录或者文件给NFS 客户机,客户机就可以将服务器中的共享文件挂接在自己本地的目录下,来达到文件共享.Liunx系统一般默认安装了NFS服务. 下面我们将在129文件服务器(NFS服务器)上安装NFS服务然后在128web服务器(NFS客户端)上挂载文件服务器的共享目录作为本地目录来使用. 二.文件服务器(192.168.198

linux配置nfs步骤及心得

这节我们介绍NFS的相关概念,以及如何配置NFS和在客户端中查看NFS. NFS的配置过程很简单.在服务器端中编辑/etc/exports文件,添加如下内容: /home/nfs-share    192.168.1.122 *(rw,sync) 第一项是要共享的目录,后者为共享的配置参数一般为:*(rw,sync,no_root_squash,no_all_squash,no_subtree_check) 然后开启NFS和portmap服务: /etc/init.d/nfs start    

linux nfs文件共享

linux nfs文件共享 ◆一.概念 NFS是网络文件系统(Network File System)的简称,是分布式计算机系统的一个组成部分,可实现在异构网络上共享和装配远程文件系统. NFS由SUN公司开发,目前已成为文件服务的一种标准(RFC1904,RFC1813).其最大的功能就是可以通过网络,让不同操作系统的计算机可以共享数据,所以也可以看作是一个文件服务器.NFS是除了SAMBA之外Windows与Linux及Unix与Linux之间通信的方法. 理想条件下的NFS 网络拓扑结构