12月10日任务

14.4 exportfs命令  (yum install -y nfs-utils同时安装)
常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录
以下操作在服务端上
vim /etc/exports //增加/tmp/ 192.168.133.0/24(rw,sync,no_root_squash)
exportfs -arv //不用重启nfs服务,配置文件就会生效
以下操作在客户端
mkdir /aminglinux
mount -t nfs -onolock 192.168.133.130:/tmp /aminglinux 
touch /aminglinux/test.txt 
 ls -l !$ 
 -oremount,nfsvers=3
 
假设配置了nfs共享目录,一段时间后需要更改或者增加某些机器或者增加共享目录,首先更改配置文件/etc/exports,更改后重启nfs服务,但是远程客户端正在使用nfs服务,正挂载着,如果要停止nfs服务,那远程的客户端会被挂起,客户端无法正常访问共享目录,此时如果客户端读写非常频繁,就会导致读写这个共享文件的进程(PHP、Nginx等)就会挂起。
ps aux显示进程中STAT列中进程状态D ,D表示此进程不能中断,此时NFS服务停止,状态就会变成D,客户端上的进程就不正常,并且无法杀死进程,重启也重启不了,服务就会异常,同时存在客户端服务器宕机状态。
NFS服务不可以随意重启,如果要重启先要把客户端们上挂载的目录卸载下来(但是这种方法只限制于挂载的服务器少)
 
卸载方法(只适合少量机器)
[root @test1 ~]# df -h
文件系统                        容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root              96G  3.3G   93G    4% /
devtmpfs                        1.9G     0  1.9G    0% /dev
tmpfs                           1.9G     0  1.9G    0% /dev/shm
tmpfs                           1.9G   25M  1.9G    2% /run
tmpfs                           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1                       197M  156M   42M   79% /boot
tmpfs                           380M     0  380M    0% /run/user/0
192.168.1.3:/home/nfstestdir   40G  4.2G   36G   11% /mnt
 
卸载命令
[root@txc209 ~]# umount /mnt/   如果报错,因为在挂载的目录中卸载,退出目录,卸载
[root@txc209 ~]# umount -l /mnt/  无需退出目录就可以卸载  (-l懒汉模式)
最后回到服务端重启NFS服务
 
 
多台机器(exportfs加载)
服务端
[root @localhost ~]# exportfs -arv  (执行命令后直接生效配置文件 etc/exports)
exporting 192.168.1.2:/home/nfstestdir
 
新增配置
[root @localhost ~]# vi /etc/exports
/home/nfstestdir 192.168.1.2(rw,sync,all_squash,anonuid=1000,anongid=1000)
/tmp 192.168.1.0/36(rw,sync,no_root_squash)
 
[root@localhost ~]# exportfs -arv
exporting 192.168.1.2:/home/nfstestdir
exporting 192.168.1.0/36:/tmp
 
客户端查看(无需重启NFS服务就生效)
[root@txc209 ~]#  showmount -e 192.168.1.3
Export list for 192.168.1.3:
/home/nfstestdir 192.168.1.2
 
14.5 NFS客户端问题(centos6遇到比较多)
NFS 4版本会有该问题 
客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody 
客户端挂载时加上 -o nfsvers=3 
客户端和服务端都需要 
vim /etc/idmapd.conf // 把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的 xxx.com,随意定义吧),然后再重启rpcidmapd服务
 
 
问题:客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody  (虽然在配置文件中 /etc/exports定义了no_root_squash但是问题依然存在)
 
解决问题方法
 
第一种方法
 
客户端挂载时加上 -o nfsvers=3  (指定nfs版本为3版本)
 
新挂载时:
 
[root@localhost ~]# mount -t nfs -o nfsvers=3 192.168.1.3:/tmp /mnt
 
已经挂载了,先卸载然后再挂载:
 
[root@localhost ~]# umount /mnt
 
[root@localhost ~]# mount -t nfs -o nfsvers=3 192.168.1.3:/tmp /mnt  (新挂载)
 
[root@localhost ~]# mount -t nfs -oremount,nfsvers=3 192.168.1.3:/tmp /mnt  (已经挂载并且不想卸载后挂载步骤)
 
 
第二种方法
 
客户端和服务端都需要
 
客户端
 
[root@localhost ~]# vim /etc/idmapd.conf
 
把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的 xxx.com,随意定义吧)
 
d399f8a35422aa90e318621ae1f0b6a2fdd.jpg
 
重启rpcbind服务和rpcidmapd服务
 
[root@localhost ~]# systemctl restart rpcbind
 
[root@localhost ~]# systemctl restart rpcidmapd
 
服务端
 
[root@localhost ~]# vim /etc/idmapd.conf
 
把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的 xxx.com,随意定义吧)
017880b75849a656beb2b131ae331cde228.jpg
 
重启rpcbind服务和rpcidmapd服务
 
[root@localhost ~]# systemctl restart rpcbind (centos7中只要重启rpcbind服务就可以)
 
[root@localhost ~]# systemctl restart rpcidmapd
 

15.1 FTP介绍  

FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。 

FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。 

小公司用的多,大企业不用FTP,因为不安全

大企业:自动化发布工具git(版本管理工具)(大企业会用git去管理网站程序的版本)

 

