Linux学习笔记之服务器篇(二)

来源:互联网 发布:美国数据公布时间 表 编辑:程序博客网 时间:2024/05/20 05:11
【FTP服务器的安装】
a.查看并安装vsftpd服务
rpm -qa |grep vsftpd
rpm -ivh vsftpd-2.0.5-10.e15.rpm

b.开启服务
service vsftpd start

c.在Windows上用匿名账户和本地账户测试ftp服务
匿名账户:anonymous ftp 密码:随便
本地账户:用useradd创建的账户(存在安全隐患,因为它可以从宿主目录切换到其他目录)

d.将本地用户禁锢在宿主目录中
cd /etc/vsftpd
vi vsftpd.conf
>G 跳到最后一行
>添加如下配置:
chroot_local_user=YES
效果:本地用户只能在宿主目录下操作

e.设置使其root用户可以登录
vi /etc/vsftpd/ftpusers
vi /etc/vsftpd/user_list
删除root用户即可
重启vsftpd:service vsftpd restart
在开了root用户上传权限,也关了系统的防火墙,但ftp连接的时候依然还会出现 "500 OOPS:cannot change directory:/root" 错误,如何解决呢?
解决:
     1、 查看 SELinux 的状态:  sestatus -b | grep ftp      确切地说,只是查看了ftp的状态。
     2、 在出现的结果中可以看到  ftp_home_dir off ,tftpd_disable_trans   off之类。我们现在只要把其中之一设置为on就可以啦。
     3、 setsebool -P ftpd_disable_trans on      或者 setsebool -P  ftp_home_dir  on 
     4、 重启vsftpd:  service vsftpd restart
     5、 慢慢享受ftp带来的乐趣。

f.vsftpd虚拟用户帐号的设置
  1.建立虚拟用户口令库文件
    /etc/vsftpd
    vi logins.txt
    >口令库文件中奇数行设置用户名,偶数行设置口令
     mike
     pw1234
     john
     pwabcd
    >:wq

  2.生成vsftpd的认证文件
使用db_load命令生成认证文件(需要安装db4-utilsxx.rpm包)
  db_load -T -t hash -f logins.txt \
/etc/vsftpd/vsftpd_login.db(一个命令太长,加个"\",在第二行接着写)
设置认证文件只对用户可读可写
chmod 600 /etc/vsftpd/vsftpd_login.db

  3.建立虚拟用户所需的PAM配置文件
手工建立vsftpd.vu文件
/etc/pam.d
vi vsftpd.vu
auth required /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
account required  /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

  4.建立虚拟用户所要访问的目录并设置相应权限
建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限
useradd -d /home/ftpsite virtual
chmod 700 /home/ftpsite

  5.设置vsftpd.conf配置文件
在配置文件中添加虚拟用户的配置内容
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu

  6.重启vsftpd服务
service vsftpd restart

g.Windows端测试
发现看不到ftpsite中的内容:缺省配置的虚拟用户只有较低的用户权限,可以通过为每个虚拟用户建立独立的配置文件增加用户的权限
   1.设置主配置文件在vsftpd.conf文件中添加用户配置文件目录设置
user_config_dir=/etc/vsftpd_user_conf

   2.建立用户配置文件目录,使用mkdir命令建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf

   3.为虚拟用户建立单独的配置文件,用户配置文件名称与用户名相同
/etc/vsftpd_user_conf/mike
/etc/vsftpd_user_conf/john

   4.每个FTP虚拟用户都可以独立设置其权限
anon_world_readable_only=NO(表示用户可以浏览FTP目录和下载文件)
anon_upload_enable=YES(表示用户可以上传文件)
anon_mkdir_write_enable=YES(表示用户可以建立和删除目录的权力)
anon_other_write_enable=YES(用户具有文件改名和删除文件的权利)
  
   5.vsftpd服务器中的资源使用可以进行限制(在vsftpd.conf文件中配置)
max_clients=100
max_per_ip=5
local_max_rate=500000
anon_max_rate=200000

原创粉丝点击