2018-10-09

Posted 2kp2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-10-09相关的知识,希望对你有一定的参考价值。

14.1 NFS介绍
  • NFS是Network File System的缩写
  • NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本
  • NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。
  • NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致
  • NFS原理图
    技术分享图片
14.3 NFS服务端安装配置

安装NFS

[[email protected] ~]# yum install -y nfs-utils rpcbind

编辑NFS配置文件

[[email protected] ~]# vim /etc/exports
/home/nfstestdir 192.168.248.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

保存配置文件后,执行如下准备操作

[[email protected] ~]# mkdir /home/nfstestdir
[[email protected] ~]# chmod 777 /home/nfstestdir
[[email protected] ~]# systemctl start nfs
[[email protected] ~]# systemctl enable nfs
[[email protected] ~]# setenforce 0
[[email protected] ~]# firewall-cmd --add-service=nfs

客户端
查看服务器共享的文件

[[email protected] ~]# yum install -y nfs-utils
[[email protected] ~]# showmount -e 192.168.248.10 //该ip为NFS服务端ip
[[email protected] ~]# mount -t nfs 192.168.248.10:/home/nfstestdir /mnt
14.3 NFS配置选项
  • rw 读写
  • ro 只读
  • sync 同步模式,内存数据实时写入磁盘
  • async 非同步模式
  • no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大
  • root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户
  • all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户
  • anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid
14.4 exportfs命令
  • -a 全部挂载或者全部卸载
  • -r 重新挂载
  • -u 卸载某一个目录
  • -v 显示共享目录

服务端修改配置

[[email protected] ~]# vim /etc/exports
...
/tmp/ 192.168.248.0/24(rw,sync,no_root_squash)
[[email protected] ~]# exportfs -arv //不用重启nfs服务,配置文件就会生效
14.5 NFS客户端问题
  • centos 6 与 NFS 4版本会有该问题
  • 客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody

方法一:

客户端挂载时加上 -o nfsvers=3

方法二

客户端和服务端都需要

vim /etc/idmapd.conf //
把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务
15.1 FTP介绍
  • FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
  • FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
  • 小公司用的多,大企业不用FTP,因为不安全
15.2/15.3 使用vsftpd搭建ftp

安装ftp

[[email protected] ~]# yum install -y vsftpd

虚拟用户模式
创建用于进行FTP认证的用户数据库文件,其中奇数行为账户名,偶数行为密码

[[email protected] ~]# cd /etc/vsftpd/
[[email protected] vsftpd]# vim vuser.list
zhangsan
aaa
lisi
bbb

需要使用db_load命令用哈希(hash)算法将原始的明文信息文件转换成数据库文件,并且降低数据库文件的权限

[[email protected] vsftpd]# db_load -T -t hash -f vuser.list vuser.db
[[email protected] vsftpd]# file vuser.db
vuser.db: Berkeley DB (Hash, version 9, native byte-order)
[[email protected] vsftpd]# chmod 600 vuser.db
[[email protected] vsftpd]# rm -f vuser.list

修改ftp配置文件

[[email protected] ~]# useradd -s /sbin/nologin ftp
[[email protected] ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[[email protected] ~]# cd /etc/vsftpd/vsftpd_user_conf
[[email protected] ~]# vim testuser1
local_root=/home/ftp/testuser1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
[[email protected] ~]# mkdir /home/ftp/testuser1

修改pam配置文件

[[email protected] ~]# vim /etc/pam.d/vsftpd //在最前面加上
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf
将anonymous_enable=YES 改为 anonymous_enable=NO
将#anon_upload_enable=YES 改为 anon_upload_enable=NO 
将#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
再增加如下内容
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES

windows 可以使用filezilla client
linux 可以使用lftp

[[email protected] ~]# yum install -y lftp
[[email protected] ~]# lftp [email protected]  //然后输入密码即可,?可以查询可用命令
15.4 xshell使用xftp传输文件

下载xftp,安装
使用xshell登录服务器,按下Ctrl+alt+F即可使用

15.5 使用pure-ftpd搭建ftp服务
[[email protected] ~]# yum install -y epel-release
[[email protected] ~]# yum install -y pure-ftpd
[[email protected] ~]# vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb这行,把行首的#删除
PureDB                        /etc/pure-ftpd/pureftpd.pdb
[[email protected] ~]# systemctl start pure-ftpd
[[email protected] ~]# mkdir /data/ftp
[[email protected] ~]# useradd -u 1010 pure-ftp
[[email protected] ~]# chown -R pure-ftp:pure-ftp /data/ftp
[[email protected] ~]# pure-pw useradd ftp1 -u pure-ftp  -d /data/ftp
[[email protected] ~]# pure-pw mkdb 生成用户数据库
[[email protected] ~]# pure-pw list /userdel/usermod/passwd 查看用户

扩展
vsftp使用mysql存放虚拟用户并验证 http://www.aminglinux.com/bbs/thread-342-1-1.html
ftp的主动和被动模式 http://www.aminglinux.com/bbs/thread-961-1-1.html








以上是关于2018-10-09的主要内容,如果未能解决你的问题,请参考以下文章

2018-10-09 pywifi模块

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板