虚拟机搭建java应用环境 Tomcat 宝塔面板的使用搭建FTP环境

    技术2022-07-16  80

    链接

    rpm命令使用方法MobaXterm工具tomcat依赖jdk所以先安装jdktomca全局配置启动你修改了系统变量得先 source /etc/profilewindows下搭建FTP环境在WIN10上搭建Ftp服务器 百度吧 很多的**主要说下Linux下搭建PDF首先了解一下宝塔面板(图形化窗口)**安装宝塔面板忘记账户时查看宝塔面板账户命令:Centos 7使用vsftpd搭建FTP服务器二、匿名开放模式CentOS7 默认使用firewalld防火墙下面介绍一下本地用户模式接下来 虚拟用户模式

    rpm命令使用方法

    MobaXterm工具

    推荐软件:远程终端神器:MobaXterm 个人觉得比Filezilla好用的多 功能也多 网址:https://mobaxterm.mobatek.net/

    tomcat依赖jdk所以先安装jdk

    查询系统中是否已安装了jdk: rpm -qa | grep java 移除已安装的Open JDK: yum remove java-1.8.0-openjdk* yum remove java-1.7.0-openjdk* 查询系统中是否已安装了jdk: rpm -qa | grep java 安装rpm格式的jdk: rpm -ivh jdk-8u221-linux-x64.rpm 测试jdk是否安装成功: java -version 卸载 用remove来做 先查到jdk 然后卸载 卸载: 安装(这里不需要配置环境变量)解压的属需要 也可以同wget+网址 的方式下载tomcat但是慢不建议 直接本地上传到虚拟机 移动后记得删除根目录下的解压包 因为走的是复制 cp apache-tomcat-9.0.36/ -R /usr/local/ rm -rf apache-tomcat-9.0.36 在linux .bat文件没啥用 删掉看起来少点 在bin目录下: rm -rf *.bat 先在bin下启动tomcat : ./startup.sh 在curl http://localhost:8080 下面打印一些网址啥的其实就是页面就成功了 也可以用浏览器验证 先启动tomcat 但是这个你必须在tomcat bin下面输入命令 我们可以配置到环境变量里 在哪都可以用 pwd 获取到绝对路径 复制(不用到bin) 编辑系统变量:vim /etc/profile

    tomca全局配置启动

    在结尾另提一行 输入: TOMCAT_HOME=/usr/local/apache-tomcat-9.0.36 export PATH= P A T H : PATH: PATH:TOMCAT_HOME/bin

    你修改了系统变量得先 source /etc/profile

    然后查看变量里有没有我们配置的东西

    我们现在在家目录进行关闭 再过来进行重命名操作 下面注意 shutdown 特殊 他是关机 所以别改成shutdown 会冲突 startup.sh是可以修改成你想用的名字 然后你回到家目录输入你改后的也生效(别急待验证 没试着)

    windows下搭建FTP环境

    下面有必要知道

    在WIN10上搭建Ftp服务器 百度吧 很多的**

    https://blog.csdn.net/Elimeny/article/details/79842184 注意点: IP地址是你本机的IP地址 最后一步是身份验证问题,内网访问如果没有重要文件和机密文件那么可以选择匿名开放浏览。但是如果有重要文件放在FTP服务器中进行共享那么务必选择基本然后分配用户名和密码;   至于权限一般情况下应该是非管理员可以读取、管理员可以读取和写入,同样的道理如果有重要文件那么也不应该匿名开放读取和写入。 还有一种更快的玩法以管理员身份运行命令窗口 你在那个目录下输入: python -m http.server 8099 然后去访问127.0.0.1:8099 就会列举当前目录内容

    主要说下Linux下搭建PDF

    首先了解一下宝塔面板(图形化窗口)**

    网址:https://www.bt.cn/ 进去点立即安装 会跳到一个页面

    安装宝塔面板

    选择自己对应的 复制代码

    我当时发生了错误 百度后我又重新执行了下面命令: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 然后成功了

    忘记账户时查看宝塔面板账户命令:

    命令:bt default 在你忘记密码账号的时候执行 记得换ip http://192.168.79.150:8888/33d6d9a3 登进去后进入软件商店 安装一个免费的ftp 这里的根目录是: /www/wwwroot/lxd 下面要用

    这就成功了 同时下面啥都没有 可以去他的目录写一个文件( /www/wwwroot/lxd touch text.html )

    刷新页面 然后再模拟用工具连接

    Centos 7使用vsftpd搭建FTP服务器

    查看是否安装了vsftp: rpm -qa |grep vsftpd 卸载vsftp rpm -e vsftp 安装vsftp yum install -y vsftp 设置vsftp开机启动 chkconfig --list查看不同启动级别自动启动的系统服务 chkconfig --level 35 --add vsftpd on 添加vsftpd自启动以及级别为3和5(关闭为off,具体参照chkconfig)

    更改vsftp端口 更改/etc/vsftpd/vsftpd.conf添加listen_port=更改的端口数值 更改/etc/services里的ftp对应的tcp和udp对应端口为更改的端口

    1、yum -y install vsftpd 先做一个备份:(先重命名后又改回来) mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 上面换名字了 再改回来 grep -v “#” /etc/vsftpd/vsftpd.conf.bak > /etc/vsftpd/vsftpd.conf 这样查看就过滤掉了注释的内容便于查看 但是不必要看习惯

    配置firewalld防火墙开放2231和45000-49000端口 firewall-cmd --permanent --add-port=2231/tcp firewall-cmd --permanent --add-port=45000-49000/tcp firewall-cmd --reload

    配置selinux允许FTP服务 注:没有selinux相关命令的话,需要安装policycoreutils-python包 yum -y install policycoreutils-python.x86_64 setsebool -P ftpd_full_access=on

    二、匿名开放模式

    1、修改配置文件,带注释的是需要修改和新增的配置 vim /etc/vsftpd/vsftpd.conf 嫌一个个修改麻烦直接把你里面的开放内容全部删掉 换成下面这个(注释的部分是需要修改的 复制到文件里 可不能带下面的注释)

    anonymous_enable=YES #启用匿名访问模式 anon_umask=022 #匿名用户上传文件的umask值 anon_upload_enable=YES #允许匿名用户上传文件 anon_mkdir_write_enable=YES #允许匿名用户创建目录 anon_other_write_enable=YES #允许匿名用户重命名、删除等操作 anon_root=/data/anon #匿名用户的FTP根目录 local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen_port=2231 #vsftpd服务监听的端口号 listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES pasv_min_port=45000 #PASV模式最小端口号 pasv_max_port=49000 #PASV模式最大端口号

    2、创建并授权匿名用户FTP根目录 mkdir -p /data/anon/pub chown -R ftp /data/anon/pub/ 3、启动vsftpd服务,并加入开机启动 systemctl start vsftpd systemctl enable vsftpd 下面说没有找到ftp 安装即可 安装好之后

    ftp 192.168.79.150 2231 (ftp + ip +端口号)就会进入ftp name 一律为anonymous 密码为空(直接回车) 然后记得cd pub 在里面进行操作 在复制的会话 查看是否成功

    CentOS7 默认使用firewalld防火墙

    开放特定端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent 查看防火墙状态:firewall-cmd --state 重启防火墙:systemctl restart firewalld 查看端口列表:firewall-cmd --zone=public --list-ports 2.安装iptables-services yum install iptables-services 3.修改防火墙配置文件 cat /etc/sysconfig/iptables vi /etc/sysconfig/iptables

    上面是匿名开放模式

    下面介绍一下本地用户模式

    1、修改配置文件,删除之前的匿名模式配置内容,带注释的是需要修改和新增的配置 直接修改吧: vim /etc/vsftpd/vsftpd.conf 复制到文件里 可不能带下面的注释

    #注释部分做了修改 可直接全部复制替换成你文件里的 anonymous_enable=NO #关闭匿名访问模式 local_enable=YES write_enable=YES local_umask=022 local_root=/data/user #指定本地用户的FTP根目录 chroot_local_user=YES #将用户权限禁锢在FTP目录 allow_writeable_chroot=YES #允许对FTP根目录执行写入操作 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen_port=2231 listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES pasv_min_port=45000 pasv_max_port=49000

    2、创建本地用户,并指定家目录

    useradd -d /data/user -s /sbin/nologin user echo "123456" | passwd --stdin user

    3、重启vsftpd服务 而且执行这条命令 下面没东西就对的 下面有提示 就是你文件内容没对 systemctl restart vsftpd

    4、测试 这个时候你登录(ftp 192.168.79.150 2231 ) 用户名user 密码123456 肯定会报530的错 这是因为 cat /etc/shells 通过查看登录shells 他没有 /sbin/nologin 加上就好了 vim /etc/shells 最后加 /sbin/nologin //nologin 只能登录不能作为用户进入系统查看文件或其他 然后 rm -rf /data/user 移除用户:userdel user 重新执行 -d指定家目录 -s指定登录shell

    useradd -d /data/user -s /sbin/nologin user echo "123456" | passwd --stdin user

    //stdin 输入流你要是设置过密码想修改:passwd user 可以通过这个命令 看到我们刚才新添加的用户: tail /etc/passwd

    再次登录就好了 这里补充一下为啥:/usr/sbin/nologin nologin会礼貌的向用户显示一条信息,并拒绝用户登录: This account is currently not available. 有一些软件,**比如一些ftp服务器软件,对于本地非虚拟账户,只有用户有有效的shell才能使用ftp服务。**这时候就可以使用nologin使用户即不能登录系统,还能使用一些系统服务,比如ftp服务。/bin/false则不行,这是二者的重要区别之一。 扩展:/etc/nologin 如果存在/etc/nologin文件,则系统只允许root用户登录,其他用户全部被拒绝登录,并向他们显示/etc/nologin文件的内容。

    接下来 虚拟用户模式

    1、创建用于FTP认证的用户数据库文件 vim /etc/vsftpd/vuser.txt 注:第一行用户名,第二行密码,依此类推 明文信息不安全,需要使用db_load命令用哈希(hash)算法将明文信息转换成数据文件,然后将明文信息文件删除。(加密) **将用户信息文件转换为数据库并使用hash加密:db_load -T -t hash -f ** db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db 设置为可以查看一下 接下来修改权限:chmod 600 /etc/vsftpd/vuser.db 再次查看权限已经变成600:ll /etc/vsftpd/ 接下来删除掉明文文件:rm -f /etc/vsftpd/vuser.txt 2、创建虚拟用户映射的系统本地用户和FTP根目录 添加用户:useradd -d /data/ftproot -s /sbin/nologin virtual 改权限:-R针对目录 -f不提示 :chmod -Rf 755 /data/ftproot/ 3、建立用于支持虚拟用户的PAM文件 新建一个用于虚拟用户认证的PAM文件vsftpd.vu,其中PAM文件内的“db=”参数为使用db_load命令生成的账户密码数据文件的路径,但不用写数据文件的后缀。 vim /etc/pam.d/vsftpd.vu 写入下面两个 认证: auth required pam_userdb.so db=/etc/vsftpd/vuser 账户: account required pam_userdb.so db=/etc/vsftpd/vuser 4、为两个虚拟用户设置不同的权限,xuad拥有所有权限,而limin只有读取权限。 虚拟用户目录: mkdir /etc/vsftpd/vusers_dir 前面我们设置的用户名ftp01~ftp03 touch /etc/vsftpd/vusers_dir/ftp01 vim /etc/vsftpd/vusers_dir/ftp02 anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES 5、修改配置文件,删除之前的匿名模式配置内容,带注释的是需要修改和新增的配置 相当于复制一份 其实没必要 vim /etc/vsftpd/vsftpd.conf

    anonymous_enable=NO anon_umask=022 local_enable=YES guest_enable=YES #开启虚拟用户模式 guest_username=virtual #指定虚拟用户对应的系统用户 allow_writeable_chroot=YES #允许对FTP根目录执行写入操作 write_enable=YES local_umask=022 local_root=/data/ftproot dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen_port=2231 listen=NO listen_ipv6=YES pam_service_name=vsftpd.vu #指定PAM文件 userlist_enable=YES tcp_wrappers=YES user_config_dir=/etc/vsftpd/vusers_dir #指定虚拟用户配置文件目录 pasv_min_port=45000 pasv_max_port=49000

    6、重启vsftpd服务 systemctl restart vsftpd 7、测试 因为我们前面ftp01只设置了只读权限 假设创建一个目录 他是创建不了的 切换到ftp02用户 它的权限给的多 这是因为端口号错了 改成2231即可 但是还是连不上 这可能是本机2231端口未开放 linux 里是可以访问的

    Processed: 0.011, SQL: 9