vsftp服务器目录为/var/ftp/,该服务器允许匿名用户访问,只读。建立用户sydsftp能上传下载但不能登录系统?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vsftp服务器目录为/var/ftp/,该服务器允许匿名用户访问,只读。建立用户sydsftp能上传下载但不能登录系统?相关的知识,希望对你有一定的参考价值。

请高手帮忙解决下
就是新建虚拟用户,大家有没有简单点方法来完成。

建虚拟用户步骤会多一些。

最简单的方法是新建一个不允许登陆的系统用户:
useradd sydsftp -s /sbin/nologin
passwd sydsftp 设置密码
再给/var/ftp目录授权
chown sydsftp:sydsftp /var/ftp
修改vsftp配置文件,允许匿名用户可读,允许本地用户可读可写:
vi /etc/vsftp/vsftpd.conf
anonymous_enable=YES
anon_upload_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES 将FTP本地用户禁锢在宿主目录中
anon_root=/var/ftp 设置主目录
local_root=/var/ftp 设置本地用户主目录

关闭selinux
参考技术A 额。。刚想回答。。

vsftp服务器部署

1、公司内部现在有一台FTP 和WEB 服务器,FTP 的功能主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等等。公司现有两个部门负责维护任务,他们分别使用xuegod1 和xuegod2帐号进行管理。先要求仅允许xuegod1 和xuegod2帐号登录FTP 服务器,但不能登录本地系统,并将这两个帐号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。
说明:最好自己找一个静态网站,然后通过ftp上传到/var/www/html下,通过浏览器,可以正常访问

1、        安装httpd及vsftpd
[[email protected] ~]#yum -y install httpd vsftpd
2、        创建系统用户xue指定加目录为/var/www/html并加入apache组
[[email protected] www]# useradd -s /sbin/nologin -d /var/www/html/ -g apache xue
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
[[email protected] www]#
[[email protected] www]# echo "123456" | passwd --stdin xue
Changing password for user xue.
passwd: all authentication tokens updated successfully.

3、        赋予系统用户对/var/www/html的读写执行权限
[[email protected] www]# chown -R apache:apache html/
[[email protected] www]# chmod –R 775 html/
[[email protected] www]# ll -d html/
drwxrwxr-x 2 apache apache 4096 May 13 15:09 html/
[[email protected] www]#

4、        创建虚拟用户文本文件
[[email protected] vsftpd]# vim vusers.txt
xuegod1
12345678
xuegod2
12345678
5、        生成虚拟用户数据库
[[email protected] vsftpd]# db_load -T -t hash -f /etc/vsftpd/vusers.txt  /etc/vsftpd/vusers.db
6、        删除虚拟用户文本文件防止泄密
[[email protected] vsftpd]# rm vusers.txt
rm: remove regular file `vusers.txt‘? y
[[email protected] vsftpd]#
7、        修改虚拟用户数据库文件访问权限
[[email protected] vsftpd]# chmod 644 vusers.db
[[email protected] vsftpd]# ll vusers.db
-rw-r--r-- 1 root root 12288 May 13 07:27 vusers.db
[[email protected] vsftpd]#
8、        修改pam认证配置
[[email protected] pam.d]# cat vsftpd
#%PAM-1.0
#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

auth               required         /lib64/security/pam_userdb.so  db=/etc/vsftpd/vusers
account            required         /lib64/security/pam_userdb.so  db=/etc/vsftpd/vusers

[[email protected] pam.d]#
9、        修改vsftpd主配置文件vsftpd.conf
anonymous_enable=NO        #不允许匿名登陆
local_enable=YES               #允许本地用户登录
chroot_local_user=YES                #所有用户都被限制在其主目录下
chroot_list_enable=NO                #不允许例外用户切换到其他目录
pam_service_name=vsftpd      #指定PAM文件名,配置vsftpd 使用的PAM 模块为vsftpd
user_config_dir=/etc/vsftpd/vuserconfig    #设置虚拟帐号的主目录为/etc/vsftpd/vuserconfig

10、        创建虚拟用户配置文件夹vuserconfig
[[email protected] vsftpd]# mkdir vuserconfig
[[email protected] vsftpd]# ll -d vuserconfig/
drwxr-xr-x 2 root root 4096 May 13 07:48 vuserconfig/
[[email protected] vsftpd]#
11、        创建及配置虚拟用户配置文件
[[email protected] vuserconfig]# cat xuegod1
guest_enable=yes
guest_username=xue
anon_world_readable_only=no
write_enable=yes
anon_mkdir_write_enable=yes
anon_upload_enable=yes
virtual_use_local_privs=YES
[[email protected] vuserconfig]# cat xuegod2
guest_enable=yes
guest_username=xue
anon_world_readable_only=no
write_enable=yes
anon_mkdir_write_enable=yes
anon_upload_enable=yes
virtual_use_local_privs=YES
[[email protected] vuserconfig]#
12、        重启vsftpd及httpd服务并查看是否成功
[[email protected] vuserconfig]# netstat -antup | grep vsftpd
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      2136/vsftpd         
[[email protected] vuserconfig]# netstat -antup | grep httpd
tcp        0      0 :::80                       :::*                        LISTEN      2148/httpd         
[[email protected] vuserconfig]#

13、        测试是否生效
[[email protected] home]# lftp -u xuegod1 192.168.70.243
Password:
lftp [email protected]:~> pwd     
ftp://[email protected]
lftp [email protected]:/> cd /home
cd: Access failed: 550 Failed to change directory. (/home)
lftp [email protected]:/> cd /var/www
cd: Access failed: 550 Failed to change directory. (/var/www)
lftp [email protected]:~> ls
lftp [email protected]:/> put /home/index.html
559038 bytes transferred
lftp [email protected]:/> put /home/boot.tar.gz
3145728 bytes transferred
lftp [email protected]:/> mkdir os
mkdir ok, `os‘ created
lftp [email protected]:/> mv boot.tar.gz grub.tar.gz
rename successful
lftp [email protected]:/> mv os iso
rename successful
lftp [email protected]:/> rm grub.tar.gz
rm ok, `grub.tar.gz‘ removed
lftp [email protected]:/> rmdir iso
rmdir ok, `iso‘ removed
lftp [email protected]:/> ls
-rw-r--r--    1 500      48         559038 May 13 08:48 index.html
lftp [email protected]:/> quit
[[email protected] home]#
14、        访问apahce查看网站页面
技术分享

