Linux使用ftp传输10g的文件,Ubuntu 16.04 安装ftp服务器传输文件

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

(一)创建用户

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

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

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

1.建立一个新目录作为家目录

2.建立同名新组

3.把用户的主要组设为该组(除非命令选项覆盖以上默认动作,比如–disall-homdirecry之类)

4.从/etc/SKEL目录下拷贝文件到家目录,完成初始化

5.建立新用户的密码

6.如果其存在的话,还会执行一个脚本。

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

116462186_1_20171117084241534.png

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

116462186_2_20171117084242128.png

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

116462186_3_20171117084242409.png

使文件中的"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)浏览器

116462186_4_20171117084242612.png

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

116462186_5_20171117084242784.png

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

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

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

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

116462186_6_2017111708424334.png

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

116462186_7_20171117084243378.png

116462186_8_20171117084243737.png

116462186_9_20171117084244159.png

现在是不是进来了呢?这个其实就对应Linux下xuanxufeng这个用户的主目录了!剩下的文件上传和下载就和Windows下文件操作一样了,是不是很方便!

---------------------------------我是分割线---------------------------------

好了,服务器搭建基本完成,以后服务器每多一个用户,就创建一个用户,然后在/etc/allowed_users中把这个用户添加进来就OK啦!

116462186_10_20171117084244550.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux ks脚本,kickstar-KS文件和语法解析

# KS文件和语法解析[TOC]## 1ks说明### 1.1ks文件说明使用kickstart,只需事先定义好一个Kickstart自动应答配置文件ks.cfg(通常存放在安装服务器上),并让安装程序知道该配置文件的位置,在安装过程中安装程序就可以自己从该文件中读取安装配置…

linux打印服务叹号,linux中如何通过echo输出!(叹号)? -bash: !: event not found

需求描述:今天在做通过echo结合passwd给用户改密码的过程中,出现无法修改的错误.错误如下:[roottestvm ~]# useradd mytest[roottestvm ~]# echo "mytest!" | passwd --stdin mytest-bash: !": event not found错误分析:经过查找该命令发现叹号!在linux中有特殊…

linux磁盘资源,liunxCPU和内存,磁盘等资源,

liunxCPU和内存,磁盘等资源,1.Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多…

linux降低线程优先级,Linux线程优先级,行为不正常

在下面的代码片段中,我创建了6个线程。各有不同的优先级。全局优先级数组中提到了优先级。我正在根据线索索引在每个线程内连续增加全局变量。如果线程优先级更高,我期待计数更高。但我的输出不遵循优先概念pl。请参阅下面显示的输出顺序。我在Ubuntu 16…

linux非阻塞等待线程,linux – 即使异步I / O操作挂起,只有线程处理io_service正在等待...