15.2/15.3 使用vsftpd搭建ftp

centos上默认自带vsftpd自带软件包
安装软件包
[root@localhost ~]# yum install -y vsftpd
(vsftpd软件包是可以使用系统级别的用户,比如创建普通用户a,并且设置密码,此时可以使用vsftpd启动服务,用a用户登录,只是登录的形式不是ssh,而是ftp,登录后是进入a用户家目录下,但是并不安全因为这个a用户还是可以登录操作系统,所以给这块设置一个虚拟用户,虚拟用户映射成操作系统中一个普通用户,也可以映射多个虚拟用户,但是这个虚拟用户是没有办法通过ssh登录操作系统)
创建普通用户,让虚拟用户映射,/sbin/nologin不能登录系统
[root@localhost ~]# useradd -s /sbin/nologin virftp
创建虚拟用户的密码文件 定义用户名密码  (奇数行为用户名 偶数行为密码)
[root@localhost ~]# vim /etc/vsftpd/vsftpd_login
user1(用户名)
test   (密码)
user2(用户名)
test1  (密码)
权限设置(不让所有用户可以读,保障安全)
[root@localhost ~]# chmod 600 /etc/vsftpd/vsftpd_login
把文本的密码文件转化为计算机识别的二进制文件
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[root@localhost ~]# ls -l /etc/vsftpd/
总用量 36
-rw------- 1 root root   125 10月 31 03:45 ftpusers
-rw------- 1 root root   361 10月 31 03:45 user_list
-rw------- 1 root root  5116 10月 31 03:45 vsftpd.conf
-rwxr--r-- 1 root root   338 10月 31 03:45 vsftpd_conf_migrate.sh
-rw------- 1 root root    23 1月   2 11:30 vsftpd_login
-rw-r--r-- 1 root root 12288 1月   2 11:33 vsftpd_login.db
创建虚拟用户配置文件所在目录
[root@localhost ~]#  mkdir /etc/vsftpd/vsftpd_user_conf
[root@localhost ~]# cd !$
cd /etc/vsftpd/vsftpd_user_conf
创建第一个虚拟用户的配置文件 (创建时要和虚拟用户的名称一致)
[root@localhost vsftpd_user_conf]# vim user1
local_root=/home/virftp/user1
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
 
创建第二个虚拟用户的配置文件
[root@localhost vsftpd_user_conf]# vim user2
local_root=/home/virftp/user2
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
 
创建虚拟用户的家目录
[root@localhost vsftpd_user_conf]# mkdir /home/virftp/user1
[root@localhost vsftpd_user_conf]# mkdir /home/virftp/user2
 
修改权限(因为最后还是要映射成普通用户virftp)
[root@localhost vsftpd_user_conf]# chown -R virftp:virftp /home/virftp
[root@localhost vsftpd_user_conf]# ls -l !$
ls -l /home/virftp
总用量 0
drwxr-xr-x 2 virftp virftp 6 1月   2 13:00 user1
drwxr-xr-x 2 virftp virftp 6 1月   2 13:00 user2
 
定义密码文件位置(自定义,/etc/pam.d/vsftpd告知系统密码文件在哪里,用来认证的文件,登陆ftp需要认证过程,告知通过什么形式去认证,认证时去哪里找密码库,用户密码做比对)
[root@localhost vsftpd_user_conf]# vim /etc/pam.d/vsftpd
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
47b7889df3f85ef35aa61f6fdc3102c4f61.jpg
 
[root@localhost vsftpd_user_conf]# ls /lib64/security/pam_userdb.so
/lib64/security/pam_userdb.so
注: Centos6时区分版本32位和64位 32位是/lib/  64位/lib64/
 

编辑vsftpd主配置文件

[root@localhost vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf

修改参数

不允许匿名用户

8281f380cc93120e2517bbdb7e77776a5ff.jpg

5aafe600fe7363408a00b928014346fd597.jpg

不允许创建目录

d8d16aedfb2d847dd4ea096606ca35ea8f0.jpg

 

增加参数

d5a93063cc43b2d1dfa07b939241a77bb64.jpg

启动服务

[root@localhost vsftpd_user_conf]# systemctl start vsftpd

00945144d8661e35c309faf3c8d4c35e3b2.jpg

7d32c2da7d64e13fa06c072628e8a83c424.jpg

 

测试:

Windows的话安装  filezilla client(搭建ftp服务)和filezilla客户端(ftp开源免费的可以搭建服务)

Linux的话安装客户端lftp

测试另外一台服务器

[root@localhost ~]# yum install -y lftp

[root@localhost ~]#lftp txc@183.131.3.206

5e80531c185065ecd081cd9abb56c2b69fd.jpg

d3762e6e6e2b6218e476bd9a564d22f289a.jpg

查看支持使用的命令

c392264ca26190595b2896e843bf420fdcd.jpg

 

常用命令put、get

lftp txc@183.131.3.206:/> get txc.txt (下载到当前目录下)

54ee65817e0319221e4bc6926683bbde071.jpg

lftp txc@183.131.3.206:~> put 1.txt (上传文件)

2d273d58689b9ef513e67aa03e1a972c871.jpg

转载于:https://my.oschina.net/u/3803396/blog/2995937

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值