15、        同理测试xuegod2帐号登录
[[email protected] home]# lftp -u xuegod2 192.168.70.243
Password:
lftp [email protected]:~> ls      
-rw-r--r--    1 500      48         559038 May 13 08:48 index.html
lftp [email protected]:/> rm index.html
rm ok, `index.html‘ removed
lftp [email protected]:/> cd /home
cd: Access failed: 550 Failed to change directory. (/home)
lftp [email protected]:/> cd /var/www
cd: Access failed: 550 Failed to change directory. (/var/www)
lftp [email protected]:/> put /home/index.html
559038 bytes transferred
lftp [email protected]:/> put boot.tar.gz
3145728 bytes transferred                     
lftp [email protected]:/> mkdir os
mkdir ok, `os‘ created
lftp [email protected]:/> mv boot.tar.gz grub.tar.gz
rename successful
lftp [email protected]:/> mv os iso
rename successful
lftp [email protected]:/> rm index.html
rm ok, `index.html‘ removed
lftp [email protected]:/> ls
-rw-r--r--    1 500      48        3145728 May 13 08:50 grub.tar.gz
drwxr-xr-x    2 500      48           4096 May 13 08:50 iso
lftp [email protected]:/> rm grub.tar.gz
rm ok, `grub.tar.gz‘ removed
lftp [email protected]:/> rmdir iso
rmdir ok, `iso‘ removed
lftp [email protected]:/> ls

16、        删除hao123主页index.html后的访问效果
技术分享

本文出自 “明日灵感” 博客,请务必保留此出处http://coolner.blog.51cto.com/957576/1925296

以上是关于vsftp服务器目录为/var/ftp/,该服务器允许匿名用户访问,只读。建立用户sydsftp能上传下载但不能登录系统?的主要内容,如果未能解决你的问题,请参考以下文章

linux中/etc与/var目录,各是啥意思?这两个目录下的文件有啥特点?

ubuntu14.04lts /var/log目录下生成的kern.log syslog有几十上百g

CentOS-Vsftp全新下载安装:如何产生vsftpd-2.1.2/vsftpd.pam 文件

ubuntu 10.04误删 /var/lib/dpkg文件夹

虚拟机linux系统,FTP服务器配置后,我登录FTP,怎么看不到里面的目录文件,提示连接中断!

监控一个持续刷新的日志文件/var/log/messages,命令是啥/var/log/messages