阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 16.04 安装ftp服务器传输文件

122次阅读
没有评论

共计 3053 个字符,预计需要花费 8 分钟才能阅读完成。

最近在搞深度学习,老师比较宝贝他的服务器,要求我以后负责管理服务器。往后所有要使用服务器的人都必须向我申请账号,然后只允许客户端访问,使用文件传输软件传输文件。像我这样一个 Linux 菜逼,这种要求不是赶鸭子上架嘛!而且我对运维也不感兴趣,想着实验不能再拖了,真是事多啊,影响我效率。然而吐槽归吐槽,正事还是要办,不然就没服务器用了 =。= …….

(一)创建用户

相信大家的 Linux 入门教材都是《鸟哥私房菜》,然而,我实际操作的时候发现并不是那么一回事。其实 Ubuntu 有自己的默认设置,如果你还使用 useradd 命令的话,/home 下是不会自动创建用户主目录的。

鸟哥的 Linux 私房菜 - 基础学习篇 (第四版) 高清完整书签 PDF 版 下载 http://www.linuxidc.com/Linux/2016-02/128220.htm

后来查资料发现,Ubuntu 其实并不是在故意搞事情,而是大大简化的我们的操作 ——- 下面就讲讲 adduser 命令!

这个命令实际是一个 perl 脚本,是 useradd 等类似底层命令的更友好的前端,它会用交互性的方式建立新用户,使用它可以指定新用户的家目录,登录密码,是否加密主目录等等,它会:

1. 建立一个新目录作为家目录
2. 建立同名新组
3. 把用户的主要组设为该组(除非命令选项覆盖以上默认动作,比如–disall-homdirecry 之类)
4. 从 /etc/SKEL 目录下拷贝文件到家目录,完成初始化
5. 建立新用户的密码
6. 如果其存在的话,还会执行一个脚本。

整个过程只需要一条命令(如 sudo adduser username),是不是很简单?下面我们来看看执行效果, 假设我们要建一个用户 xuanxufeng_1:

Ubuntu 16.04 安装 ftp 服务器传输文件

我们按提示一步步走就行了!

Ubuntu 16.04 安装 ftp 服务器传输文件

我们可以看到 /home 下已经自动为 xuanxufeng_1 这个用户创建了主目录,是不是比 useradd 这个命令方便的多。

(二)为普通用户添加 sudo 权限

刚刚创建完的用户其实并不能获得超级用户的权限,如果你使用 sudo+ 命令来提升权限,系统会给你报错。

但是笔者在想,老师的本意是希望每个用户的操作不要互相影响,用户之间应当是隔离的,我是不是应该赋予每个用户超级权限呢?但是如果不给,很多环境的搭建都要用到 sudo, 那么这种情况下又该怎么办呢?这里小弟不太明白,希望各位看官能指点迷津,小弟不甚感激!!!

 下面介绍如何配置 sudoers:

 sudo 功能的配置文件一般在这里:/etc/sudoers,可以使用 gedit 编辑。然而 /etc/sudoers 的配置文件的注释里说明了,不建议直接修改 /etc/sudoers,而是通过在 /etc /sudoers.d/ 文件夹中新增文件来完成配置。

 Please consider adding local content in /etc/sudoers.d/ instead of directly modifying this file.

 新增的文件就用 gedit 编辑就可以了,比如说要为 xuanxufeng_1 增加 sudo 权限,就增加一个文件,文件名无所谓,内容是:

xuanxufeng_1 ALL=(ALL) ALL

保存,退出。

 然后需要把这个文件权限设置为 400:chmod 400 xuanxufeng_1  

再用 xuanxufeng_1 用户登录后就可以使用 sudo 权限了。

