中国青基会
RSS
热门关键字:  None  linux+moodle安装  mac  rhel5  199
当前位置 : Nixsky>UNIX>Solaris>列表

Solaris下安装vsftpd

来源:CU 作者:wolfg 时间:2007-06-04 点击:

建启动脚本
# vi /etc/rc3.d/S83vsftpd

CODE:
#!/sbin/sh
case "$1" in
start)
        /usr/local/bin/vsftpd &
;;
stop)
        pkill vsftpd
;;
*)
        echo "Usage: $0 { start | stop }"
        exit 1
;;
esac
exit 0
4.用户管理

手工添加用户
# useradd -d /dev/null -g ftp -s /bin/false test

设置密码
# passwd test

在/etc/vsftpd/下添加一个与用户名相同名字的文件
# vi /etc/vsftpd/test
若只允许下载,则添加如下内容
anon_world_readable_only=no
anon_max_rate=512000

若允许上传,则添加如下内容
anon_world_readable_only=NO  
write_enable=YES  
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=1024000

追加新增的用户test到/etc/vsftpd.user_list文件
# echo "test">;>; /etc/vsftpd.user_list

建立test用户的ftp主目录
# mkdir /data/ftp/test
# chown ftp:ftp /data/ftp/test

5.用户管理脚本
方便添加、删除用户、修改用户密码

安装脚本运行需要的软件包:
# wget  ftp://mirror.sprintlink.net/sunfreeware.com/pub/freeware/sparc/9/tcl-8.4.6-sol9-sparc-local.gz
# gunzip tcl-8.4.6-sol9-sparc-local.gz
# pkgadd -d tcl-8.4.6-sol9-sparc-local

# wget
ftp://mirror.sprintlink.net/sunfreeware.com/pub/freeware/sparc/9/tk-8.4.6-sol9-sparc-local.gz
# gunzip tk-8.4.6-sol9-sparc-local.gz
# pkgadd -d tk-8.4.6-sol9-sparc-local

# wget
ftp://mirror.sprintlink.net/sunfreeware.com/pub/freeware/sparc/9/expect-5.40-sol9-sparc-local.gz
# gunzip expect-5.40-sol9-sparc-local.gz
# pkgadd -d expect-5.40-sol9-sparc-local

setpasswd.exp

CODE:
#! /usr/local/bin/expect -f
#username is passed as 1st arg,password as 2nd
set password [lindex $argv 1]
spawn passwd [lindex $argv 0]
expect "*Password:"
send "$password\r"
expect "*Password:"
send "$password\r"
expect eof
ftpuseradd

CODE:
#!/sbin/sh
# ftpuseradd
usage()
{
echo "Usage: `basename $0` [-w] [-m maxrate] username password"
exit 1
}
WRITABLE="no" # can't upload
MAXRATE="64000" # default max rate is 64Kb
OPT="no"

while getopts :wm: OPTION
do
  case $OPTION in
  w) WRITABLE="yes"
    OPT="yes"
    ;;
  m) MAXRATE=$OPTARG
    OPT="yes"
    ;;
  \?) usage
    ;;
  esac
done

shift `expr $OPTIND - 1`

if [ $# -ne 2 ]
then
  usage
fi

USERNAME=$1
PASSWORD=$2

useradd -d /dev/null -g ftp -s /bin/false $USERNAME

if [ $? -eq 0 ]
then
  setpasswd.exp $USERNAME $PASSWORD >; /dev/null

  echo "anon_world_readable_only=NO" >; /etc/vsftpd/$USERNAME
  echo "anon_max_rate=$MAXRATE" >;>; /etc/vsftpd/$USERNAME

  if [ "$WRITABLE" = "yes" ]
  then
    echo "write_enable=YES" >;>; /etc/vsftpd/$USERNAME
    echo "anon_upload_enable=YES" >;>; /etc/vsftpd/$USERNAME
    echo "anon_mkdir_write_enable=YES" >;>; /etc/vsftpd/$USERNAME
    echo "anon_other_write_enable=YES" >;>; /etc/vsftpd/$USERNAME
  fi
  
  echo "$USERNAME" >;>; /etc/vsftpd.user_list
  
  mkdir /data/ftp/$USERNAME
  chown ftp:ftp /data/ftp/$USERNAME
fi

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册