Ubuntu14.04LTSServer安装vsftpd3.0.2同时配置SSH+静态IP/DNS+ACL权限一.系统安装1.安装时只选择OpenSSHserver,其它选项都使用默认。可以在安装时指定IP地址安装时建议选择英文,否则还要处理中文乱码的问题2.登入系统后提示有更新更新软件源:sudoagp-getupdate安装更新:sudoagp-getdist-upgrade重启sudoreboot(好像不重启也行)二.中文和IP1.如果在安装过程中选择的是中文,在命令行窗口和终端会出现乱码的问题对于终端软件:直接修改虚拟终端界面配置项目中的字体编码为UTF-8即可。其实就是仍然采用了UbuntuServer默认的zh_CN.UTF-8汉字编码,但在虚拟终端中经过“编码修正”后正确显示出来对于命令行窗口,我没找到好的办法显示中文,还是换回英文吧,此处换回英文的话,命令行也同时换回了英文修改Ubuntu的配置文件/etc/default/locale,将原来的配置内容修改为LANG=”en_US.UTF-8″LANGUAGE=”en_US:en”再在终端下运行:locale-gen-en_US:en注销或重启后,UbuntuServer真正服务器实体终端就恢复成了英文的语言环境。所以,此方法不是真正意义上的中文化,而是恢复英文的默认编码2.手动设定IP地址ifconfig查看网卡名称sudovi/etc/network/interfaces,修改eth0的配置Sudovi/etc/resolv.conf增加DNS增加1行或2行nameserverxxx.xxx.xxx.xxx但是在这里直接修改,重启后就没了,接下来sudovi/etc/resolvconf/resolv.conf.d/base增加nameserver8.8.8.8nameserver8.8.4.4然后resolvconf–u这样重启后DNS也不会丢了三.安装配置vsftpd1.安装sudoapt-getinstallvsftpd查看是否打开21端口sudonetstat-npltu|grep21此进vsftpd已按默认配置文件运行了。测试ftp,正常运行ftplocalhost更改配置文件:/etc/vsftpd.confListen=YES:设置为YES时vsftpd以独立运行方式启动,设置为NO时以xinetd方式启动anonymous_enable=NO:设置不支持匿名用户访问local_enable=YES:设置支持本地用户帐号访问local_root=/ftp:设置本地用户登陆后的目录,默认为本地用户的主目录。稍后会创建此目录chroot_local_user=YES:限制登录用户访问其他目录write_enable=YES:开放本地用户的写权限以下都使用默认值,不理会dirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YESsecure_chroot_dir=/var/run/vsftpd/emptypam_service_name=vsftpdrsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pemrsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key回到/下,新建目录sudomkdir/ftp重启sudoservicevsftpdrestart2.配置用户创建用户useradd用户名-g组名-dHome目录名-sshell-p密码sudogroupadduser1sudouseradduser1–guser1–d/ftp–s/sbin/nologinsudogroupadduser2sudouseradduser2–guser2–d/ftp–s/sbin/nologinpasswduser1passwduser2设定shell为/sbin/nologin,这种配置仍然允许这个用户执行重要的日常任务,比如收发信件,FTP,访问网络共享目录和其他任务。它只是阻止用户登录服务器此时用user1或user2登入,会出现错误我们去/etc/shells手动添加一行/sbin/nologin3.设定访问权限在linux下,对一个文件(或者资源)可以进行操作的对象被分为三类:fileowner(文件的拥有者),group(组,注意不一定是文件拥有者所在的组),other(其他),而对于每一类别又分别定义了read,writeandexecute/search权限。通过ls-l命令就我们就可以列出一个文件的权限。但要想像windows那样灵活的给文件授权,好像没有一个很好的解决方案.其实问题就出在Linux文件权限里面,对于other的定义过于广泛,以至于很难把权限限定于一个不属于fileowner和group的用户身上.AccessControlList(ACL)可以解决这个问题的。安装ACL:sudoapt-getinstallacl安装ACL完成后,需要激活我们磁盘分区的ACL功能,这样我们才能使用它。首先,我们检查ACL功能是否已经开启:mountroot分区中ACL属性已经开启。如果没有开启,你需要编辑/etc/fstab文件,在你需要开启ACL的分区的选项前增加acl标记重启生效(重新挂载也行)给/ftp赋予ACL权限,cd/sudosetfacl–mu:user1:rx/ftpsudosetfacl–mu:user2:rx/ftp这时ls–lftp会看到权限右边多了一个+号在/ftp下新建一个文件夹share,给user1写的权限,给user2读的权限cd/ftpsudomkdirsharesudosetfacl–mu:user1:rwx./sharesudosetfacl–mu:user2:rx./sharesudogetfacl./share现在,要让在share文件夹下新建的文件夹继承这个ACL权限sudochmodo-r-xsharesudosetfacl–d–mu:user1:rwx./sharesudosetfacl–d–mu:user2:rx./sharesudogetfacl./share发现default:user::rw-没有x,这是给owner用户的权限,要把它加上,不然进不了目录sudosetfacl–d–mu::rwxshare记得把你当前使用的帐号加到acl里面去。