注意:Ubuntu10.04(11.04 是好的,其他版本没测)有一个严重的 BUG,在 /etc /sudoers.d/ 中增加文件后,如果此文件不是 400 权限,则无法再次使用 sudo,一用就系统崩溃!想再修改文件属性也无法修改,Ubuntu 默 认 root 是不能直接登录的。如果已经发生了这个情况,只能重启到单人维护模式,把文件权限设置好再重新启动!对托管在机房的机器来说真是一个灾难!

 如果想避免这个情况,不要 sudo 增加文件,而是先 sudo su root 换做 root 身份登录,然后再创建文件修改文件权限,就可以了,因为此时 root 没退出,所以可以修改。

(三)  Ubuntu16.04 安装 ftp 服务器

 这里是正题。

sudo apt-get update
sudo apt-get install vsftpd

执行完该步骤,vsftpd 服务已经安装

1. 修改 ftp 的配置文件 /etc/vsftpd.conf

(a)向文件中添加如下内容:

userlist_deny=NO 
userlist_enable=YES 
#允许登录的用户 
userlist_file=/etc/allowed_users 
seccomp_sandbox=NO 
local_enable=YES 
#设置文件上传 
write_enable=YES 
#使用 utf8
utf8_filesystem=YES

 Ubuntu 16.04 安装 ftp 服务器传输文件

使文件中的 ”local_enable=YES” 保存。

(b)新建 /etc/allowed_users 文件

sudo gedit /etc/allowed_users

假设我只想让 xuanxufeng 和 root 访问 ftp 服务器,那么输入 xuanxufeng,root–> 保存 OK!以后还有其它用户使用 ftp 时直接添加用户名就可以了!

(c)使用 gedit 查看 /etc/ftpusers 文件中的内容

sudo gedit /etc/ftpusers

打开这个文件后,看一看有没有 uftp 这个用户名,如果没有,就直接退出。如果有就删除 uftp, 因为这个文件中记录的是不能访问 FTP 服务器的用户清单。

重启 vsftp 服务器。

2. 启动停止重启服务

sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop
sudo /etc/init.d/vsftpd restart

3. 访问 ftp 服务器

sudo ftp 127.0.0.1

浏览器访问 

ftp://127.0.0.1 

或者 

ftp://localhost

远程访问时使用实际 ip:  ftp://your_ip 

4. windows 下简单有效地访问 ftp 服务器

我们有三种方式可以访问(假设服务器 ip 地址是:172.16.23.33)

(1)浏览器

在浏览器中输入 ftp://172.16.23.33, 运行结果如下:

Ubuntu 16.04 安装 ftp 服务器传输文件

(2)使用文件传输软件(比如 8uftp):

Ubuntu 16.04 安装 ftp 服务器传输文件

按道理讲,访问权限仅限于 xuanxufeng 这个用户的主目录,但是这个软件真特么的强大,它竟然能越过我的主目录,访问整个系统!好怕怕 =。=

另外,这里有乱码的问题,由于本篇文章的重点不在这,我也懒得管这个了,有兴趣的读者可以自己去试着去解决一下。

(3)最后,我来介绍一个最方便的方法~ Windows 其实还挺方便的,也不是一无是处哈~

双击“计算机”,在地址栏输入:ftp://172.16.23.33/,然而并没有什么卵用 ….

Ubuntu 16.04 安装 ftp 服务器传输文件

不要着急嘛~ 右击一下,选择登陆~~~

Ubuntu 16.04 安装 ftp 服务器传输文件

 Ubuntu 16.04 安装 ftp 服务器传输文件

Ubuntu 16.04 安装 ftp 服务器传输文件

现在是不是进来了呢?这个其实就对应 Linux 下 xuanxufeng 这个用户的主目录了!剩下的文件上传和下载就和 Windows 下文件操作一样了,是不是很方便!
 
——————————— 我是分割线 ———————————
 
好了,服务器搭建基本完成,以后服务器每多一个用户,就创建一个用户,然后在 /etc/allowed_users 中把这个用户添加进来就 OK 啦!

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139233.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3053字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中