作用: 文件的上传和下载;
安装:sudo apt-get install vsftpd
【客户端服务器都会被安装,服务安装完毕之后,ftp服务会随开机自动启动】;
修改配置文件: 服务器进行配置,配置给客户端使用:
# 打开配置文件
$ sudo vi /etc/vsftpd.conf
# 修改内容后保存退出
anonymous_enable=YES # 是否允许使用匿名用户
write_enable=YES # 是否拥有写权限
local_umask=022 # 设置本地掩码为022
anon_upload_enable=YES # 是否允许匿名用户上传权限
anon_mkdir_write_enable=YES # 是否允许匿名用户创建目录
anon_root=自定义的ftp共享目录的绝对路径 # 匿名用户ftp根目录
重启tftp: sudo service vsftpd restart
客户端发起链接(一般使用匿名用户登录ftp服务器):
①、实名用户登录:
- 连接:ftp + 服务器Ip【Name: 服务器用户名,Password:服务器登录密码】;
- 权限:用户可以访问服务器的任意目录;
- 问题:
- 需要将登陆密码告诉登陆用户;
- 登陆进来的用户可以访问ftp服务器的任意目录;
②、匿名用户登录:
- 连接:ftp + 服务器Ip【Name:
anonymous
匿名用户,Password: 不填,直接回车】; - 权限:可以限制用户登录上来的位置,用户只能在限制的范围进行操作
- 配置文件中添加:
anon_root=自定义的ftp共享目录的绝对路径
; - 使用默认位置:可搜索
/etc/passwd
文件中的ftp,里边给出了默认路径/srv/ftp
;
- 配置文件中添加:
数据传递(上传、下载):
①、不能上传下载目录,如有需求需要打包;
②、上传:put xxx
【可以改变上传的文件的目录位置,查看当前上传位置: pwd
】;
③、下载:get xxx
【在哪个目录下登录ftp服务器,文件就下载到哪个位置】;
④、退出登录:quit
、exit
、bye
;
2 lftp(ftp客户端工具)
软件安装: sudo apt-get install lftp
实名用户登录: lftp 服务器IP
login
匿名用户登录: lftp 服务器用户名@服务器Ip
输入服务器密码
操作: put 上传文件 mput 上传多个文件 get 下载文件 mget 下载多个文件
mirror 下载整个目录及其子目录 mirror –R 上传整个目录及其子目录
3 tftp服务器(Trivial File Transfer Protocol )
作用: 文本传输;
检测是否安装tftp服务: dpkg -s tftpd-hpa
安装tftp: sudo apt-get install tftpd-hpa tftp-hpa
配置环境变量: 自建tftp目录(注意权限):
# 打开配置文件
$ sudo vi /etc/default/tftpd-hpa
# 修改内容后保存退出
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="tftp目录的绝对路径" # 自己创建的tftp路径,如 /linux/ubuntu/tftpdir
TFTP_ADDRESS="0.0.0.0:69" # 端口号:,默认为69
TFTP_OPTIONS="-c -s -l" # 权限相关参数
重启tftp: sudo service tftpd-hpa restar
验证tftp:
$ touch test.txt # 在tftp的目录下新建一个文件
$ cd ~/ # 切换到其他任意目录
$ tftp 127.0.0.1 # 打开回环测试
tftp > get test.txt # 从tftp的目录下的test.txt下载到当前目录中
# 其他指令:
put 文件名 # 将当前目录下的某文件上传到 tftp目录
get 文件名 # 从tftp的目录下的某文件下载到当前目录中
q # 退出tftp服务
4 nfs网络共享服务器(net file system)
作用: 网络文件系统,允许网络中的计算机之间通过TCP/IP网络共享资源;
检测是否安装nfs服务 : dpkg -s nfs-kernel-server
安装nfs: sudo apt-get install nfs-kernel-server
配置环境变量: 自建nfs目录(注意权限):
# 打开该配置文件
$ sudo vi /etc/exports
# 文件末尾添加以下内容后保存退出
nfs目录的绝对路径 *(rw,sync,no_subtree_check,no_root_squash) # *:所有用户
# 常用参数:ro -> 只读权限
# rw -> 读写权限
# sync -> 资料同步写入到内存与硬盘当中
# async -> 资料会先暂存于内存当中,而非直接写入硬盘
# no_subtree_check -> 不检查子目录的权限
# no_root_squash -> 登入NFS主机,使用该共享目录时相当于该目录的拥有者,若是root用户则这个共享的目录具有root的权限
# root_squash -> 登入NFS主机,使用该共享目录时相当于该目录的拥有者。若是root用户则这个共享的目录的权限将被压缩成为匿名使用者
# all_squash -> 不论登入NFS的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是nobody
重启tftp: sudo service tftpd-hpa restar
sudo /etc/init.d/nfs-kernel-server restart
客户端访问共享目录: mount + IP:共享目录名 挂载目录
【sudo mount 192.168.32.75:/home/itcast/itcast/ /mnt
】
检测nfs:
# 将nfs目录下的根文件系统挂载到ubuntu的 /mnt 目录下
$ sudo mount -t nfs ubuntu自己的IP地址:根文件系统的绝对路径 /mnt
# 进入 /mnt目录查看根文件系统
# 退出 /mnt 目录后,卸载
$ sudo umount /mnt
5 ssh服务器(Secure Shell)
软件安装: sudo atp-get install openssh-server
检测是否安装SSH : sudo aptitude show openssh-server
远程登录: ssh 用户名@IP
退出登录: logout