11月
06
不想用 sftp,就自己装个 ftp。
阿里云这片文章就够了
vsftpd(very secure FTP daemon)是Linux下的一款小巧轻快、安全易用的FTP服务器软件。本教程介绍如何在Linux实例上安装并配置vsftpd。
https://help.aliyun.com/document_detail/182263.html
背景信息
FTP(File Transfer Protocol)是一种文件传输协议,基于客户端/服务器架构,支持以下两种工作模式:
- 主动模式:客户端向FTP服务器发送端口信息,由服务器主动连接该端口。
- 被动模式:FTP服务器开启并发送端口信息给客户端,由客户端连接该端口,服务器被动接受连接。
FTP支持以下三种认证模式:
操作一波
1.1 安装
yum install vsftpd
2.1 开启服务
systemctl start vsftpd
3.1 设置开机启动
- 先查看是否开机启动:
systemctl list-unit-files | grep vsftpd
- 我的系统显示这样:
systemctl list-unit-files | grep vsftpd
vsftpd.service disabled
vsftpd@.service indirect
vsftpd.target disabled
这里是未开通。
- 开启自启。
chkconfig vsftpd on
- 查看 ftp 服务监听的端口
netstat -antup | grep ftp
4.1 配置 vsftpd
为保证数据安全,本文主要介绍被动模式下,使用本地用户访问FTP服务器的配置方法。
# 创建用户 ftplin
adduser ftplin
# 给 ftplin 设置密码
passwd ftplin
# 创建一个供 ftp 使用的目录
mkdir /var/ftp/lin
# 创建一个测试文件
vim /var/ftp/lin/test.txt
# 填入 hello 保存退出
# 给 /var/ftp/lin 设置所有者
chown -R ftplin:ftplin /var/ftp/lin
再去修改 vsftpd.conf 配置文件:
vim /etc/vsftpd/vsftpd.conf
4.1 修改配置文件
vim /etc/vsftpd/vsftpd.conf
按照以下要求修改
注意 修改和添加配置文件内的信息时,请注意格式问题。例如,添加多余的空格会造成无法重启服务的结果。
#除下面提及的参数,其他参数保持默认值即可。
#修改下列参数的值:
#禁止匿名登录FTP服务器。
anonymous_enable=NO
#允许本地用户登录FTP服务器。
local_enable=YES
#监听IPv4 sockets。
listen=YES
#在行首添加#注释掉以下参数:
#关闭监听IPv6 sockets。
#listen_ipv6=YES
#在配置文件的末尾添加下列参数:
#设置本地用户登录后所在目录。
local_root=/var/ftp/test
#全部用户被限制在主目录。
chroot_local_user=YES
#启用例外用户名单。
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录。
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
#本教程中为Linux实例的公网IP。
pasv_address=FTP服务器公网IP地址
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=port number
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=port number
创建chroot_list文件,并在文件中写入例外用户名单。
# 输入例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。及时没有例外用户,该文件也必须创建,内容为空。
# 个人建议该文件为空最好,不必去访问其他目录,世界一片安静多好呀。
vim /etc/vsftpd/chroot_list
重启服务
systemctl restart vsftpd.service
到此为止, ftp 的配置已经完了。但阿里云还得配置安全组。21 端口入方向必须打开以及上边配置的访问的最小到最大端口也要配置。
设置安全组
规则方向 |
授权策略 |
协议类型 |
端口范围 |
授权对象 |
入方向 |
允许 |
TCP |
21/21 |
所有要访问FTP服务器的客户端公网IP地址,多个地址之间用逗号隔开。允许所有客户端访问时,授权对象为0.0.0.0/0。 |
入方向 |
允许 |
TCP |
pasv_min_port/pasv_max_port。例如:50000/50010 |
所有要访问FTP服务器的客户端公网IP地址,多个地址之间用逗号隔开。允许所有客户端访问时,授权对象为0.0.0.0/0。 |
可以测试了
使用 ftp 工具。比如 win 的 ftpx, mac 的 forklift 。输入公网 ip 地址,选择 ftp 连接方式(端口号不用管),填入用户名和密码。点击连接。是不是马上就好了,并进入到指定的目录了哈。
8月
25
vim /> 新买的云,状的是centos8系统,使用起来发现文件内中文乱码。这个得解决。
一步一步往下走
查看你的语言是什么
echo $LANG
# 结果
zh_CN.UTF-8
**继续 **
localectl status
# 结果
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: us
发现系统缺少中文包。弄起来。
yum search Chinese
# 结果
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 3:04:20 ago on Thu Aug 25 10:58:01 2022.
========================================== Name & Summary Matched: chinese ===========================================
ibus-table-chinese.noarch : Chinese input tables for IBus
=============================================== Name Matched: chinese ================================================
ibus-table-chinese-array.noarch : Array input methods
ibus-table-chinese-cangjie.noarch : Cangjie based input methods
ibus-table-chinese-cantonese.noarch : Cantonese input methods
ibus-table-chinese-easy.noarch : Easy input method
ibus-table-chinese-erbi.noarch : Erbi input method
ibus-table-chinese-quick.noarch : Quick-to-learn input methods
ibus-table-chinese-scj.noarch : Smart Cangjie
ibus-table-chinese-stroke5.noarch : Stroke 5 input method
ibus-table-chinese-wu.noarch : Wu pronunciation input method
ibus-table-chinese-wubi-haifeng.noarch : Haifeng Wubi input method
ibus-table-chinese-wubi-jidian.noarch : Jidian Wubi 86 input method, JiShuang 6.0
ibus-table-chinese-yong.noarch : YongMa input method
============================================== Summary Matched: chinese ==============================================
autocorr-zh.noarch : Chinese auto-correction rules
langpacks-zh_CN.noarch : Simplified Chinese langpacks meta-package
langpacks-zh_TW.noarch : Traditional Chinese langpacks meta-package
texlive-arphic.noarch : Arphic (Chinese) font packages
wqy-microhei-fonts.noarch : Compact Chinese fonts derived from Droid
那么,就装个中文包。
dnf install langpacks-zh_CN.noarch
修改本地语言环境。
vim /etc/locale.conf
# 填入
LANG=zh_CN.UTF-8
# 使生效
source /etc/locale.conf
7月
30
LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443 出这个错误。这么干:
git config --global --unset http.proxy
然后就好了。
6月
17
在做 go 测试的时候,经常会有端口被使用,而没停止。停掉该进程就很有必要。
操作一波
# 以 3000 端口为例
lsof -i:3000
# 通过 lsof 命令找到 pid ,杀掉 pid
kill -9 xxxx
5月
15
强迫症。不喜欢开机自启动向日葵。那么就关掉向日葵自启动吧。这里是 mac
操作
打开终端,编辑下边这些文件,将 Disabled 的值改为 即可。
cd /Library/LaunchAgents/
sudo vim com.oray.sunlogin.agent.plist
sudo vim com.oray.sunlogin.startup.plist
cd /Library/LaunchDaemons
sudo vim com.oray.sunlogin.helper.plist
sudo vim com.oray.sunlogin.plist
11月
09
从零开始,来吧
php 下载地址集:https://www.php.net/downloads
先下载解压 php 包
# 先把文件下到这个目录下来
cd /usr/local/src/php
wget https://www.php.net/distributions/php-7.4.25.tar.gz
# 提示说 错误: “www.php.net” 的证书不可信 错误: “www.php.net” 的证书使用不安全的算法签名。
# wget 搞不定,我们用 curl 来弄
curl -o php-7.4.25.tar.gz https://www.php.net/distributions/php-7.4.25.tar.gz
# 再解压
tar -xzvf php-7.4.25.tar.gz
安装依赖包
能用 yum 装的就用 yum 装,不行的再源码编译安装
yum -y install gcc gcc-c++
yum -y install sqlite-devel
yum install libxslt-devel
yum install cmake
# 还是要手动安装 oniguruma
请参考:[https://blog.vini123.com/379](https://blog.vini123.com/379)
yum -y install libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel libicu-devel freetype-devel openldap-devel openldap openldap-devel
安装 gd库,freetype2,libzip ,请参考:https://blog.vini123.com/378
安装
如果之前没建立其用户组,先建立一个用户组
groupadd nginx
useradd -g nginx -M nginx
参考
https://www.cnblogs.com/alliancehacker/p/12255445.html
https://blog.vini123.com/378
https://blog.vini123.com/303
8月
29
默认主机名乱七八糟,不好看也找不到意义。修改主机名就很有必要。怎么做呢。
操作一波
# 将 preserve_hostname 值改为 true ,保存并退出
vim /etc/cloud/cloud.cfg
# 设置主机名,这里我设置为 xiangrong (云想衣裳花想容,春风拂槛露华浓)
hostnamectl set-hostname xiangrong
退出连接,重新登录就发现修改好了。
8月
13
直接开始
在这里找到最新的版本 https://www.python.org/ftp/python/,当前 3.9.6 版本。
cd /usr/local/src
wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
tar -xzvf Python-3.9.6.tgz
cd Python-3.9.6
mkdir /usr/local/python39
./configure --enable-optimizations --prefix=/usr/local/python39
make && make install
建立软链
ln -s /usr/local/python39/bin/python3.9 /usr/bin/python
ln -s /usr/local/python39/bin/pip3.9 /usr/bin/pip
参考
https://www.cnblogs.com/yangjisen/p/13171063.html