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以及启动的模式
05-11 11:29