分类 Linux 下的文章

Linux下vsftpd的安装、用户管理和SSL安全配置

一、安装

Debian下使用apt-get命令安装vsftp
#apt-get install vsftpd -y

二、ftp用户配置

1.先检查一下nologin的位置,通常是/usr/sbin/nologin或者/sbin/nologin。

2.接着创建系统账户

#useradd -d /home/www/ftproot -s /usr/sbin/nologin ftpuser
/home/www/ftproot 为该系统用户家(home)目录,ftpuser为用户名
为该帐户设置密码:
#passwd ftpuser
输入两次相同密码即可

3.然后修改指定目录的权限

#chown -R ftpuser.ftpuser /home/www/ftproot

chown -R命令改变文档/目录所有者。详解

4.配置vsftp

编辑vsftp配置文件,命令如下:
#vi /etc/vsftpd.conf
将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”
删除如下配置前的注释符号(#):
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
:wq 保存退出

接着创建vsftpd.chroot_list文件,并将ftp用户名添加进去
#touch /etc/vsftpd.chroot_list && echo ftpuser > /etc/vsftpd.chroot_list

5.修改shell配置

vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去

6.重启vsftp服务并测试登录

#service vsftpd restart
然后用帐号ftpuser测试下是否可以登陆ftp。目录是/home/www/ftproot

三、vsftp安全配置

前面配置了用户访问权限管理中的使用nologin禁止FTP帐户登录Linux服务器,现在再配置些更安全的。

1.限制恶意占有带宽的用户

在vsftp中,匿名用户和本地用户的速度限制是分开的。前者是anon_max_rate,后者是local_max_rate。 它们的单位都是byte(字节)。

如果让匿名用户和本地的用户都以最高300KB的速度下载,那么这个数字应该是1024×300=307200。在vsftpd.conf文件末尾中加入下面的两行即可:

anon_max_rate=307200
local_max_rate=307200

然后重启vsftpd服务即可。

另外,还可以限制FTP的最大连接数和每个IP的最大连接数。这两个参数分别是Max_clients和Max_per_ip。和上面一样,也只需要在vsftpd.conf文件末尾添加参数即可,如下设成了最大连接数100,每个IP的最大连接数5个:

max_clients=100
max_per_ip=5

2.防止FTP密码被恶意嗅探

由于vsftpd发送的数据是以明文方式传输,尤其是密码容易被恶意的嗅探(Sniffering)到,所以通常需要采用SSL(Secure Sockets Layer,安全套接字层)技术,使得vsftpd支持SSL加密传输,以此来抵御恶意嗅探攻击。

使用SSL技术,依赖于另外一个软件:OpenSSL,它是一个可以自由使用的SSL实现,首先需要安装这个软件。用户可以从网站 http://www.openssl.org/source/上下载Linux下OpenSSL的稳定版本,编译安装,然后执行命令生成密钥。

#wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz
#tar -xvzf openssl-1.0.1f.tar.gz
#cd openssl-1.0.1f
#./config
#make
#make install

安装成功!
success

接下来开始生成密钥

1.检查

/etc/ssl/private

目录是否存在,不存在就创建

mkdir -p /etc/ssl/private
chmod 700 /etc/ssl/private

2.执行命令生成密钥

#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

3.修改vsftpd配置文件

#vi /etc/vsftpd.conf
在末尾增加如下代码

# Turn on SSL
ssl_enable=YES

# Allow anonymous users to use secured SSL connections
allow_anon_ssl=YES

# All non-anonymous logins are forced to use a secure SSL connection in order to
# send and receive data on data connections.
force_local_data_ssl=YES
force_anon_data_ssl=YES

# All non-anonymous logins are forced to use a secure SSL connection in order to send the password.
force_local_logins_ssl=YES
force_anon_logins_ssl=YES

# Permit TLS v1 protocol connections. TLS v1 connections are preferred
ssl_tlsv1=YES

# Permit SSL v2 protocol connections. TLS v1 connections are preferred
ssl_sslv2=NO

# permit SSL v3 protocol connections. TLS v1 connections are preferred
ssl_sslv3=NO

# Disable SSL session reuse (required by WinSCP)
require_ssl_reuse=NO

# Select which SSL ciphers vsftpd will allow for encrypted SSL connections (required by FileZilla)
ssl_ciphers=HIGH

# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/private/vsftpd.pem

然后重启vsftp
#service vsftpd restart

打开FTP工具(我用的是FlashFXP),连接类型选择“FTP使用公开SSL(验证TLS)” 如下图
类型选择

连接,会弹出是否接受证书,选择“接受并保存”之后我们即可登入远程的ftp服务器。
连接成功!
连接成功

若使用不支持SSL的客户端工具访问时有可能会出现:530 Non-anonymous sessions must use encryption.的错误提示。所以提醒用户尽量选择flashfxp或CoreFtp这类的多功能客户端。

到这里为止,采用SSL机制保护下的vsftpd就算配置完成了。用户使用FTP登录和上传下载数据的过程都将是加密传输的,其中AES256-SHA是默认的加密方式,用户可以修改“ssl_ciphers=xxx”的方式来选择想要的加密方式。

参考文章

《linux下vsftpd的安全设置方法》
《Setting Up vsftpd + TLS On Debian Squeeze》

如何修改debian主机名

hostname命令,查看当前主机名

#hostname xxx
临时修改主机名,重启服务器后会恢复

#vi /etc/hostname
修改debian服务器主机名,重启后不会改变

注意:
修改主机名后,也要修改/etc/hosts文件,修改里面的对应的主机名
其他系统有的是修改/etc/sysconfig/network中的主机名

Debian下配置lnmp一键安装包

参考:lnmp.org

安装步骤如下:

1、登录云服务器

root@kali:~# ssh root@112.124.xxx.xxx
The authenticity of host '112.124.xxx.xxx (112.124.xxx.xxx)' can't be established.
RSA key fingerprint is cc:2e:18:a8:56:c8:32:40:91:a3:b6:c8:7f:8a:7d:a2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '112.124.xxx.xxx' (RSA) to the list of known hosts.
root@112.124.xxx.xxx's password: 
Linux server001 2.6.32-5-amd64 #1 SMP Sun Jan 1 04:57:38 CST 2012 x86_64

Last login: Sun Mar  2 23:58:45 2014 from 218.106.145.6
root@vps:~# cat /etc/issue
Debian GNU/Linux 6.0 \n \l

2、下载并安装LNMP一键安装包

执行安装程序前需要您确认您的Linux发行版,可以执行:cat /etc/issue 查看是CentOS、Debian还是Ubuntu。

root@vps:~# cat /etc/issue
Debian GNU/Linux 6.0 \n \l

开始下载安装包

root@vps:~# mkdir tmp
root@vps:~# cd tmp
root@vps:~/tmp# pwd
/root/tmp
root@vps:~/tmp# wget -c http://bcs.duapp.com/lnmporg/lnmp1.0-full.tar.gz
--2014-03-03 13:35:53--  http://bcs.duapp.com/lnmporg/lnmp1.0-full.tar.gz
Resolving bcs.duapp.com... 180.149.132.95
Connecting to bcs.duapp.com|180.149.132.95|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 139895354 (133M) [application/octet-stream]
Saving to: “lnmp1.0-full.tar.gz”

100%[============================================================================================================>] 139,895,354 6.10M/s   in 26s     

2014-03-03 13:36:18 (5.20 MB/s) - “lnmp1.0-full.tar.gz” saved [139895354/139895354]

解压、执行安装

root@vps:~/tmp# tar -xvzf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./debian.sh

其他系统命令:

CentOS系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./centos.sh

Ubuntu系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./ubuntu.sh

国内VPS或服务器下载安装时可以将上面命令里的http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz替换为:http://bcs.duapp.com/lnmporg/lnmp1.0-full.tar.gz 进行下载安装,下载速度会快些。

安装过程中有一些选择和设置(php版本、mysql版本、root密码等)

root@vps:~/tmp/lnmp1.0-full# ./debian.sh

=========================================================================
LNMP V1.0 for Debian VPS ,  Written by Licess 
=========================================================================
A tool to auto-compile & install Nginx+MySQL+PHP on Linux 

For more information please visit http://www.lnmp.org/
=========================================================================
Where are your servers located? asia,america,europe,oceania or africa 
(Default area: america):asia
===========================
area=asia
===========================
Please input the root password of mysql:
(Default password: root):   
===========================
mysqlrootpwd=root
===========================
===========================
Do you want to install the InnoDB Storage Engine?
(Default no,if you want please input: y ,if not please press the enter button):
INPUT error,The InnoDB Storage Engine will NOT install!
===========================
Install PHP 5.3.17,Please input y
Install PHP 5.2.17,Please input n or press Enter
(Please input y or n):y
You will install PHP 5.3.17
===========================
Install MySQL 5.5.27,Please input y
Install MySQL 5.1.60,Please input n or press Enter
(Please input y or n):y
You will install MySQL 5.5.27

Press any key to start...
Debian GNU/Linux 6.0 \n \l

Linux server001 2.6.32-5-amd64 #1 SMP Sun Jan 1 04:57:38 CST 2012 x86_64 GNU/Linux

安装成功!

============================add nginx and php-fpm on startup============================
Download new nginx init.d file......
--2014-03-03 14:25:39--  http://soft.vpser.net/lnmp/ext/init.d.nginx
Resolving soft.vpser.net (soft.vpser.net)... 96.44.153.111
Connecting to soft.vpser.net (soft.vpser.net)|96.44.153.111|:80... connected.
HTTP request sent, awaiting response... 416 Requested Range Not Satisfiable

    The file is already fully retrieved; nothing to do.

update-rc.d: using dependency based boot sequencing
update-rc.d: using dependency based boot sequencing
update-rc.d: using dependency based boot sequencing
===========================add nginx and php-fpm on startup completed====================
Starting LNMP...
Starting MySQL
....
Starting php-fpm  done
Starting nginx daemon: nginx.
# Generated by iptables-save v1.4.8 on Mon Mar  3 14:25:43 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:136]
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
COMMIT
# Completed on Mon Mar  3 14:25:43 2014
===================================== Check install ===================================

Checking...
Nginx: OK
PHP: OK
PHP-FPM: OK
MySQL: OK
Install lnmp 1.0 completed! enjoy it.
=========================================================================
LNMP V1.0 for CentOS/RadHat Linux VPS  Written by Licess 
=========================================================================

For more information please visit http://www.lnmp.org/

lnmp status manage: /root/lnmp {start|stop|reload|restart|kill|status}
default mysql root password:root
phpinfo : http://yourIP/phpinfo.php
phpMyAdmin : http://yourIP/phpmyadmin/
Prober : http://yourIP/p.php
Add VirtualHost : /root/vhost.sh

The path of some dirs:
mysql dir:   /usr/local/mysql
php dir:     /usr/local/php
nginx dir:   /usr/local/nginx
web dir :     /home/wwwroot/default

=========================================================================
=========================================================================
Manager for LNMP V1.0  ,  Written by Licess 
=========================================================================
LNMP is a tool to auto-compile & install Nginx+MySQL+PHP on Linux 
This script is a tool to Manage status of lnmp 
For more information please visit http://www.lnmp.org 

Usage: /root/lnmp {start|stop|reload|restart|kill|status}
=========================================================================
Nginx is runing!
php-fpm is runing!
MySQL running (31593).
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
root@vps:~/tmp/lnmp1.0-full# 

来张图
lnmp-success

附录:

除去所必须的依赖包,LNMP一键安装包会安装一下软件:
默认安装软件:

Nginx
MySQL
PHP
PHPMyAdmin
Zend Optimizer

可选软件:
PureFTPd(可选)
Proftpd(可选)
Apache(可选)
eAccelerator(可选)
ionCube(可选)
imageMagick(可选)
memcached(可选)
xcache(可选)

LNMP相关软件安装目录
Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
PHP目录 : /usr/local/php/
PHPMyAdmin目录 : 0.9版为/home/wwwroot/phpmyadmin/ 1.0版为 /home/wwwroot/default/phpmyadmin/ 强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。
默认网站目录 : 0.9版为 /home/wwwroot/ 1.0版为 /home/wwwroot/default/
Nginx日志目录:/home/wwwlogs/
/root/vhost.sh添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/

LNMP相关配置文件位置
Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
/root/vhost.sh添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf

Linux 系统挂载数据盘

适用系统:Linux(Redhat , CentOS,Debian,Ubuntu)

下面的操作将会把数据盘划分为一个分区来使用。

1、查看数据盘

在没有分区和格式化数据盘之前,使用 “df –h”命令,是无法看到数据盘的,可以使用“fdisk -l”命令查看。如下图:
查看数据盘

2、 对数据盘进行分区


执行“fdisk -S 56 /dev/xvdb”命令,对数据盘进行分区;
根据提示,依次输入“n”,“p”“1”,两次回车,“wq”,分区就开始了,很快就会完成。
开始分区
3、 查看新的分区
使用“fdisk -l”命令可以看到,新的分区xvdb1已经建立完成了。
查看新的分区
4、格式化新分区
使用“mkfs.ext3 /dev/xvdb1”命令对新分区进行格式化,格式化的时间根据硬盘大小有所不同。
格式化新分区
5、添加分区信息
使用“echo '/dev/xvdb1 /mnt ext3 defaults 0 0' >> /etc/fstab”(不含引号)命令写入新分区信息。
然后使用“cat /etc/fstab”命令查看,出现以下信息就表示写入成功。
* 如果需要把数据盘单独挂载到某个文件夹,比如单独用来存放网页,可以修改以上命令中的/mnt部分
添加分区信息
6、挂载新分区
使用“mount -a”命令挂载新分区,然后用“df -h”命令查看,出现以下信息就说明挂载成功,可以开始使用新的分区了。
挂载新分区

Kali-linux下安装使用QQ

参考:xiao106347

WineQQ2013

1).下载地址
百度网盘:http://pan.baidu.com/s/1zkvEY

2).安装方法和wineqq2012一样
32位直接dpkg -i **.deb即可完成安装
64位得安装32位兼容库:
dpkg --add-architecture i386
apt-get update
apt-get install ia32-libs  libnotify-bin ia32-libs-gtk
还缺什么依赖就安装什么依赖就好了

3).软件版本
qq2013sp4
wine1.7

4).目前已知的bug
a.无法用物理键盘输入密码,所以只能用软件盘
b.ibus输入法和wineqq2013有冲突

关于龙井原文地址:http://www.longene.org/forum/viewtopic.php?f=6&t=4700