Pages

Sunday, 5 May 2013

debian vps下,用vsftpd配置FTP服务器

如何给用户配置FTP权限。 一.安装
1
apt-get install vsftpd
安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地址。应该可以看到一个空白内容的ftp空间。默认设置下匿名用户可以下载,但不能写入或是上传。
二.配置
安装好之后,配置文件应该在/etc/vsftpd.conf,编辑这个文件,修改如下几个地方:
1
2
3
4
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
以上每行解释如下:
禁止匿名用户访问ftp
允许本地用户访问ftp
允许本地用户上载文件
上载文件的时候,使用的掩码是022
三.创建ftp用户并修改密码:
此处采用的是useradd命令:用来建立用户帐号和创建用户的起始目录,使用权限是终极用户。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
-b, --base-dir BASE_DIR       base directory for the home directory of the new account
-c, --comment COMMENT         加上备注文字,备注文字保存在passwd的备注栏中。
-d, --home-dir HOME_DIR       指定用户登入时的启始目录。
-D, --defaults                变更预设值
-e, --expiredate EXPIRE_DATE  指定账号的有效期限,缺省表示永久有效。
-f, --inactive INACTIVE       指定在密码过期后多少天即关闭该账号。
-g, --gid GROUP               指定用户所属的起始群组。
-G, --groups GROUPS           指定用户所属的附加群组。
-h, --help                    显示帮助信息
-k, --skel SKEL_DIR           use this alternative skeleton directory
-K, --key KEY=VALUE           override /etc/login.defs defaults
-l, --no-log-init             do not add the user to the lastlog and faillog databases
-m, --create-home             自动建立用户的登入目录。
-M, --no-create-home          不要自动建立用户的登入目录。
-N, --no-user-group           取消建立以用户名称为名的群组。
-o, --non-unique              允许用户ID号,不必惟一
-p, --password PASSWORD       指定用户密码
-r, --system                  建立系统账号。
-s, --shell SHELL             指定用户登入后所使用的shell。
-u, --uid UID                 指定用户ID号。
-U, --user-group              创建一个和用户名一样的用户组
-Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping
因为是挂博客,拥有的权限也局限在博客所在的文件目录下
1
2
3
4
5
6
7
8
9
//用户添加成功
useradd zhangjian -d /var/www/zhangjian
//给用户设置密码,按照提示输入即可
passwd zhangjian
//如果想使用户隶属某个组
groupadd test
useradd -G test –d /var/www/zhangjian –M zhangjian
//注:G:用户所在的组 d:表示创建用户的自己目录的位置给予指定
//M:不建立默认的自家目录,也就是说在/home下没有自己的目录,貌似有些版本没这个项
如果不给SSH方式登录的话
1
useradd zhangjian -d /var/www/zhangjian -s /bin/false
修改文件夹的主属和权限
1
2
chown zhangjian /var/www/zhangjian ----这表示把/var/www/zhangjian的属主定为zhangjian
chmod 750 /var/www/zhangjian ----7表示wrx 5表示rx 0表示什么权限都没有
设置好后,zhangjian这个用户就有有上传、删除和下载的权限。
重启服务
1
/etc/init.d/vsftpd restart
这样就OK了。可以用FTP软件登录了,登录成功后就只能管理权限下的目录了。
四.应用实例
1.useradd caojh -u 544建立一个新用户账户,并设置ID
2.useradd oracle -g oinstall -G dba新创建一个oracle用户,这初始属于oinstall组,且同时让他也属于dba组
3.useradd zcx -d /var/ftp/service -s /sbin/nologin无法使用shell,且其用户目录至/var/ftp/service
4.useradd -d /home/sshproxy -m -g sshproxy -s /bin/false sshproxy添加用户sshproxy,指定用户目录/home/sshproxy,当创建此目录,初始属于sshproxy组,指定shell为 /bin/false此条是为了添加ssh代理用户,不让用户通过ssh登入系统
关于FTP配置文件具体设置请参考:http://apps.hi.baidu.com/share/detail/6822473