ubuntu vps用vsftpd配置FTP服务器
刚买了VPS就得瑟的不行,因为正好也帮朋友挂了博客,所以折腾如何给用户配置FTP权限。
一.安装
apt-get install vsftpd
安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地址。应该可以看到一个空白内容的ftp空间。默认设置下匿名用户可以下载,但不能写入或是上传。
二.配置
安装好之后,配置文件应该在/etc/vsftpd.conf,编辑这个文件,修改如下几个地方:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
以上每行解释如下:
禁止匿名用户访问ftp
允许本地用户访问ftp
允许本地用户上载文件
上载文件的时候,使用的掩码是022
三.创建ftp用户并修改密码:
此处采用的是useradd命令:用来建立用户帐号和创建用户的起始目录,使用权限是终极用户。
下面是参数解释:
-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
因为是挂博客,拥有的权限也局限在博客所在的文件目录下
//用户添加成功
useradd zhangjian -d /var/www/zhangjian
//给用户设置密码,按照提示输入即可
passwd zhangjian
//如果想使用户隶属某个组
groupadd test
useradd -G test –d /var/www/zhangjian –M zhangjian
//注:G:用户所在的组 d:表示创建用户的自己目录的位置给予指定
//M:不建立默认的自家目录,也就是说在/home下没有自己的目录,貌似有些版本没这个项
如果不给SSH方式登录的话
useradd zhangjian -d /var/www/zhangjian -s /bin/false
修改文件夹的主属和权限
chown zhangjian /var/www/zhangjian ----这表示把/var/www/zhangjian的属主定为zhangjian
chmod 750 /var/www/zhangjian ----7表示wrx 5表示rx 0表示什么权限都没有
设置好后,zhangjian这个用户就有有上传、删除和下载的权限。
重启服务
/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登入系统
源文:vicenteforever
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/228703.html