vsftp单独用户权限怎么配置啊?

jenkin 2004-08-23 05:30:12
比如,我加一个系统帐号,让他仅具有可写权限。用什么参数呢,我查了半天,根本没有这方面的文章啊。
...全文
369 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
iwantnet 2004-08-24
  • 打赏
  • 举报
回复
3. 开启匿名服务器下传的权限
在配置文件中添加如下信息即可:
Anon_world_readable_only=no
注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限
(R)读-----下传 (W)写----上传 (X)执行----如果不开FTP的目录都进不去

4.普通用户FTP服务器的连接(独立服务器)
在配置文件中添加如下信息即可:
Local_enble=yes (本地帐户能够登陆)
Write_enable=no (本地帐户登陆后无权删除和修改文件)
功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限
birdhaha 2004-08-24
  • 打赏
  • 举报
回复
http://www.foxlog.net/article.php/81
blh 2004-08-24
  • 打赏
  • 举报
回复
When a new user created, he has had the access privilege to his home directory via ftp service. The account name and password of vsftp is same as the one of his user login name and password.
jenkin 2004-08-24
  • 打赏
  • 举报
回复
谢谢上面各位,不过你们推荐的文章我都看过,没有我要的。没有象对MKD READ等详细的ftp命令控制(proftpd就有),我现在只是利用系统目录权限控制了。
noway 2004-08-23
  • 打赏
  • 举报
