小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

linxu Ubuntu 15.x vsftpd 虛擬用戶登錄及mysql驗(yàn)證

 醉人說(shuō)夢(mèng) 2017-08-09

要建立一個(gè)本地FTP服務(wù)器,虛擬用戶登陸
風(fēng)來(lái)了.fox

全部以 root 權(quán)限

所有配置末尾不能 有 空格

1.安裝

apt-get install -y vsftpd
apt-get install -y db5.3-util   #有可能版本不一樣
  • 1
  • 2
  • 1
  • 2

安裝完成后,自動(dòng)建立 ftp用戶及用戶組

mkdir /home/ftp
chmod a-w /home/ftp
mkdir /home/ftp/test1 #test1用戶的目錄
vim /home/ftp/user.text
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

在user.text文件中寫入

test1
test1
  • 1
  • 2
  • 1
  • 2

奇數(shù)行是用戶名(1,3,5…)
偶數(shù)行是密碼 (2,4,6…)
以此類推

2.生成用戶名密碼數(shù)據(jù)庫(kù)文件

db5.3_load  -T -t hash -f /home/ftp/user.txt /home/ftp/vsftpd_login.db
chmod 600 /home/ftp/vsftpd_login.db
  • 1
  • 2
  • 1
  • 2

配置PAM

vim /etc/pam.d/vsftpd.vu
  • 1
  • 1

復(fù)制如下內(nèi)容 (每行末尾都不要有空格)

auth required pam_userdb.so db=/home/ftp/vsftpd_login
account required pam_userdb.so db=/home/ftp/vsftpd_login
  • 1
  • 2
  • 1
  • 2

64位系統(tǒng)軟連接

mkdir -p /lib/security
ln -s /lib/x86_64-linux-gnu/security/pam_userdb.so /lib/security/pam_userdb.so
  • 1
  • 2
  • 1
  • 2

3.配置用戶權(quán)限

mkdir /etc/vsftpd_user_conf  #用戶權(quán)限文件目錄
vim /etc/vsftpd_user_conf/test1
  • 1
  • 2
  • 1
  • 2

復(fù)制如下內(nèi)容 (每行末尾都不要有空格)

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/ftp/test1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

anon_world_readable_only:NO //可以瀏覽FTP目錄和下載文件
write_enable:YES允許寫入
anon_upload_enable:YES允許上傳
anon_mkdir_write_enable:YES允許創(chuàng)建刪除目錄
anon_other_write_enable:YES允許文件改名和刪除(修改/刪除)

4.配置vsftpd

####sudo useradd vsftpd -d /home/vsftpd -s /bin/false
以上1個(gè)不需要執(zhí)行
sudo useradd ftp -d /home/ftp -s /bin/false

vim /etc/vsftpd.conf
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

根據(jù)以下配置進(jìn)行更改(每行末尾都不要有空格)

#獨(dú)立模式啟動(dòng)
listen=YES
#如果要讓訪問(wèn)的用戶必須輸入用戶名和密碼的話,這個(gè)時(shí)候這里就是設(shè)置成NO
anonymous_enable=NO
#同時(shí)允許4客戶端連入,每個(gè)IP最多5個(gè)進(jìn)程
max_clients=200
max_per_ip=4
#是否采用端口20進(jìn)行數(shù)據(jù)傳輸
connect_from_port_20=YES

dirmessage_enable=YES
#生成日志
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
pam_service_name=vsftpd.vu
local_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
#下面的可以復(fù)制
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd_user_conf
local_root=/home/ftp
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

guest_username:我們上面設(shè)置的本地用戶名
pasv_min_port:被動(dòng)端口
pasv_max_port:被動(dòng)端口
具體參數(shù)說(shuō)明:http://baike.baidu.com/view/1806035.htm

5.權(quán)限設(shè)置

chown ftp:ftp /home/ftp
chmod a-w /home/ftp
chmod 777 -R /home/ftp/test1
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

6.重啟

systemctl restart vsftp.service
  • 1
  • 1

7.使用mysql方式驗(yàn)證

apt-get -y install libpam0g-dev 
  • 1
  • 1

http:///projects/pam-mysql/files/
下載pam_mysql-0.7RC1.tar.gz

tar zxvf pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1
./configure --with-openssl --with-mysql=/www/lanmps/mysql
make
make install
cp .libs/pam_mysql.so /lib/x86_64-linux-gnu/security/
ln -s /lib/x86_64-linux-gnu/security/pam_mysql.so /lib/security/pam_mysql.so #這一步不一定需要,有可能安裝時(shí)自動(dòng)安裝到目錄
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

7.1配置文件修改