这是一个错误.我已经能够通过在task_io_service :: do_poll_one的非关键部分添加延迟来复制它.以下是booost/asio/detail/impl/task_io_service.ipp中修改后的task_io_service :: do_poll_one()的片段.添加的唯一行是sleep.std::size_t task_io_service::do_poll_one(mutex::sc…

linux创建文件内容三行,shell之创建文件及内容的方法示例

shell之创建文件夹:[rootvbox-nginx shell_command]# vi ./mkdir.sh#!/bin/shparentDir"/media/sf_Project/self/smarty-frame/application/$1"fileName$2dirAndName$parentDir/$fileNameif [ ! -d "$dirAndName" ];thenmkdir $dirAndNameecho …

linux设备模型的主要功能,Linux设备模型(3)

Linux设备模型(3)_Uevent作者:蜗蜗 发布于:2014-3-10 20:39分类:统一设备模型1. Uevent的功能Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到…

lua_path环境变量设置linux,ubuntu16.04安装lua环境

1.官网下载源码 https://www.lua.org/download.htmlcurl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gztar zxf lua-5.3.5.tar.gzcd lua-5.3.5make linux test2.安装中报错lua.c:82:31: fatal error: readline/readline.h: 没有那个文件或目录compilation terminated.: recip…

动态度量 linux,动态可信度量.ppt

动态可信度量提纲 静态可信度量根 动态可信度量根 Flicker: Minimal TCB Code Execution 静态可信度量的问题 2006年,德国Dresden大学的研究者发现现有的静态可信度量根存在着如下缺陷: 引导装载程序(Bootloader)中存在bug Dartmouth的Bear project的可信…

linux svn 面板,Linux下SVN服务器搭建(CentOS+Subversion)

安装(centos下yum即可方便的完成安装)# yum install subversion测试安装是否成功:# svnserve --version 回车显示版本说明安装成功建立版本库# mkdir /svndata 创建svn数据目录(目录可自行制定)# svnadmin create /svndata/kumingkuming就是版本库的名字&#xff0c…

华为手机怎么下载linux命令,在linux命令

REMOTE_DIR为将根证书上传到弹性云服务器的文件目录。 Windows操作系统下,请使用远程连接工具上传根证书。 连接数据库实例。 方式一:通过Linux命令连接实例 ./mongo --host--port-u-p--authentic目录。 Windows操作系统下,请使用远程连接工具…

edHat linux光盘引导,[原]个性化Linux发行版光盘之补充——XZ(LZMA算法)

红帽(Red Hat)从Enterprise Server 6.2 开始,启动镜像文件initrd.img 开始改用xz 工具进行压缩,这与以往版本是有区别的。一、启动镜像initrd.img 文件类RedHat 系统从vmlinuz 核心引导后,会读取initrd.img 启动镜像。该文件中包含驱动模块等…

c语言用指针变量输入数组的长度,C语言之数组的基础练习题(指针变量做函数参数)...

1、交换两个变量的值:#include void swap(int *a,int *b){int tmp;tmp*a;*a*b;*btmp;}void main(){int x,y;int *p_x,*p_y;printf("请输入两个数:\n");scanf("%d",&x);scanf("%d",&y);p_x&x;p_y&y;swap(p…

c语言 p *p,C语言之指针*p++和*(p++)区别

在C语言的指针运算中,经常会碰到以下用法:*p、*p、(*p)、*(p),在解决问题前,先了解一下基础:1、 * 号和 符号属于同级运算,且优先运算顺序是从右到左。2、a 表示:在当前一整句代码中&#xff0…

皮尔洛和c罗讲什么语言,皮尔洛:如果我跟C罗是队友 我可能能成历史助攻王

皮尔洛:欧冠夺冠热门不包含皇马腾讯体育11月2日讯 近日皮尔洛在接受媒体采访时表示,本赛季欧冠的争夺将会十分激烈,除了尤文外,有四支球队也是欧冠桂冠有利的争夺者,但并不包括卫冕冠军皇马。另外皮尔洛还表示&#xf…

两条直线求交点c语言,C§ 3.3.1两条直线的交点坐标(5页)-原创力文档

3.1两条直线的交点坐标学习目标1.掌握判断两直线相交的方法;会求两直线交点坐标;2.体会判断两直线相交中的数形结合思想.学习过程一、课前准备:(预习教材P112~ P114,找出疑惑之处)1.经过点,且…

C语言一维数组实现杨辉三角,一维数组实现杨辉三角

杨辉三角Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 43411 Accepted Submission(s): 18254Problem Description还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以…

c语言读取nc文件格式,nc文件资料地读取与处理.doc

标准文案.nc?文件的查看和处理2013-08-04 12:45阅读:2,168最近在学习冰后回弹模型( http://www.atmosp.physics.utoronto.ca/~peltier/data.php),里面给出的数据为nc(netcdf)格式的,读取是个问题,在言深深的帮助下,成…

android 界面跳转封装,【Android】Fragment跳转系列

一、同一个Activity下Fragment之间相互跳转(含带参数)Fragment1跳转到Fragment2中1.封装一个方法这样封装是方便一个Activity下有多个Fragment来回跳转public interface RegisterTrigger {void triggerView(Fragment fragment);}2.当前Activity继承RegisterTriggerpublic class…

android 调用系统短信接口开发,聚合数据Android SDK 短信api接口验证演示示例

1.到libs聚合SDK是聚合数据平台,为移动开发者提供的免费数据接口.使用前请先到聚合平台(http://www.juhe.cn/)注册,申请相关数据.2.下载聚合数据SDK,将开发包里的smscaptcha_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libs\armeabi目录下,如图:3…