linux创建ftp用户以及指定目录问题
创建用户命令:如我的目录是根目录下的 MyWeb 用户名:xdh2571
#useradd -G ftp -d /MyWeb -M xdh2571
#passwd xdh2571
#chown
xdh2571.ftp /MyWeb -R
#chmod 750 /MyWeb -R
#service vsftpd start
测试是否能登陆ftp
#ftp localhost
输入刚创建的用户名密码,如若登陆失败,解决以下问题:
1、查看MyWeb的权限
#ls -l
要保证MyWeb的权限至少是 root
xdh2571
若两个都是root,则修改如下:
#chown -R root:xdh2571
MyWeb
2、有关SELinux
我的系统是:Red Hat Enterprise Linux
5
系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。
//查看SELinux设置
#
getsebool -a|grep ftp
ftpd_disable_trans -->
off
或者
ftp_home_dir-->off
解决方法:
//使用setsebool命令开启
#
setsebool ftpd_disable_trans 1
或者
# setsebool ftp_home_dir
1
再次查看当前状态是否是on的状态
# getsebool -a|grep ftp
ftpd_disable_trans -->
on
或者
ftp_home_dir-->on
//setsebool使用-P参数,无需每次开机都输入这个命令
#
setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
#
service vsftpd restart
有关selinux的配置
如关闭,仅仅警告,强制等等
需要编辑/etc/sysconfig/selinux 默认是强制
/***************************************************以下为相关知识点********************************************************/
查看当前SELinux设置和状态
- sestatus命令 # 当前SELinux开启设为启动,permissive模式,在当前状态下,可以使用setenforce 1改变为enforcing模式 [root@CentOS5 ~]# sestatus SELinux status: enabled SELinuxfs mount: /selinux Current mode: permissive Mode from config file: disabled Policy version: 21 Policy from config file: targeted
- 上面的输出是CentOS5中的,这里说明一下,sestatus这个命令在CentOS4/RHEL4(policycoreutils-1.18)和CentOS5/RHEL5(policycoreutils-1.33)中的默认输出不一样,在旧版本中,默认会同时输出详细的规则布尔值,而在新版本中默认不输出,使用-b开关可以打印这些布尔值,下面是旧版本(policycoreutils-1.18)中的输出样例
- [root@CentOS4 ~]# sestatus使用getenforce也可以查看当前状态
- 设置和修改SELinux状态
- setenforce setenforce 1 # 设定selinux模式为enforcing setenforce 0 #
设定selinux模式为permissive #
注:当前SElinux为Disabled状态时,setenforce会执行失败,并警告:"setenforce: SELinux is
disabled"
修改/etc/sysconfig/selinux:这个文件决定了系统启动时是否启用SELinux以及启动的模式