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

(一)创建用户

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

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

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

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

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

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

我们可以看到/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 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

使文件中的"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,运行结果如下:

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

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

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

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

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

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

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

最新文章

  1. Java基础--反射机制的知识点梳理
  2. UTF-8编码的字符串拆分成单字、获取UTF-8字符串的字符个数的代码及原理
  3. PHP判断请求是否是ajax请求
  4. Etag缓存在PHP和NodeJS中的实现
  5. react实例之todo,做一个实时响应的列表操作
  6. Netbeans 配置英文和默认utf-8编码
  7. C# Attribute(中)——Attribute本质论
  8. for-in语句
  9. Scala很难!
  10. CentOS 7.2 部署Saltstack
  11. Html5移动端页面自适应百分比布局
  12. P1141 01迷宫
  13. SQL Server 数据库基于备份文件的【一键还原】
  14. azkaban的简单使用
  15. 第一章 Android系统的编译和移植实例
  16. P1382 楼房 set用法小结
  17. log4j UdpAppender
  18. 无框架JavaWeb简单增删改查,纯 jsp小练习
  19. Spring Boot 之 RESTfull API简单项目的快速搭建(一)
  20. Xcode 文档注释

热门文章

  1. unix basic command
  2. 关于android的UI更新机制与误区
  3. TeamWork-天气美食
  4. BZOJ 1668 馅饼里的财富
  5. RunLoop笔记
  6. 20145210 20145226 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验
  7. 最全的CSS浏览器兼容问题
  8. Python 基礎 - 列表的使用
  9. JS手札
  10. js +1的动画效果