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还有其他比较强大的模式,用到的时候在看看
- 主要是