安装详细

该文档是工作中使用配置,有些地方来自互联网,第一次写文档希望大家多多指点
1. 安装
使用chkconfig --list来查看是否装有vsftpd服务;
使用yum命令直接安装:yum -y install vsftpd
然后为它创建日志文件:touch /var/log/vsftpd.log
这样简单的两个命令就完成了vsftp的安装,但是如果你现在想这样ftp://your_ip来访问的话,那还不行,还需要配置权限!
2. 启动与配置自启动
使用chkconfig --list来查看vsftpd服务启动项情况;
如果看到的是如下显示的结果:
vsftpd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
服务全部都是off的,注意这里的off表示的是服务器启动的时候是否会自启动服务,我们使用如下命令来配置其自启动:
chkconfig --level 2345 vsftpd on #2345对应的是上面对应的0-6项
查看与管理ftp服务:
启动ftp服务:service vsftpd start
查看ftp服务状态:service vsftpd status
重启ftp服务:service vsftpd restart
关闭ftp服务:service vsftpd stop
注意:服务器防火墙
chkconfig iptables --list  
chkconfig --level 2345 iptables on
service iptables status可以查看到iptables服务的当前状态
 vi /etc/sysconfig/iptables
启用端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
/etc/init.d/iptables restart  重启服务
注:开启iptables 容易导致Windows 系统无法使用管理器登录。
3. 配置vsftp服务
vsftp相关配置文件说明  
/etc/vsftpd/vsftpd.conf 是主配置文件。/etc/vsftpd.ftpusers 中指定了哪些用户不能访问FTP服务器。/etc/vsftpd.user_list 中指定的用户默认情况( 即在/etc/vsftpd/vsftpd.con中设置了userlist_deny=YES)下也不能访问FTP 服务器,当在/etc/vsftpd/vsftpd.con中设置了userlist_deny=NO时,仅仅允许/etc/vsftpd.user_list 中指定的用户访问FTP 服务器
一.匿名用户:vi /etc/vsftpd/vsftpd.cof
anonymous_enable=yes          如许匿名访问
write_enable=YES                可写
anon_umask=022 掩码
anon_world_readable_only=NO      #如果开启,那么所有非匿名登陆的用户名都会被切换成guest_username指定的用户名
anon_upload_enable=YES          上传
anon_mkdir_write_enable=YES     创建
anon_other_write_enable=YES     删除
二.系统用户:
1.修改配置文件:
#12 anonymous_enable=NO   不如许匿名访问
#27 anon_upload_enable=yes
#28 anon_other_write_enable=yes
#31 anon_mkdir_write_enable=yes

#96 chroot_list_enable=YES #绑定可以登录FTP用户,

#chroot_list_file=/etc/vsftpd.chroot_list对应文件中添加授权用户


2.创建用户:
使用命令添加ftp用户
1 添加ftp用户,命令格式:
#adduser -d /ftptest/user -g user -s /sbin/nologin user
-d /文件目录  -s /sbin/nologin 用户不能登录服务器  user 用户名   -g ftp 属于那个组
如使用:#adduser -d /ftptest/user -g ftp -s /sbin/nologin NAME
增加了一个名为name的用户,它的目录属于/ftptest/user下面,属于user用户组。此用户是不可以登陆我们终端服务器的。
2 添加密码:
#passwd NAME
3.修改用户权限
设置用户名为NMEE的用户在目录下可以读写的权限
#chown -R NAME:ftp /ftptest/user
如:
[root@localhost home]# adduser -d /ftptest/user -g user -s /sbin/nologin user
[root@localhost home]# passwd user
Changing password for user user.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost home]# chown -R user1:user2 /ftptest/user
   1)如何设置多用户共用一个文件目录:
]# adduser -d /ftptest/user -g ftp -s /sbin/nologin user1
]# adduser -d /ftptest/user -g ftp -s /sbin/nologin user2
注:分别添加2个用户,指定到同一个目录即可
   2)设置没用用户不同权限
1.修改单一用户用户文件权限:
#chmod 777 文件夹
r=4 w=2 x=1
(需要赋予执行权限)
只读权限 chmod 511 文件
读写权限 chmod 711 文件

问题:一个用户对2个文件夹不同权限:需要在同一个目录下执行,单独设置文件权限
同一个用户无法绑定2个独立的目录

建立组:将用户添加到组
1.groupadd 组名
2.

usermod -a -G 组名 用户名

=========问题:如何实现多用户共同使用同一个目录,切执行不同权限========
如:用户user1 属于user2组,对文件只有读取权限
   用户user2 属于user2组,对文件有读写权限
   两个用户共用/ftptest/user目录
#groupadd user2
#adduser -d /ftptest/user -g user2 -s /sbin/nologin user1
#usermod -a -G user1 uesr2
#adduser -d /ftptest/user -g user2 -s /sbin/nologin user2
#usermod -a -G user1 uesr2
#passwd uesr1
#passwd user2
#chown -R user1:user2 /ftptest/user  更改文件所有者user1:user2(user2组里的user1用户)
#chmod 575 /ftptest/user      设置/ftptest/user目录权限(设置user1有5、组7.其他5)
因为我们设置用户只读,组成员可读写,所有将文件修改为575
:chmod 权限格式   chmod   ugo
u:表示文件所有者 
g:表示同组用户
o:表示其它用户
a:表示所有用户
opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限
而mode则代表权限:
r:可读 =4
w:可写 =2
x:可执行 =1
实现user1和user2共同拥有一个目录。user1只读权限,user2读写权限
#groupadd user2
#adduser -d /ftptest/user -g user2 -s /sbin/nologin user1
#usermod -a -G user1 uesr2
#adduser -d /ftptest/user -g user2 -s /sbin/nologin user2
#usermod -a -G user2 uesr2
#passwd uesr1
#passwd user2
#chown -R user2:user2 /ftptest/user
#chmod 755 /ftptest/user  


三.虚拟用户