在linux中添加ftp用户,并设置相应的权限,操作步骤如下:
1.查看是否安装vsftp:
[root@localhost vsftpd]# rpm -qa |grep vsftpd
若没有安装则运行 yum install vsftpd
启动ftp命令 #service vsftpd start
停止ftp命令 #service vsftpd stop
重启ftp命令 #service vsftpd restart
2.环境:ftp为vsftp。被设置用户名为ftptest。
3.建用户:在root用户下:
useradd -d /var/ftp ftptest //增加用户ftptest,并制定ftptest用户的主目录为/var/ftp
passwd ftptest 为ftptest用户设置密码
3.更改用户相应的权限设置:
usermod -s /sbin/nologin ftptest //限定用户test不能telnet,只能ftp
usermod -s /sbin/bash ftptest //用户test恢复正常
usermod -d /var/ftp ftptest //更改用户test的主目录为/test
4.限制用户只能访问/var/ftp/,不能访问其他路径
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES //限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
编辑 chroot_list(根据自己系统实际用户所在的文件)文件,将受限制的用户添加进去,每个用户名一行
改完配置文件,不要忘记重启vsFTPd服务器
[root@localhost]# service vsftpd restart
5.如果需要允许用户修改密码,但是又没有telnet登录系统的权限:
usermod -s /usr/bin/passwd ftptest //用户telnet后将直接进入改密界面
6.如果要删除用户,用下面代码:
userdel ftptest //userdel + 用户 即可删除ftp用户
可以参考下方的配置详情在/etc/vsftpd/vsftpd.conf文件中进行相应的配置。
若还是不能访问可
1、关闭防火墙:#service iptables stop
2、关闭selinux:#setsebool ftpd_disable_trans 1或 #vim /etc/sysconfig/selinux将SELINUX=disable,运行setenforce 0命令使其立即生效即可
然后重启ftp #service vsftpd restart
ftp配置详解:
# 匿名用户配置 anonymous_enable=YES # 是否允许匿名ftp,如否则选择NO anon_upload_enable=YES # 匿名用户是否能上传 anon_mkdir_write_enable=YES # 匿名用户是否能创建目录 anon_other_write_enable=YES # 修改文件名和删除文件 # 本地用户配置 local_enable=YES # 是否允许本地用户登录 local_umask=022 # umask 默认755 write_enable=YES chroot_local_user=YES # 本地用户禁锢在宿主目录中 chroot_list_enable=YES # 是否将系统用户限止在自己的home目录下 chroot_list_file=/etc/vsftpd.chroot_list # 列出的是不chroot的用户的列表 chown_upload=YES # 是否改变上传文件的属主 chown_username=username # 如果是需要输入一个系统用户名 userlist_enable=YES userlist_deny=NO deny_email_enable=YES # 是否允许禁止匿名用户使用某些邮件地址 banned_email_file=/etc/vsftpd.banned_emails # 禁止邮件地址的文件路径 ftpd_banner=Welcome to chenlf FTP service. # 定制欢迎信息 dirmessage_enable=YES # 是否显示目录说明文件, 需要收工创建.message文件 message_file= # 设置访问一个目录时获得的目录信息文件的文件名,默认是.message xferlog_enable=YES # 是否记录ftp传输过程 xferlog_file=/var/log/vsftpd.log # ftp传输日志的路径和名字 xferlog_std_format=YES # 是否使用标准的ftp xferlog模式 ascii_upload_enable=YES # 是否使用ascii码方式上传文件 ascii_download_enable=YES # 是否使用ascii码方式下载文件 connect_from_port_20=YES # 是否确信端口传输来自20(ftp-data) nopriv_user=ftpsecure # 运行vsftpd需要的非特权系统用户默认是nobody async_abor_enable=YES # 是否允许运行特殊的ftp命令async ABOR. # FTP服务器的资源限制 idle_session_timeout=600 # 设置session超时时间 data_connection_timeout=120 # 设置数据传输超时时间 max_clients=50 # 用户最大连接数 默认是0不限止 max_per_ip=5 # 每个IP地址最大连接数 anon_max_rate=102400 # 匿名的下载速度 KB local_max_rate=102400 # 普通用户的下载速度 KB