vsftpd

FTP的主动模式  (用winscp和sftp来登录)

服务端从20端口主动向客户端发起连接,客户端不受控制。

控制连接:TCP21,用于发送FTP命令信息

数据连接:TCP20,用于上传、下载数据。

                       

FTP的被动模式

服务端在指定范围内某个端口被动等待客户端连接,被动模式是受控的。

控制连接:TCP21,用于发送FTP命令信息

数据连接:随机端口,用于上传、下载数据。

常见的FTP服务器程序

Windows:IIS、Serv-U

Linux:wu-ftpd(淘汰了)  Proftpd   vsftpd(Very Secure FTP Domain)

安装:yum install vsftpd

主配置文件

/etc/vsftpd/ftpusers

用户控制列表文件

/etc/vsftpd/ftpusers(写入这个文件的用户不允许访问,一般不修改这个文件)

/etc/vsftpd/user_list(

默认是黑名单,通过额外设置可以变成白名单,只有写入这个文件的用户可以访问

userlist_enable=YES 这句是让用户访问控制生效,如果是NO就不控制了

userlist_deny=YES 这句默认是YES,代表/etc/vsftpd/user_list这个文件是黑名单,如果改成NO的话,/etc/vsftpd/user_list这个文件就变成白名单了。

Userlist_file=/etc/vsftpd/user_list

FTP相关用户

匿名用户:anonymous或ftp

本地用户:使用Linux系统用户和密码

虚拟用户:管理员自定义的模拟用户

默认配置文件

anonymous_enable=YES 允许匿名用户登录

local_enable=YES 允许本地用户登录

write_enable=YES允许本地用户上传

local_umask=022本地用户上传的默认权限

dirmessage_enable=YES 用户进入目录时,显示.message文件

message_file=.message 指定信息文件

xferlog_enable=YES激活记录日志

connect_from_prot_20=YES 主动模式数据传输接口

xferlog_std_format=YES 使用标准ftp日志格式

ftpd_banner 登录欢迎信息

listen=YES 允许被监听

pam_service_name=vsftpd 设置PAM外挂模块提供的认证服务

所使用的配置文件名,即/etc/pam.d/vsftpd文件

userlist_enable=YES 用户登录限制

tcp_wrappers=YES是否使用tcp_wrappers作为主机访问控制方式

常用全局配置

listen_address=192.168.4.1 设置监听的IP地址

listen_port=21 设置监听FTP服务的端口号

download_enable=YES 是否允许下载文件

max_clients=0 限制并发客户端连接数

max_per_ip=0 限制同一IP地址的并发连接数

被动模式

pasv_enable=YES 开启被动模式

pasv_min_port=24500 被动模式最小端口

pasv_max_port=24600 被动模式最大端口

常用安全配置

accept_timeout=60被动模式,连接超时时间

connect_timeout=60 主动模式,连接超时时间

idle_session_timeout=600 600秒没有任何操作就断开连接

data_connection_timeout=500 资料传输时,超过500秒没有完成,就断开传输

关于匿名用户

默认的上传目录是  /var/ftp/pub/

尽量不允许匿名用户上传,如果确实要允许,则需要vsftpd的服务权限和系统的目录权限同时允许才可以。

匿名用户在系统中的映射是ftp用户,改系统权限的话,不要直接修改目录权限,而应该把目录的所有者改成ftp用户。

关于本地用户

local_root=/var/ftp 设置本地用户的ftp根目录,要注意目录的权限

local_max_rate=0 限制最大传输速率,字节为单位

把用户限制在家目录

chroot_local_user=YES 开启用户目录限制,这个是非常重要的,防止用户登录服务器之后看到其他地方的文件。但是只有这一行的话,是限制所有用户在家目录中。

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

写入/etc/vsftpd/chroot_list文件中的用户可以访问任何目录,其他用户限制在家目录。

LINUX抓包命令:tcpdump  -i eth0  -nnX  port XX

关于虚拟用户

虚拟用户是跟linux系统完全不相关的用户,即便被截获,也不能登录系统。

先配置虚拟用户访问,然后为每个虚拟用户建立自己的配置文件,单独定义权限。

配置虚拟用户登录的步骤

1.添加虚拟用户口令文件

vi /etc/vsftpd/vuser.txt

2.生成虚拟用户口令认证文件

yum –y install db4-utils  如果没有安装口令认证命令,需要安装

db_load –T –t hash –f /etc/vsftpd/vuser.txt  /etc/vsftpd/vuser.db 把文本文档转变为认证的数据库

3.编辑vsftpd的PAM认证文件

vi /etc/pam.d/vsftpd

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser

注释掉其他的行,加入上面两行。注释掉其他行,可以禁止本地用户登录,因为本地用户登录时候的验证依然依赖这个文件。

4.建立本地映射用户并设置宿主目录

useradd –d /home/vftproot –s /sbin/nologin vuser

此用户不需要登录,只是映射用户

用户名必须和下一步配置文件中一致

chmod 755 /home/vftproot

5.修改配置文件

vi /etc/vsftpd/vsftpd.conf

guest_enable=YES 开启虚拟用户

guest_username=vuser FTP虚拟用户对应的系统用户

pam_service_name=vsftpd PAM认证文件,这句话默认存在

6.重启vsftpd服务并测试

service vsftpd restart

此时虚拟用户可以登录,查看,下载,但是不能上传

默认上传文件的位置是宿主用户的家目录

权限使用的是匿名用户权限进行管理

7.调整虚拟用户权限

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO 关闭匿名用户登录,更加安全(不影响虚拟用户登录)

给虚拟用户设定权限,允许所有虚拟用户上传

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

为每个虚拟用户建立自己的配置文件,单独定义权限

1.vi /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/vusers_dir 指定保存虚拟用户配置文件的目录

2.手工建立目录

mkdir /etc/vsftpd/vusers_dir

3.为每个虚拟用户建立配置文件

vi /etc/vsftpd/vusers_dir/用户名字   建立用户独立的配置文件,在文件中写下配置

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

允许此用户上传

local_root=/tmp/用户名

给用户指定独立的上传目录

如果没有给用户指定单独的配置文件,则他会遵守主配置文件

(/etc/vsftpd/vsftpd.conf)的权限

最终配置完成的效果如下

禁止匿名用户登录(配置文件修改)

禁止本地系统用户登录(PAM)文件修改

允许虚拟用户登录(配置文件修改)

指定单独配置文件的用户,拥有单独的上传目录,并且允许查看,下载,上传

没有指定单独配置文件的用户,上传目录是虚拟用户的默认目录,只能查看和下载。

Linux查看软件是否已经安装以及服务是否已经启动

因为Linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了。总结起来就是这样几类:

1、rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep “软件或者包的名字”。[root@hexuweb102 ~] rpm -qa | grep ruby

2、yum方法安装的,可以用yum list installed查找,如果是查找指定包,命令后加 | grep “软件名或者包名”。[root@hexuweb102 ~] yum list installed | grep ruby

3、如果是以源码包自己编译安装的,例如.tar.gz或者tar.bz2形式的,这个只能看可执行文件是否存在了,上面两种方法都看不到这种源码形式安装的包。如果是以root用户安装的,可执行程序通常都在/sbin:/usr/bin目录下。

1,mysql 的守护进程是mysqld

如果已经安装则:

[root@localhost ~]# service mysqld start

启动 MySQL:                                               [确定]

如果没有安装则:

[root@localhost ~]# service mysqld start

mysqld:未被识别的服务

你可以看看你的服务是否已经添加到linux上

[root@localhost ~]# chkconfig --list mysqld

mysqld          0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:启用  6:关闭

没有安装则:

[root@localhost ~]# chkconfig --list mysqld

在mysqld服务中读取信息时出错,没有那个文件或目录

一旦你启动了服务,可以这样检查服务器是否在运行

[root@localhost ~]# ps -el | grep mysqld

如果你看到有,就说明服务器安装起来了~~

原文地址:https://www.cnblogs.com/zhaojianbin/p/9673491.html