回复
http://www.niuren.com/Article_Show.asp?ArticleID=84
查查这里有没有?
FTP服务器配置 VSFTP配置文件路径:/etc/vsftpd/vsftpd.conf,重要参数: anonymous_enable=yes/no 是否允许匿名用户访问 anon_upload_enable=yes/no 是否允许匿名用户上传文件 anon_mkdir_write_enable=yes/no 是否允许匿名用户创建目录 anon_other_write_enable=yes/no 匿名用户和虚拟用户是否拥有删除权限 local_enable=yes/no 是否允许本地用户登陆 write_enable=yes/no 设置全局是否可写 anon_root=/var 指定匿名用户目录 chroot_local_user=yes 锁定所有用户到用户主目录 chroot_list_enable=yes/no 锁定列表中的用户到主目录,需要配合下一参数使用 chroot_list_file=/etc/vsftpd/chroot_list 指定存储被锁定用户的列表文件位置 chown_uploads=yes/no 匿名用户上传所有者指定功能,需要与下一参数配合使用 chown_username=用户名 指定匿名用户上传文件的所有者 max_clients=300 最大客户端连接数为300 anon_max_rate=30000 匿名用户和虚拟用户限速为30K/S local_max_rate=30000 本地用户限速为30K/S max_per_ip=10 每个IP最大连接数 listen_port=22 更改监听端口 实现如下要求:允许匿名用户登陆,匿名用户限速为60K/S,只允许下载。监听端口为22,最大连接数为10。新建用户ftp1,限速为200K/S,允许上传下载删除新建文件夹。进入目录/etc/vsftpd,用vi编辑器打开vsftpd.conf主配置文件: 直接添加以下选项: [root@LidadeFedora vsftpd]# service vsftpd restart 添加用户ftp1,设置登录脚本为 /sbin/nologin: vsftp默认目录为:/var/ftp,为方便测试,在/var/ftp下新建一个文件"testLocal",在"/var/ftp/pub"新建一个文件"testAnon"。 由于使用root用户新建文件,文件的所有者为root,所以需要把文件的权限设置为644其他用户才能读取该文件 设置/var/ftp/pub权限为777,表示所有用户均有读写权限. 由于端口22被ssh服务器占用,所以需要关闭ssh服务并重启vsftp服务。 客户端用Flashfxp测试:新建站点"VsftpTest",输入Vsftp服务器的IP地址,端口填22,用户名填ftp1,密码填你设置的密码,然后点击"连接"按钮: 由于没有使用选项:local_root,登陆本地用户时自动跳转到该用户的主目录.没有使用chroot_local_user=yes,所以本地用户可以浏览整个文件系统中他有权限读取的文件和文件夹: 切换到目录"/var/ftp/pub",该目录的权限为777,上传一个10M以上的文件,测试ftp1的上传速度: 新建文件夹和删除权限测试省略。下面测试匿名用户权限:勾选"匿名"选项并连接: 匿名用户登陆成功: 进入pub目录,尝试删除testAnon文件失败,说明这里是配置文件中的anon_other_write_enable=no生效了。最终权限等于配置文件中的权限和linux文件系统权限相或的结果。比如vsftp配置文件中允许匿名用户下载,但光这样是不够的,还需要被下载的文件或文件夹的能够被其他用户读取。 尝试上传文件失败,符合匿名用户只允许下载的要求: 最后测试匿名用户的下载速度: vsftp配置
20.1 ftp服务 ftp采用客户/服务器工作模式,这里采用的是vsftpd ftp服务器软件。ftp工作方式分为两种,一种port主动模式,一种pasv被动模式,是服务主动与被动进行连接。一般ftp服务器都为被动模式 。 20.1.1 vsftp概述 rpm -qc vsftpd /etc/logrotate.d/vsftpd.log /etc/pam.d/vsftpd /*vsftp的安全验证文件*/ /etc/vsftpd/ftpusers /*其中的用户不能登陆ftp*/ /etc/vsftpd/user_list /*其中的用户不能登陆ftp同上一样*/ /etc/vsftpd/vsftpd.conf /*ftp配置文件*/ /etc/vsftpd/vsftpd_conf_migrate.sh vsftp的主目录的位置在/var/ftp下,并且是系统默认,不能更改。vsftp在通过rpm包安装好后,打开其服务并设为自动运行后,ftp就可以 提供服务了。 20.1.2 vsftp安装与启动 如果没有安装的话,通过以下方式进行安装。 rpm -ivh vsftpd-2.0.4-1.2.i386.rpm warning: vsftpd-2.0.4-1.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2 Preparing... ########################################### [100%] 1:vsftpd ########################################### [100%] vsftpd服务采用是独立启动方式来启动的。 chkconfig --level 345 vsftpd on设为开机自启动 service vsftpd start 启动ftp服务。 20.2 vsftp访问配置 20.2.1 vsftp匿名用户 匿名用户:ftp 与anonymous其主目录为/var/ftp 普通用户:用户名为登录用户名,主目录为/home/用户名 20.2.2 vsftp默认配置文件 去掉#后配置选项如下: vi vsftpd.conf anonymous_enable=YES /*匿名用户启用*/ local_enable=YES /*本地用户可登陆*/ write_enable=YES /*是否允许写*/ local_umask=022 /*锁定创建文件权限*/ #anon_upload_enable=YES /*是否允许匿名用户上传*/ #anon_mkdir_write_enable=YES /*是否允许匿名用户创建目录*/ dirmessage_enable=YES /*允许显示目录信息*/ xferlog_enable=YES /*启用记录上传与下载日志*/ connect_from_port_20=YES /*开启20端口*/ #chown_uploads=YES #chown_username=whoever #xferlog_file=/var/log/vsftpd.log /*上传与下载日志文件*/ xferlog_std_format=YES /*使用标准日志格式*/ #idle_session_timeout=600 /*会话空闲时间*/ #data_connection_timeout=120 /*连接超时时间*/ #nopriv_user=ftpsecure #async_abor_enable=YES #ascii_upload_enable=YES /*是否使用ascii格式上传*/ #ascii_download_enable=YES /*是否使用ascii格式下载*/ #ftpd_banner=Welcome to blah FTP service. /*服务器banner*/ #deny_email_enable=YES /*启用电子邮件阻止*/ #banned_email_file=/etc/vsftpd/banned_emails /* 阻止的邮件地址文件*/ #chroot_list_enable=YES /*是否允许用户改变主目录*/ #chroot_list_file=/etc/vsftpd/chroot_list /*允许改变主目录的用户*/ #ls_recurse_enable=YES /*是否允许用户ls -R循环显示每一个目录*/ pam_service_name=vsftpd /*验证服务名*/ userlist_enable=YES /*用户列表中的用户不能登录FTP*/ #userlist_file=/etc/vsftpd/user_list listen=YES /*监听模式*/ tcp_wrappers=YES 说明:默认配置文件就已经能够实现匿名用户对/var/ftp文件内容的下载,以及本机用户对自已主目录的访问(上传与下载)。 20.3 vsftp配置基本实例 20.3.1 改变端口号 vi vsftpd.conf #新增底下一行,原有的配置不动 listen_port=2121 #重启服务 service vsftpd restart 20.3.2 特定用户不能更改目录 使用者的预设目录为/home/username,若是我们不希望使用者redhat在ftp 时能够切换到上一层目录/home,则可参考以下步骤。 #去掉注释 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #或以上选项注释掉,所有用户都不能更改目录。 #编辑下列文件 vi /etc/vsftpd/chroot_list #加入内容 redhat #重启服务 service vsftpd restart 20.3.3 允许匿名上传 vi vsftpd.conf #修改以下内容 anon_upload_enable=YES /*是否允许匿名用户上传*/ anon_mkdir_write_enable=YES /*是否允许匿名用户创建目录*/ #重启服务 service vsftpd restart 注意:对于上传目录,必须设为可写才行。 chmod o+w /var/ftp 20.3.4 取消匿名登录 说明:取消匿名登录后,系统用户都可以通过用户名与密码来访问FTP服务器了。 vi vsftpd.conf #修改以下内容 anonymous_enable=NO #重启服务 service vsftpd restart 20.3.5 设置欢迎信息 vi vsftpd.conf #修改以下内容 ftpd_banner=Welcome to koumm’s FTP service. /*服务器欢迎信息*/ dirmessage_enable=YES /*默认是开启状态*/ #然后在/var/ftp中建立.message文件。 #该文件为目录说明文件,用于对目录的说明,每个目录中都可有。 vi /var/ftp/.message 欢迎访问ftp主目录。 /*通过SecureCRT登录可以打汉字,并可显示*/ #重启服务 service vsftpd restart 20.3.6 以独立进程联机 vi vsftpd.conf #新加入以下内容 setproctitle_enable=YES /*默认是开启状态*/ #重启服务 service vsftpd restart #测试 ps -ef|grep ftp #该功能可能只是在管理上可以查看用户登录的情况吧。 20.3.7 限制下载速度 vi vsftpd.conf #新加入以下内容 anon_max_rate=100000 /*匿名最高速为100KB*/ local_max_rate=200000 /*本机用户最高速为200KB */ #实际速度会在80-120%之间。 #重启服务 service vsftpd restart 20.3.8 使用pasv联机模式 vi vsftpd.conf #新加入以下内容 listen_port=2121 /*监听2121端口,用于防火墙 */ pasv_enable=YES /*启用pasv模式*/ pasv_min_port=9981 /*pasv端口范围*/ pasv_max_port=9986 #重启服务 service vsftpd restart 20.3.9 超级守护程序启动 vi vsftpd.conf #修改以下内容 listen=NO /*监听2121端口,用于防火墙 */ #在/etc/xinetd.d/新建以下内容 vi /etc/xinetd.d/vsftpd service vsftpd { disable = no socket_type = stream wait = no user = root server = /usr/sbin/vsftpd port = 21 log_on_success += PID HOST DURATION log_on_failure += HOST } #重启服务 service xinetd restart 注:该配置是对以前服务的一个加深的理解,也相应的也提供了一个处理问题的思路。 20.3.10 最大连机数 vi vsftpd.conf #加入以下内容 max_clients = 100 /*服务器最大连机默认为0无限制*/ max_per_ip = 5 /*单IP最大连机默认为0无限制*/ #重启服务 service xinetd restart 注:该配置是对以前服务的一个加深的理解,也相应的也提供了一个处理问题的思路。 20.3.11 特定用户不能登录方法一 #其中的用户不能登陆ftp /etc/vsftpd/ftpusers #可以通过以下文件来进行控制的,第二行内容。 vi /etc/pam.d/vsftpd #%PAM-1.0 auth required pam_listfile.so item=user sense=deny file= /etc/vsftpd/ftpusers onerr=succeed auth required pam_shells.so auth include system-auth account include system-auth session include system-auth session required pam_loginuid.so #如果把上面的sense=deny改为allow后,也就是说只有/etc/vsftpd/ftpusers中的用户才能够访问ftp服务器了。这里提供了一个配置思路, 以供在实际环境中使用。 20.3.12 特定用户不能登录方法二 #编辑下列文件 vi /etc/vsftpd/chroot_list #修改或加入内容user_list文件本身就有,如没有,请手动添加。 # userlist_enable=YES userlist_file=/etc/vsftpd/ user_list #重启服务 service vsftpd restart 20.4 ftp虚拟用户配置 虚拟帐户与samba中的虚拟帐户有点像,就是为了防止别人用真正的帐户登录系统,而采用的一个帐户的别名帐户,而虚拟帐户只能够登录 ftp,而不能用做其它目的。 20.4.1 创建虚拟帐户文件 [root@redhat vsftpd]# vi vuser.txt bill /*用户名*/ password /*密码*/ koumm abc,.123 通过以上文件来创建用户数据库。 20.4.2 创建虚拟帐户数据库文件 [root@redhat vsftpd]# db_load -T -t hash -f vuser.txt /etc/vsftpd_login.db [root@redhat vsftpd]# chmod 600 /etc/vsftpd_login.db [root@redhat vsftpd]# ll /etc/vsftpd_login.db -rw------- 1 root root 12288 6月 15 17:06 /etc/vsftpd_login.db 修改权限以保证安全。 20.4.3 配置pam文件 为了能够使用ftp服务器能够使用数据库文件对用户进行身份验证,还需要修改vsftpd的PAM文件,把以前的pam中的内容注释掉,并加入以下 内容。 [root@redhat etc]# vi /etc/pam.d/vsftpd #auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed #auth required pam_stack.so service=system-auth #auth required pam_shells.so #account required pam_stack.so service=system-auth #session required pam_stack.so service=system-auth auth required pam_userdb.so db=/etc/vsftpd_login account required pam_userdb.so db=/etc/vsftpd_login 20.4.4 创建虚拟帐户目录 mkdir /var/ftp/vuser useradd -d /var/ftp/vuser vuser useradd ftpvip 说明:创建一个帐户,指定主目录,也是ftp的主目录。不指定就是/home/vuser chown vuser.vuser /var/ftp/vuser chmod o+rw /var/ftp/vuser 20.4.5 编辑配置文件 1.编辑配置文件 [root@redhat pam.d]# vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO /*不能允许匿名用户登录*/ local_enable=YES /*本地用户登录*/ write_enable=NO local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO #加入以下内容 guest_enable=YES /*开启虚拟帐户访问*/ guest_username=vuser /*虚拟帐户对应的系统帐户*/ 说明:虚拟用户的上传下载权限的配置是用匿名配置选项来进行配置的,前提是不能允许匿名用户登录,可以匿名用户可写,虚拟用户就可 以写或上传了。 2.编辑独立配置文件 (1)虚拟帐户配置文件目录 vsftpd可以为不同的虚拟用户创建不同的单独配置文件,来实现不同的功能,思想就是:可以为不同的虚拟用户对应不同的实体用户,从 而实现不能的功能。 [root@redhat pam.d]# vi /etc/vsftpd/vsftpd.conf 加入以下内容: vi /etc/vsftpd/vsftpd.conf user_config_dir=/ftpconfig /*虚拟用户主配置文件目录*/ (2)单独创建虚拟帐户配置文件 vi /ftpconfig/bill /*创建的虚拟用户*/ guest_enable=yes guest_username=vuser /*设置ftp对应的系统帐号为ftpuser*/ anon_world_readable_only=no /*允许匿名用户浏览文件系统*/ anon_max_rate=50000 /*限定传输速率为50KB/s*/ vi /ftpconfig/koumm /*创建的虚拟用户*/ guest_enable=yes /*开启虚拟帐号登录*/ guest_username=ftpvip /*设置ftp对应的系统帐号为ftpvip*/ anon_world_readable_only=no /*允许匿名用户浏览器整个服务器的文件系统*/ write_enable=yes /*允许在文件系统写入权限*/ anon_mkdir_write_enable=yes /*允许创建文件夹 */ anon_upload_enable=yes /*开启匿名帐号的上传功能*/ anon_max_rate=100000 /*限定传输速度为100KB/s*/ 说明:以上实体用户还需要事先创建,用户的主目录如是事先安装的话在/home中。以上方法可以应用一些复杂的应用环境中。 20.5 ftp客户端 20.5.1 ftp命令 ftp命令的功能是在本地机和远程机之间传送文件。 该命令的一般格式如下: ftp 主机名/IP 最常用的命令有: ls 列出远程机的当前目录 cd 在远程机上改变工作目录 lcd 在本地机上改变工作目录 ascii 设置文件传输方式为ASCII模式 binary 设置文件传输方式为二进制模式 close 终止当前的ftp会话 hash 每次传输完数据缓冲区中的数据后就显示一个#号 get(mget) 从远程机传送指定文件到本地机 put(mput) 从本地机传送指定文件到远程机 open 连接远程ftp站点 quit 断开与远程机的连接并退出ftp ? 显示本地帮助信息
20.1 ftp服务 ftp采用客户/服务器工作模式,这里采用的是vsftpd ftp服务器软件。ftp工作方式分为两种,一种port主动模式,一种pasv被动模式,是服务主动与被动进行连接。一般ftp服务器都为被动模式 。 20.1.1 vsftp概述 rpm -qc vsftpd /etc/logrotate.d/vsftpd.log /etc/pam.d/vsftpd /*vsftp的安全验证文件*/ /etc/vsftpd/ftpusers /*其中的用户不能登陆ftp*/ /etc/vsftpd/user_list /*其中的用户不能登陆ftp同上一样*/ /etc/vsftpd/vsftpd.conf /*ftp配置文件*/ /etc/vsftpd/vsftpd_conf_migrate.sh vsftp的主目录的位置在/var/ftp下,并且是系统默认,不能更改。vsftp在通过rpm包安装好后,打开其服务并设为自动运行后,ftp就可以 提供服务了。 20.1.2 vsftp安装与启动 如果没有安装的话,通过以下方式进行安装。 rpm -ivh vsftpd-2.0.4-1.2.i386.rpm warning: vsftpd-2.0.4-1.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2 Preparing... ########################################### [100%] 1:vsftpd ########################################### [100%] vsftpd服务采用是独立启动方式来启动的。 chkconfig --level 345 vsftpd on设为开机自启动 service vsftpd start 启动ftp服务。 20.2 vsftp访问配置 20.2.1 vsftp匿名用户 匿名用户:ftp 与anonymous其主目录为/var/ftp 普通用户:用户名为登录用户名,主目录为/home/用户名 20.2.2 vsftp默认配置文件 去掉#后配置选项如下: vi vsftpd.conf anonymous_enable=YES /*匿名用户启用*/ local_enable=YES /*本地用户可登陆*/ write_enable=YES /*是否允许写*/ local_umask=022 /*锁定创建文件权限*/ #anon_upload_enable=YES /*是否允许匿名用户上传*/ #anon_mkdir_write_enable=YES /*是否允许匿名用户创建目录*/ dirmessage_enable=YES /*允许显示目录信息*/ xferlog_enable=YES /*启用记录上传与下载日志*/ connect_from_port_20=YES /*开启20端口*/ #chown_uploads=YES #chown_username=whoever #xferlog_file=/var/log/vsftpd.log /*上传与下载日志文件*/ xferlog_std_format=YES /*使用标准日志格式*/ #idle_session_timeout=600 /*会话空闲时间*/ #data_connection_timeout=120 /*连接超时时间*/ #nopriv_user=ftpsecure #async_abor_enable=YES #ascii_upload_enable=YES /*是否使用ascii格式上传*/ #ascii_download_enable=YES /*是否使用ascii格式下载*/ #ftpd_banner=Welcome to blah FTP service. /*服务器banner*/ #deny_email_enable=YES /*启用电子邮件阻止*/ #banned_email_file=/etc/vsftpd/banned_emails /* 阻止的邮件地址文件*/ #chroot_list_enable=YES /*是否允许用户改变主目录*/ #chroot_list_file=/etc/vsftpd/chroot_list /*允许改变主目录的用户*/ #ls_recurse_enable=YES /*是否允许用户ls -R循环显示每一个目录*/ pam_service_name=vsftpd /*验证服务名*/ userlist_enable=YES /*用户列表中的用户不能登录FTP*/ #userlist_file=/etc/vsftpd/user_list listen=YES /*监听模式*/ tcp_wrappers=YES 说明:默认配置文件就已经能够实现匿名用户对/var/ftp文件内容的下载,以及本机用户对自已主目录的访问(上传与下载)。 20.3 vsftp配置基本实例 20.3.1 改变端口号 vi vsftpd.conf #新增底下一行,原有的配置不动 listen_port=2121 #重启服务 service vsftpd restart 20.3.2 特定用户不能更改目录 使用者的预设目录为/home/username,若是我们不希望使用者redhat在ftp 时能够切换到上一层目录/home,则可参考以下步骤。 #去掉注释 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #或以上选项注释掉,所有用户都不能更改目录。 #编辑下列文件 vi /etc/vsftpd/chroot_list #加入内容 redhat #重启服务 service vsftpd restart 20.3.3 允许匿名上传 vi vsftpd.conf #修改以下内容 anon_upload_enable=YES /*是否允许匿名用户上传*/ anon_mkdir_write_enable=YES /*是否允许匿名用户创建目录*/ #重启服务 service vsftpd restart 注意:对于上传目录,必须设为可写才行。 chmod o+w /var/ftp 20.3.4 取消匿名登录 说明:取消匿名登录后,系统用户都可以通过用户名与密码来访问FTP服务器了。 vi vsftpd.conf #修改以下内容 anonymous_enable=NO #重启服务 service vsftpd restart 20.3.5 设置欢迎信息 vi vsftpd.conf #修改以下内容 ftpd_banner=Welcome to koumm’s FTP service. /*服务器欢迎信息*/ dirmessage_enable=YES /*默认是开启状态*/ #然后在/var/ftp中建立.message文件。 #该文件为目录说明文件,用于对目录的说明,每个目录中都可有。 vi /var/ftp/.message 欢迎访问ftp主目录。 /*通过SecureCRT登录可以打汉字,并可显示*/ #重启服务 service vsftpd restart 20.3.6 以独立进程联机 vi vsftpd.conf #新加入以下内容 setproctitle_enable=YES /*默认是开启状态*/ #重启服务 service vsftpd restart #测试 ps -ef|grep ftp #该功能可能只是在管理上可以查看用户登录的情况吧。 20.3.7 限制下载速度 vi vsftpd.conf #新加入以下内容 anon_max_rate=100000 /*匿名最高速为100KB*/ local_max_rate=200000 /*本机用户最高速为200KB */ #实际速度会在80-120%之间。 #重启服务 service vsftpd restart 20.3.8 使用pasv联机模式 vi vsftpd.conf #新加入以下内容 listen_port=2121 /*监听2121端口,用于防火墙 */ pasv_enable=YES /*启用pasv模式*/ pasv_min_port=9981 /*pasv端口范围*/ pasv_max_port=9986 #重启服务 service vsftpd restart 20.3.9 超级守护程序启动 vi vsftpd.conf #修改以下内容 listen=NO /*监听2121端口,用于防火墙 */ #在/etc/xinetd.d/新建以下内容 vi /etc/xinetd.d/vsftpd service vsftpd { disable = no socket_type = stream wait = no user = root server = /usr/sbin/vsftpd port = 21 log_on_success += PID HOST DURATION log_on_failure += HOST } #重启服务 service xinetd restart 注:该配置是对以前服务的一个加深的理解,也相应的也提供了一个处理问题的思路。 20.3.10 最大连机数 vi vsftpd.conf #加入以下内容 max_clients = 100 /*服务器最大连机默认为0无限制*/ max_per_ip = 5 /*单IP最大连机默认为0无限制*/ #重启服务 service xinetd restart 注:该配置是对以前服务的一个加深的理解,也相应的也提供了一个处理问题的思路。 20.3.11 特定用户不能登录方法一 #其中的用户不能登陆ftp /etc/vsftpd/ftpusers #可以通过以下文件来进行控制的,第二行内容。 vi /etc/pam.d/vsftpd #%PAM-1.0 auth required pam_listfile.so item=user sense=deny file= /etc/vsftpd/ftpusers onerr=succeed auth required pam_shells.so auth include system-auth account include system-auth session include system-auth session required pam_loginuid.so #如果把上面的sense=deny改为allow后,也就是说只有/etc/vsftpd/ftpusers中的用户才能够访问ftp服务器了。这里提供了一个配置思路, 以供在实际环境中使用。 20.3.12 特定用户不能登录方法二 #编辑下列文件 vi /etc/vsftpd/chroot_list #修改或加入内容user_list文件本身就有,如没有,请手动添加。 # userlist_enable=YES userlist_file=/etc/vsftpd/ user_list #重启服务 service vsftpd restart 20.4 ftp虚拟用户配置 虚拟帐户与samba中的虚拟帐户有点像,就是为了防止别人用真正的帐户登录系统,而采用的一个帐户的别名帐户,而虚拟帐户只能够登录 ftp,而不能用做其它目的。 20.4.1 创建虚拟帐户文件 [root@redhat vsftpd]# vi vuser.txt bill /*用户名*/ password /*密码*/ koumm abc,.123 通过以上文件来创建用户数据库。 20.4.2 创建虚拟帐户数据库文件 [root@redhat vsftpd]# db_load -T -t hash -f vuser.txt /etc/vsftpd_login.db [root@redhat vsftpd]# chmod 600 /etc/vsftpd_login.db [root@redhat vsftpd]# ll /etc/vsftpd_login.db -rw------- 1 root root 12288 6月 15 17:06 /etc/vsftpd_login.db 修改权限以保证安全。 20.4.3 配置pam文件 为了能够使用ftp服务器能够使用数据库文件对用户进行身份验证,还需要修改vsftpd的PAM文件,把以前的pam中的内容注释掉,并加入以下 内容。 [root@redhat etc]# vi /etc/pam.d/vsftpd #auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed #auth required pam_stack.so service=system-auth #auth required pam_shells.so #account required pam_stack.so service=system-auth #session required pam_stack.so service=system-auth auth required pam_userdb.so db=/etc/vsftpd_login account required pam_userdb.so db=/etc/vsftpd_login 20.4.4 创建虚拟帐户目录 mkdir /var/ftp/vuser useradd -d /var/ftp/vuser vuser useradd ftpvip 说明:创建一个帐户,指定主目录,也是ftp的主目录。不指定就是/home/vuser chown vuser.vuser /var/ftp/vuser chmod o+rw /var/ftp/vuser 20.4.5 编辑配置文件 1.编辑配置文件 [root@redhat pam.d]# vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO /*不能允许匿名用户登录*/ local_enable=YES /*本地用户登录*/ write_enable=NO local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO #加入以下内容 guest_enable=YES /*开启虚拟帐户访问*/ guest_username=vuser /*虚拟帐户对应的系统帐户*/ 说明:虚拟用户的上传下载权限的配置是用匿名配置选项来进行配置的,前提是不能允许匿名用户登录,可以匿名用户可写,虚拟用户就可 以写或上传了。 2.编辑独立配置文件 (1)虚拟帐户配置文件目录 vsftpd可以为不同的虚拟用户创建不同的单独配置文件,来实现不同的功能,思想就是:可以为不同的虚拟用户对应不同的实体用户,从 而实现不能的功能。 [root@redhat pam.d]# vi /etc/vsftpd/vsftpd.conf 加入以下内容: vi /etc/vsftpd/vsftpd.conf user_config_dir=/ftpconfig /*虚拟用户主配置文件目录*/ (2)单独创建虚拟帐户配置文件 vi /ftpconfig/bill /*创建的虚拟用户*/ guest_enable=yes guest_username=vuser /*设置ftp对应的系统帐号为ftpuser*/ anon_world_readable_only=no /*允许匿名用户浏览文件系统*/ anon_max_rate=50000 /*限定传输速率为50KB/s*/ vi /ftpconfig/koumm /*创建的虚拟用户*/ guest_enable=yes /*开启虚拟帐号登录*/ guest_username=ftpvip /*设置ftp对应的系统帐号为ftpvip*/ anon_world_readable_only=no /*允许匿名用户浏览器整个服务器的文件系统*/ write_enable=yes /*允许在文件系统写入权限*/ anon_mkdir_write_enable=yes /*允许创建文件夹 */ anon_upload_enable=yes /*开启匿名帐号的上传功能*/ anon_max_rate=100000 /*限定传输速度为100KB/s*/ 说明:以上实体用户还需要事先创建,用户的主目录如是事先安装的话在/home中。以上方法可以应用一些复杂的应用环境中。 20.5 ftp客户端 20.5.1 ftp命令 ftp命令的功能是在本地机和远程机之间传送文件。 该命令的一般格式如下: ftp 主机名/IP 最常用的命令有: ls 列出远程机的当前目录 cd 在远程机上改变工作目录 lcd 在本地机上改变工作目录 ascii 设置文件传输方式为ASCII模式 binary 设置文件传输方式为二进制模式 close 终止当前的ftp会话 hash 每次传输完数据缓冲区中的数据后就显示一个#号 get(mget) 从远程机传送指定文件到本地机 put(mput) 从本地机传送指定文件到远程机 open 连接远程ftp站点 quit 断开与远程机的连接并退出ftp ? 显示本地帮助信息

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