海运的博客

Linux/Centos/ubuntu下安装配置vsftpd

发布时间:April 12, 2012 // 分类:备份存储 // No Comments

首先安装Vsftpd,本文以Yum方式安装,当然也可以源码方式编译安装Vsftpd,感觉没那个必要。

yum -y install vsftpd

备份默认配置文件

cd /etc/vsftpd
cp vsftpd.conf vsftpd.conf.back
vim vsftpd.conf

添加如下配置:

listen=YES
hide_ids=YES
tcp_wrappers=NO
dirmessage_enable=NO
utf8_filesystem=YES
use_localtime=YES
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/run/log/xferlog 
dual_log_enable=YES
vsftpd_log_file=/run/log/vsftpd.log
log_ftp_protocol=YES
#pam认证配置/etc/pam.d/vsftpd_db
pam_service_name=vsftpd_db
#处理ftp读写任务的vsftpd子进程运行用户
nopriv_user=www-data
#开启被动模式
pasv_enable=YES
pasv_min_port=65400
pasv_max_port=65410

#ubuntu使用本地用户shell为/usr/sbin/nologin时要将/usr/sbin/nologin添加到/etc/shells
#或去除/etc/pam.d/vsftpd内auth    required        pam_shells.so
local_umask=022
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=NO
allow_writeable_chroot=YES
userlist_enable=YES
userlist_deny=NO
#可登录的本地用户或虚拟用户列表
userlist_file=/etc/vsftpd/allow_user
#非匿名用户使用宿主用户
guest_enable=YES
#读写文件宿主用户
guest_username=www-data
#虚拟用户使用宿主用户权限
virtual_use_local_privs=YES
local_root=/webdav/
#user_sub_token=$USER
#local_root=/webdav/$USER
#虚拟用户配置文件目录,如user1配置文件/etc/vsftpd/vusers/user1
#user_config_dir=/etc/gfw/vsftpd/vusers

#如同时开启local和userlist_enable白名单,要将anonymous用户添加进去,不然不能匿名登录
anonymous_enable=YES
no_anon_password=YES
#匿名访问目录
anon_root=/mnt/
#匿名用户上传/删除/重命名权限
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_umask=022

虚拟用户密码使用db5格式:

apt install db-util
cat >> /etc/vsftpd/user.txt << EOF
testuser
password
EOF
db_load -T -t hash -f user.txt user.db
cat >> /etc/pam.d/vsftpd_db << EOF
#注意user文件不带后缀.db,不然会提示找不到文件
auth       required     pam_userdb.so db=/etc/vsftpd/user
account    required     pam_userdb.so db=/etc/vsftpd/user
session    required     pam_loginuid.so
EOF

使用htpasswd验证密码:

#使用openssl生成密码:echo 123456|openssl passwd -6 -in -
apt install htpasswd libpam-pwdfile
htpasswd -b -d /etc/gfw/vsftpd/user.htpasswd testuser password
cat >> /etc/pam.d/vsftpd_db << EOF
auth required pam_pwdfile.so pwdfile /etc/vsftpd/user.htpasswd
account required pam_permit.so
EOF

如有开启iptalbes防火墙,放行Vsftpd端口:

iptables -A INPUT -p tcp   --dport 21 -j ACCEPT
iptables -A INPUT -p tcp   --dport 65400:65410 -j ACCEPT

启动Vsftpd,配置为开机自启动。

/etc/init.d/vsftpd start
chkconfig vsftpd on

添加用户:

adduser test -s /sbin/nologin -d /home/test
passwd test

XenServer下查找占用硬盘IO较高的虚拟机

发布时间:April 12, 2012 // 分类:虚拟化 // No Comments

首先用iostat查看各个磁盘读写情况,虚拟机磁盘是以dm-id为名显示的。

iostat 2 2 #取样两次,每次相隔2秒

查找tps大于20的vm,并按大小排序

iostat 2 2|grep ^dm-|awk -F"[ ]+|[-]" '{if($3>20){print $2"\t"$3}}'|sort -rnk 2
#第一列为磁盘ID,第二列为当前tps

根据磁盘ID查找相应的虚拟机

#!/bin/bash
#根据iostat结果ID找出相应VM
#执行sh file.sh 编号
case $1 in
*)
  id=`ls -l /dev/mapper/|awk '{if ($6=="'$*'"){print $NF}}'|awk -F-- '{print $NF}'`;xe vdi-list|grep -A 1 $id
;;
esac   

XenServer由mac地址获取虚拟机名称

发布时间:April 12, 2012 // 分类:虚拟化 // No Comments

1.通过vif列表直接获取

xe vm-vif-list|grep -B 2 "mac"

2.通过vm uuid获取

vmid=`xe vif-list MAC=be:c1:46:fd:4e:b7|grep vm-uuid|awk '{print $4}'`;xe vm-list|grep $vmid -A 1

Linux命令行下生成随机安全复杂密码

发布时间:April 12, 2012 // 分类:网络安全 // No Comments

1.使用openssl生成复杂密码。

openssl rand -base64 32 #密码长度32字节。
openssl rand -hex 32

2.使用gpg随机生成

gpg -a --gen-random 2 32
#-a 输出为base64
#2 安全级别 2为/dev/random  1为/dev/urandom

3.使用urandom生成复杂密码,包含各种字符。

#/bin/bash
#generate safe password
#tr -c匹配指定字符 -d删除其它字符
#执行sh safe-pass.sh 密码位数
case $1 in
*)
</dev/urandom tr -dc '1-9!@#$%^&*()a-z-A-Z' | head -c$*; echo " "
#tr -dc '[:graph:]' < /dev/urandom|fold -w32|head -n 20
;;
esac

Mysql错误 Lost connection to MySQL server at 'reading initial communication packet

发布时间:April 12, 2012 // 分类:数据库 // No Comments

一客户网站连接Mysql出现以下错误:

 Lost connection to MySQL server at 'reading initial communication packet', system error: 0

解决方法,关闭DNS反查,修改Mysql配置文件,添加以下参数并重启Mysql服务。

skip-name-resolve
分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
归档