testuser1 aminglinux
local_root=/home/virftp/testuser1 anonymous_enable=NO write_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO idle_session_timeout=600 data_connection_timeout=120 max_clients=10
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
chroot_local_user=YES guest_enable=YES guest_username=virftp virtual_use_local_privs=YES user_config_dir=/etc/vsftpd/vsftpd_user_conf allow_writeable_chroot=YES
[root@hf-01 ~]# yum install -y vsftpd
[root@hf-01 ~]# useradd -s /sbin/nologin virftp [root@hf-01 ~]#
[root@hf-01 ~]# vim /etc/vsftpd/vsftpd_login 1,3行爲用戶名 2,4行爲密碼 testuser1 hanfeng user1 aaaaa1111 保存退出
[root@hf-01 ~]# chmod 600 /etc/vsftpd/vsftpd_login [root@hf-01 ~]#
[root@hf-01 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db [root@hf-01 ~]# ls -l /etc/vsftpd/ 總用量 36 -rw------- 1 root root 125 8月 3 14:10 ftpusers -rw------- 1 root root 361 8月 3 14:10 user_list -rw------- 1 root root 5030 8月 3 14:10 vsftpd.conf -rwxr--r-- 1 root root 338 8月 3 14:10 vsftpd_conf_migrate.sh -rw------- 1 root root 34 1月 18 06:02 vsftpd_login -rw-r--r-- 1 root root 12288 1月 18 06:06 vsftpd_login.db [root@hf-01 ~]#
[root@hf-01 ~]# mkdir /etc/vsftpd/vsftpd_user_conf [root@hf-01 ~]#
[root@hf-01 ~]# cd /etc/vsftpd/vsftpd_user_conf [root@hf-01 vsftpd_user_conf]#
配置文件內容 local_root=/home/virftp/testuser1 //指定虛擬用戶的家目錄 anonymous_enable=NO //是否容許匿名用戶 write_enable=YES //是否可寫 local_umask=022 //建立新文件目錄的默認權限 anon_upload_enable=NO //是否容許匿名用戶上傳 anon_mkdir_write_enable=NO //是否容許匿名用戶建立目錄和寫 idle_session_timeout=600 //鏈接ftp超時時間(秒) data_connection_timeout=120 //數據傳輸的超時時間(秒) max_clients=10 //最多容許同時幾個終端鏈接
[root@hf-01 vsftpd_user_conf]# vim testuser1 local_root=/home/virftp/testuser1 anonymous_enable=NO write_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO idle_session_timeout=600 data_connection_timeout=120 max_clients=10 保存退出
[root@hf-01 vsftpd_user_conf]# mkdir /home/virftp/testuser1 [root@hf-01 vsftpd_user_conf]#
[root@hf-01 vsftpd_user_conf]# touch /home/virftp/testuser1/aming.txt [root@hf-01 vsftpd_user_conf]#
[root@hf-01 vsftpd_user_conf]# chown -R virftp:virftp /home/virftp [root@hf-01 vsftpd_user_conf]#
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
最終以下php
[root@hf-01 vsftpd_user_conf]# vim /etc/pam.d/vsftpd #%PAM-1.0 auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login session optional pam_keyinit.so force revoke auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed auth required pam_shells.so auth include password-auth account include password-auth session required pam_loginuid.so session include password-auth 保存退出
[root@hf-01 vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf 將anonymous_enable=YES 改成 anonymous_enable=NO 將#anon_upload_enable=YES 改成 anon_upload_enable=NO ,並取消註釋符 將#anon_mkdir_write_enable=YES 改成 anon_mkdir_write_enable=NO ,並取消註釋符 並增長如下內容 chroot_local_user=YES guest_enable=YES //打開虛擬用戶映射 guest_username=virftp //映射的用戶名 virtual_use_local_privs=YES //告訴服務,咱們如今用的虛擬用戶 user_config_dir=/etc/vsftpd/vsftpd_user_conf //定義虛擬用戶配置文件所在路徑 allow_writeable_chroot=YES 保存退出
[root@hf-01 vsftpd_user_conf]# systemctl start vsftpd [root@hf-01 vsftpd_user_conf]# ps aux |grep vsftpd root 3564 0.0 0.0 51136 564 ? Ss 06:49 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf root 3566 0.0 0.0 112676 984 pts/0 R+ 06:49 0:00 grep --color=auto vsftpd [root@hf-01 vsftpd_user_conf]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1607/master tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:40904 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 1250/rpc.mountd tcp 0 0 0.0.0.0:37459 0.0.0.0:* LISTEN 1224/rpc.statd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1227/sshd tcp6 0 0 ::1:25 :::* LISTEN 1607/master tcp6 0 0 :::2049 :::* LISTEN - tcp6 0 0 :::41381 :::* LISTEN 1224/rpc.statd tcp6 0 0 :::35465 :::* LISTEN - tcp6 0 0 :::3306 :::* LISTEN 1643/mysqld tcp6 0 0 :::111 :::* LISTEN 1/systemd tcp6 0 0 :::20048 :::* LISTEN 1250/rpc.mountd tcp6 0 0 :::21 :::* LISTEN 3564/vsftpd tcp6 0 0 :::22 :::* LISTEN 1227/sshd [root@hf-01 vsftpd_user_conf]#
[root@hf-01 ~]# yum install -y lftp
[root@hf-01 ~]# lftp testuser1@127.0.0.1 口令: lftp testuser1@127.0.0.1:~> ls -rw-r--r-- 1 1002 1002 0 Jan 17 22:26 aming.txt lftp testuser1@127.0.0.1:/>
lftp testuser1@127.0.0.1:/> ? !<shell-command> (commands) alias [<name> [<value>]] attach [PID] bookmark [SUBCMD] cache [SUBCMD] cat [-b] <files> cd <rdir> chmod [OPTS] mode file... close [-a] [re]cls [opts] [path/][pattern] debug [<level>|off] [-o <file>] du [options] <dirs> exit [<code>|bg] get [OPTS] <rfile> [-o <lfile>] glob [OPTS] <cmd> <args> help [<cmd>] history -w file|-r file|-c|-l [cnt] jobs [-v] [<job_no...>] kill all|<job_no> lcd <ldir> lftp [OPTS] <site> ln [-s] <file1> <file2> ls [<args>] mget [OPTS] <files> mirror [OPTS] [remote [local]] mkdir [-p] <dirs> module name [args] more <files> mput [OPTS] <files> mrm <files> mv <file1> <file2> [re]nlist [<args>] open [OPTS] <site> pget [OPTS] <rfile> [-o <lfile>] put [OPTS] <lfile> [-o <rfile>] pwd [-p] queue [OPTS] [<cmd>] quote <cmd> repeat [OPTS] [delay] [command] rm [-r] [-f] <files> rmdir [-f] <dirs> scache [<session_no>] set [OPT] [<var> [<val>]] site <site-cmd> source <file> torrent [-O <dir>] <file|URL>... user <user|URL> [<pass>] wait [<jobno>] zcat <files> zmore <files> lftp testuser1@127.0.0.1:/>
lftp testuser1@127.0.0.1:~> get aming.txt lftp testuser1@127.0.0.1:/>
lftp testuser1@127.0.0.1:/> quit [root@hf-01 ~]#
[root@hf-01 ~]# ls 111 1_sorft.txt 2.txt.bak amin bb.txt lll.sh 123 1.txt 3.txt aming.txt grep sed 1.cap 234 aa.txt anaconda-ks.cfg haha shell 1_heard.txt 2.txt admin awk id.txt [root@hf-01 ~]#
第一種方案:mysql
Type `help' to browse available commnands. sftp:/root> ls dr-xr-x--- 13 root root 4096 Jan 18 09:12 . dr-xr-xr-x 20 root root 282 Dec 14 21:06 .. -rw-r--r-- 1 root root 18 Dec 29 2013 .bash_logout -rw-r--r-- 1 root root 176 Dec 29 2013 .bash_profile -rw-r--r-- 1 root root 176 Dec 29 2013 .bashrc -rw-r--r-- 1 root root 100 Dec 29 2013 .cshrc -rw-r--r-- 1 root root 129 Dec 29 2013 .tcshrc -rw------- 1 root root 1422 Oct 19 07:00 anaconda-ks.cfg drwx------ 2 root root 80 Oct 18 23:58 .ssh -rw------- 1 root root 29340 Jan 16 23:47 .bash_history drwxr-xr-x 3 root root 110 Dec 5 21:23 111 -rw-r--r-- 1 root root 184 Dec 9 17:54 123.txt -rw-r--r-- 1 root root 4461632 Dec 9 18:00 aaa.txt -rw-r--r-- 1 root root 4464640 Dec 9 18:04 aaa.txt.tar drwxr-xr-x 2 root root 58 Dec 10 21:11 aaaaa -rw-r--r-- 1 root root 10240 Dec 12 19:59 chamlinux.tar -rw-r--r-- 1 root root 20395803 Dec 15 15:04 mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz drwxr-xr-x 2 root root 6 Dec 16 00:09 apache -rw------- 1 root root 1024 Jan 8 23:30 .rnd -rw------- 1 root root 1978 Jan 16 01:15 .mysql_history -rw-r--r-- 1 root root 490 Nov 17 14:21 1.txt -rw------- 1 root root 8372 Jan 18 09:06 .viminfo drwxr-xr-x 3 root root 18 Jan 18 09:12 .config -rw-r--r-- 1 root root 31 Nov 17 14:42 2.txt -rwxrwxrwx 1 user1 test 231 Dec 9 17:49 a.txt drwxrwxrwx 2 root user1 19 Dec 12 19:57 chamlinux drwxr-xr-x 3 root root 65 Nov 26 13:52 grep drwxr-xr-x 2 root root 70 Nov 26 14:20 sed drwxr-xr-x 2 root root 35 Nov 22 22:07 awk -rw-r--r-- 1 root root 8638793 Oct 21 03:39 httpd-2.4.29.tar.gz drwxr-xr-x 3 root root 19 Jan 18 09:12 .local drwxr----- 3 root root 19 Nov 27 18:56 .pki sftp:/root> cd /tmp/ sftp:/tmp> get php-fcgi.sock/ sftp: cannot open /tmp/php-fcgi.sock/ to read sftp:/tmp> get user.sql Fetching /tmp/user.sql to user.sql sftp: received 6.83 KB in 0.08 seconds