7.1.1 方法一:無(wú)mysql日志

vim /etc/pam.d/vsftpd.mysql
  • 1
  • 1

復(fù)制如下內(nèi)容

auth required pam_mysql.so user=root passwd=root host=localhost db=vsftpd table=user usercolumn=username passwdcolumn=password crypt=0
account required pam_mysql.so user=root passwd=root host=localhost db=vsftpd table=user usercolumn=username passwdcolumn=password crypt=0
  • 1
  • 2
  • 1
  • 2

crypt=n
crypt=0: 明文密碼
crypt=1: 使用crpyt()函數(shù)(對(duì)應(yīng)SQL數(shù)據(jù)里的encrypt(),encrypt()隨機(jī)產(chǎn)生salt)
crypt=2: 使用MySQL中的password()函數(shù)加密
crypt=3:表示使用md5的散列方式
user:數(shù)據(jù)庫(kù)用戶名
passwd:數(shù)據(jù)庫(kù)密碼
host:數(shù)據(jù)庫(kù)地址
db:數(shù)據(jù)庫(kù)名
table:數(shù)據(jù)庫(kù)表名稱
usercolumn:用戶字段名
passwdcolumn:密碼字段名

7.1.2 方法二:有mysql日志

vim /etc/pam.d/vsftpd.mysql
  • 1
  • 1

復(fù)制如下內(nèi)容

auth required pam_mysql.so config_file=/etc/security/pam_mysql.conf
account required pam_mysql.so config_file=/etc/security/pam_mysql.conf
  • 1
  • 2
  • 1
  • 2

增加配置文件

vim /etc/security/pam_mysql.conf
  • 1
  • 1

復(fù)制如下內(nèi)容

users.host=localhost
users.database=vsftpd
users.db_user=root
users.db_passwd=root
users.table=user
users.user_column=username
users.password_column=password
users.password_crypt=0
verbose=1
log.enabled=1
log.table=log
log.message_column=msg
log.pid_column=pid
log.user_column=username
log.host_column=host
log.rhost_column=rhost
log.time_column=add_time
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

7.2數(shù)據(jù)庫(kù)/表創(chuàng)建

CREATE DATABASE vsftpd DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` char(50) NOT NULL DEFAULT '' COMMENT '用戶名',
  `password` char(32) NOT NULL DEFAULT '' COMMENT '密碼',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
INSERT INTO `user` VALUES ('1', 'admin', 'admin');

CREATE TABLE `log` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `pid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'pid',
  `msg` varchar(255) NOT NULL DEFAULT '' COMMENT '內(nèi)容',
  `username` char(32) NOT NULL DEFAULT '' COMMENT '用戶',
  `host` varchar(50) NOT NULL DEFAULT '' COMMENT '服務(wù)器',
  `rhost` varchar(50) NOT NULL DEFAULT '' COMMENT '客戶端ip',
  `add_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '時(shí)間',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

7.3配置文件修改

vim /etc/vsftpd.conf

下面參數(shù)修改為
pam_service_name=vsftpd.mysql
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

7.4 用戶權(quán)限

每新建立一個(gè)用戶,就要設(shè)置一個(gè)目錄,如果沒(méi)有設(shè)置,那么默認(rèn)是local_root=/home/ftp 目錄

mkdir /etc/vsftpd_user_conf  #用戶權(quán)限文件目錄
vim /etc/vsftpd_user_conf/test1
  • 1
  • 2
  • 1
  • 2

復(fù)制如下內(nèi)容 (每行末尾都不要有空格)

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/ftp/test1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

anon_world_readable_only:NO //可以瀏覽FTP目錄和下載文件
write_enable:YES允許寫入
anon_upload_enable:YES允許上傳
anon_mkdir_write_enable:YES允許創(chuàng)建刪除目錄
anon_other_write_enable:YES允許文件改名和刪除(修改/刪除)

7.5重啟

systemctl restart vsftp.service
  • 1
  • 1

7.6 一個(gè)小批處理

添加用戶權(quán)限批處理,使用前必須先在數(shù)據(jù)庫(kù)或文件庫(kù)中添加用戶及密碼

#!/bin/bash
if [ $UID != 0 ]; then echo "Error: You must be root to run ";exit;fi
echo "You must set up the user and password in the database."

read -p "vsftp :add username :" user
echo "you input username:$user"

cat > /etc/vsftpd_user_conf/$user<<eof
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/ftp/$user
eof

mkdir -p /home/ftp/$user
chown -R ftp:ftp /home/ftp/$user
echo "restart vsftpd ....."
systemctl restart vsftpd.service
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

保存為user.sh

chmod 777 user.sh
  • 1
  • 1

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多