zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    CSS边框(圆角、阴影、背景图片)
    CSS3浏览器兼容
    HTML5全局属性
    HTLM5新增属性
    HTML5标签
    如何开始使用bootstrap
    重新了解Java基础(三)-运行机制&HelloWorld
    重新了解Java基础(二)-Java的特性
    Java关键字之native
    重新了解Java基础(一)
  • 原文地址:https://www.cnblogs.com/zhaojianbin/p/9673491.html
Copyright © 2011-2022 走看看