ubuntu 14.04搭建ftp服务器
在实验室搭建ftp服务器,以共享文件和代码。写下过程,以备以后排查问题。
环境
环境:ubuntu 14.04 LTS 
网络:校园网
安装vsftpd
如有必要,可以在安装之前先更新软件源sudo apt-get update
sudo apt-get install vsftpd
配置vsftpd
安装完成之后,会出现文件/etc/vsftpd.conf。关于vsftpd的配置就在该文件中完成。
以下阐述以下配置项的作用。
切换目录的权限控制
切换目录的权限控制主要由下面三个字段控制:
- chroot_local_user表示是否将所有用户限定在主目录,不允许上切目录。
- chroot_list_enable表示是否有例外的情况,如果有例外,则chroot_list_file列出例外的情况
- chroot_list_file填写例外的情况
总结如下图:
登录的权限控制
登陆的权限控制主要由下面几个字段控制
- userlist_enable表示是否启动list来控制用户登陆,如果为NO,表示不使用list进行登录的控制,所有用户均可以登录
- userlist_deny表示启动的list是白名单还是黑名单,如果是YES,则是黑名单,名单中的用户均无法登录;如果是NO,则是白名单,只有名单里的用户才可以登录。显然,只有当- userlist_enable为YES时,该项才生效
- userlist_file名单
- /etc/ftpusers是不受任何字段控制,其就是一个黑名单,用以禁止具有非常大的权限的用户的登录,以免造成对系统的入侵和破坏
其他配置项
- local_root表示本地用户登入,将被切换到定义的目录下,如果不设置,则分别为各用户的家目录
- allow_writeable_chroot表示是否允许登录用户对该目录有写权限。如果是NO,则表示登录用户对目录不能有写权限,如果有,那么登录时会报错- 500 OOPS: vsftpd: refusing to run with writable root inside chroot();如果
由于需要从一个终端复制文本到另一个终端,要用到系统剪贴板,找了些资料,mark一下 
转自https://github.com/ruanyf/articles/blob/master/dev/vim/operation.md
复制,粘贴,剪切
选择文本
- v+光标移动 (按字符选择)高亮选中所要的文本,然后进行各种操作(比如,d表示删除)。
- V (按行选择)
- v+选中的内容+c 更改选中的文字
复制:y(ank)
- y 用v命令选中文本后,用y进行复制
- yy 复制当前行,然后用p进行复制
- 5yy 复制从当前行开始的5行
- y_ 等同于yy
- Y 等同于yy
- yw 复制当前单词
- y$ 从当前位置复制到行尾
- y0 从当前位置复制到行首
- y^ 从当前位置复制到第一个非空白字符
- yG 从当前行复制到文件结束
- y20G 从当前行复制到第20行
- y?bar 复制至上一个出现bar的位置
粘贴
- p 在光标位置之后粘贴
- P 在光标位置之前粘贴
剪切
- v + 选中的内容 + d 剪切
剪贴板
(1) 简单复制和粘贴
vim提供12个剪贴板,它们的名字分别为vim有11个粘贴板,分别是0、1、2、...、9、a、“。如果开启了系统剪贴板,则会另外多出两个:+和*。使用:reg命令,可以查看各个粘贴板里的内容。
系统剪切板中的内容可在其他程序中使用。上面的复制指令都可以配合剪切板进行操作。
:reg
在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容。
(2)复制和粘贴到指定剪贴板
要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按"Ny完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按"ay就可以了。
要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按"Np,其中N为粘贴板号。比如,可以按"5p将5号粘贴板里的内容粘贴进来,也可以按"+p将系统全局粘贴板里的内容粘贴进来。
(3)系统剪贴板
Vim支持系统剪贴板,需要打开clipboard功能。使
大概俩年前在linux(redhat)开发过arm上的驱动,开发断断续续持续了一年的时间。从去年11月份之后就很少再接触linux上的东西了,最近准备系统看一下基础的一些东西(计划三天),然后开始学习安全方面的东西。方便忘记的时候查看。
- 用户组 和 用户权限关系 
 - 创建新用户 sudo adduser <username>
- 删除用户 sudo deluser <username>
- su -l <username>切换用户
- groups <username>查看用户属于哪个用户组
- 只有root和sudo组用户才能给其他非sudo用户添加到sudo组 
 - 比如 sudo usermod -G sudo <username>
 
- 比如 
 
- 创建新用户 
- 文件权限 
 - ls -a查看所有文件(包括隐藏文件)
- ls -l查看文件权限、大小、用户、用户组等信息
- drw-rwx-rwx,第一个位表示文件类型(file <filename>),剩下九位,分成三组,对应着用户、用户组、其他用户组的权限信息。
- chmod <三个数字>改变权限
- chmod <u><g><o> <-|+> <rwx>直接操作对应项
 
- 创建属于自己的命令 
 - 像系统命令那样使用,需要将命令所在的路径添加到当前shell进程的$PATH中去,echo PATH=$PATH:<directory of custom commands>,然后就可以任意目录下调用自定义命令
- 但是每次关闭启动shell之后,都需要进行这样的操作太麻烦,因此需要往/home/<username>/.zshrc中写入PATH的配置,如下echo "PATH=$PATH:<directory of custom commands> >> .zshrc,这样每次启动shell,都会执行.zshrc中的代码,也就执行了$PATH中写入命令行所在目录的操作。不同的shell的配置文件不一样
- 修改完.zshrc这样的配置,可以source .zshrc来让其立即生效,source的别名时.,因此也可以写成. ./.zshrc,注意区分
 
- 像系统命令那样使用,需要将命令所在的路径添加到当前shell进程的$PATH中去,
- 查找文件 
 - 主要是find命令,可以使用find -name
- find还有其他比较强大的模式,用到的时候在看看
 
- 主要是
