14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp
2019独角兽企业重金招聘Python工程师标准>>>
14.4 exportfs命令
exportfs命令 和NFS一起安装的
例: 配置了一个共享目录,之后需要新增、更改、机器或者目录;首先需要更改配置,重启NFS服务,但是远程客户端正在使用NFS服务,重启服务端的NFS服务就会对远程的客户端有影响,比如,造成服务异常,进程异常,有很大可能导致系统坏掉
到了这种时候,只能去一台一台机器的卸除挂载点,然后才能去重启NFS服务,但,如果是1000台机器,你怎么一台一台机器的去卸载
想省略这种操作的办法就是使用exportfs命令
exportfs
-a 全部挂载或者全部卸载
-r 重新挂载
-u 卸载某一个目录
-v 显示共享目录
使配置文件重新生效
exportfs -arv
例:
客户端B机器
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 4.6G 14G 26% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.5M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 109M 88M 56% /boot
tmpfs 184M 0 184M 0% /run/user/0
192.168.133.131:/home/nfstestdir 18G 3.7G 15G 21% /mnt
更改配置以后,再来挂载新增的配置看看是否能挂载
showmount -e 192.168.133.131
Export list for 192.168.133.131:
/home/nfstestdir 192.168.133.0/24
/tmp 192.168.133.132
但是挂载却提示拒绝访问
[root@aminglinux-02 ~]# mount -t nfs 192.168.133.131:/tmp/ /mnt/
mount.nfs: access denied by server while mounting 192.168.133.131:/tmp/
拒绝访问,因为服务端export文件配置出错,因为配置为运行客户端IP访问,所有IP因为客户端IP
成功挂载,期间并没有重启过NFS服务
[root@localhost ~]# mount -t nfs 192.168.133.131:/tmp/ /mnt/
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 4.6G 14G 26% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.5M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 197M 109M 88M 56% /boot
tmpfs 184M 0 184M 0% /run/user/0
192.168.133.131:/tmp 18G 3.7G 15G 21% /mnt
[root@localhost ~]# ls /mnt/
1 pear systemd-private-d9b09a459c77414185b8904d468ad948-vmtoolsd.service-JG7cv3 test.com.log-20170816
111 percona-version-check test.com.log
aming.sock php-fcgi.sock test.com.log-20170814
mysql.sock rsync test.com.log-20170815
服务端A机器
/etc/exports 新增一条配置
/tmp/ 192.168.133.131(rw,sync,no_root_squash)
使用命令,让配置立即生效(目前B机器上是挂载着的)
exportfs -arv
[root@aminglinux-02 ~]# exportfs -avr
exporting 192.168.133.131:/tmp // 这个配置成服务端的IP,这样配置是错误的,必须配置成运行挂载的客户端IP才对
exporting 192.168.133.0/24:/home/nfstestdir
14.5 NFS客户端问题
centos 6 比较常见
NFS 4版本会有该问题
案例:
客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody
解决方法:
1、客户端挂载时加上 -o nfsvers=3
客户端和服务端都需要
2、 vim /etc/idmapd.conf
把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务
15.1 FTP介绍
FTP多用于Windows传文件到linux
rz sz在文件超过4G,就不能用了
FTP介绍
- FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
- FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
- 小公司用的多,大企业不用FTP(多用自动化发布工具),因为不安全
15.2/15.3 使用vsftpd搭建ftp
yum install -y vsftpd
创建用户
- 这个软件包,是可以使用系统级别的账户去登录。自然而然的,如果这个账户和密码给到用户手上,用户也可以通过这个账户和密码通过SSH登录到机器上的,所以这个方式登录ftp就不安全,最好不要使用
- 为了安全,给ftp创建虚拟用户,映射成一个系统用户,这个用户即使给了用户和密码你也是没有办法去通过ssh登录到服务器
创建普通用户
目的是为了让虚拟用户做一个映射的
useradd -s /sbin/nologin virftp
编辑虚拟用户的密码文件
定义用户名,密码
vim /etc/vsftpd/vsftpd_login
为了便于区分,显示了行号(:set nu)
1 testuser1 //奇数行,为用户
2 aminglinux //偶数行,为密码
3 user1 //奇数行,为用户
4 aaaaa1111 //偶数行,为密码
对虚拟用户的密码文件加权限
chmod 600 /etc/vsftpd/vsftpd_login
将虚拟用户的密码文件转换为计算机可以识别的文件
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
创建虚拟用户配置文件所在的目录
mkdir /etc/vsftpd/vsftpd_user_conf
创建第一个用户的配置文件
cd /etc/vsftpd/vsftpd_user_conf
vim testuser1
配置文件的名字,需和用户的名字保持一致
添加以下内容
local_root=/home/virftp/testuser1 //指定虚拟用户的家目录
anonymous_enable=NO //是否允许匿名用户
write_enable=YES //是否可写
local_umask=022 //创建新文件目录的默认权限
anon_upload_enable=NO //是否允许匿名用户上传
anon_mkdir_write_enable=NO //是否允许匿名用户创建和写
idle_session_timeout=600 //连接ftp超时时间(秒)
data_connection_timeout=120 //数据传输的超时时间(秒)
max_clients=10 //最多允许同时几个终端连接
创建虚拟用户的家目录
mkdir /home/virftp/testuser1
创建一个测试文件
touch /home/virftp/testuser1/aming.txt
修改虚拟用户目录的主和组
chown -R virftp:virftp /home/virftp
因为是映射到virftp这个用户,如果这个用户不能读写,将会影响后续操作
指定密码文件所在
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
- /etc/pam.d/vsftpd 这个是用于认证的一个文件,登录ftp需要一个认证的过程,例如,我通过什么形式去认证,认证的时候去哪里找密码库;输入用户密码的时候是否正确
- /lib64/security/pam_userdb.so,centos6区分32位和64位,一定要注意这个文件是存在的(lib64或lib32)
编辑vsftpd的配置文件
vim /etc/vsftpd/vsftpd.conf
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO //改为NO
#
# Uncomment this to allow local users to log in.
# When SELinux is enforcing check for SE bool ftp_home_dir
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
# When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access
anon_upload_enable=NO //打开注释,改为NO
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
anon_mkdir_write_enable=NO //打开注释,改为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
完成以上配置以后
启动服务
systemctl status vsftpd.service
[root@aminglinux-02 ~]# systemctl restart vsftpd.service
Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.
报错,因为配置是照文档复制粘贴的,一直想不到哪里出错;查了将近两小时发现就是更改vim /etc/vsftpd/vsftpd.conf某段配置的时候后面多出了1个空格,删除之后就正常了
检查服务是否开启
[root@aminglinux-02 ~]# ps -aux |grep vsftp
root 2523 0.0 0.0 52708 568 ? Ss 03:18 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root 2527 0.0 0.0 112664 976 pts/0 R+ 03:19 0:00 grep --color=auto vsftp
查看21端口是否在监听
[root@aminglinux-02 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:37872 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1244/nginx: master
tcp 0 0 0.0.0.0:42832 0.0.0.0:* LISTEN 1128/rpc.statd
tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 1225/rpc.mountd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1203/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2026/master
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1244/nginx: master
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp6 0 0 :::3306 :::* LISTEN 1835/mysqld
tcp6 0 0 :::60495 :::* LISTEN 1128/rpc.statd
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::20048 :::* LISTEN 1225/rpc.mountd
tcp6 0 0 :::38323 :::* LISTEN -
tcp6 0 0 :::21 :::* LISTEN 2523/vsftpd
tcp6 0 0 :::22 :::* LISTEN 1203/sshd
tcp6 0 0 ::1:25 :::* LISTEN 2026/master
tcp6 0 0 :::2049 :::* LISTEN -
测试 为了方便测试,安装一个linux上的客户端
yum install -y lftp
登录
lftp [用户]@[服务端IP]
lftp testuser1@127.0.0.1
口令:
lftp testuser1@127.0.0.1:~> ls
-rwxrwxrwx 1 1002 1002 0 Aug 24 17:53 aming.txt
通过命令ls 可以查看到之前创建的文件,可见,已经成功连接
常用命令
get aming.txt 会直接下载到当前目录
quit 退出ftp
转载于:https://my.oschina.net/nova12315/blog/1784804
14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp相关推荐
- 14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3
14.4 exportfs命令 由于配置了no_root_squash的权限所以有如下结果: 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp yum ...
- 55.exportfs命令 NFS客户端问题 FTP介绍与使用vsftpd搭建ftp
14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp 14.4 exportfs命令: exportfs命令是跟nfs-ut ...
- exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp
2019独角兽企业重金招聘Python工程师标准>>> 1. exportfs命令 一般情况下重启服务器上nfs服务时,需把客户端上的挂载先卸载掉,以免进程后面杀不掉.当客户端服务器 ...
- 14.4-14.5 NFS的exportfs命令,NFS客户端问题
14.4 exportfs命令 NFS服务不能随便停止,若要停止服务,首先要卸载客户端共享目录的挂载状态 #umount -l /mnt 如果共享的客户端有数百台,可以在服务端利用exportfs批量 ...
- exportfs命令和FTP服务
一.exportfs 命令 1.常用选项命令: -a :表示全部挂载或者卸载 -r:表示重新挂载 -u:表示卸载某一个目录 -v:表示显示共享目录 2.编辑/etc//exports:增加以下内容 / ...
- exportfs+NFS客户端问题
1exportfs命令 原理图: 假如要是A上面的NFS服务停掉了,但是B和C还在挂载着A分享的分区,就不可以正常工作了,由于B和C上面的进程是d(不可中断进程),一旦A停止了B和C一定会出问题,也不 ...
- 服务器所属文件变成nobody,NFS(expirtfs命令,NFS客户端创建新文件所属组和所属主都为nobody)(示例代码)...
一.exportfs命令 nfs进程不能随便从新启动,如果不得已要重启,必须把客户端的挂载目录卸载,然后在从新启动. 这时候就可以用exportfs命令 -a 全部挂载或者全部 ...
- Ubuntu 14.04使用命令行安装VirtualBox
Ubuntu 14.04使用命令行安装VirtualBox 基本安装命令: #sudo sh -c 'echo "deb http://download.virtualbox.org/vir ...
- MySQL笔记14:常用命令
mysql复习 一:复习前的准备 1:确认你已安装wamp 2:确认你已安装ecshop,并且ecshop的数据库名为shop 二 基础知识: 1.数据库的连接 mysql -u -p -h -u 用 ...
最新文章
- 查杀linux线程指令
- tomcat与iis公用80端口(已经发布.net项目现在开发Java项目时tomcat在eclipse中localhost:8080打不开问题)...
- 5G NR — 频率、频段、载波、载频、载波带宽
- git 配置组合指令_Git命令行基本操作
- MongoDB 进阶-关联查询
- Android 4.0新增Space及GridLayout初谈
- mysql 设置按天分表_MySQL 优化实战记录
- opencv轻松入门面向python下载_OpenCV轻松入门:面向Python
- 十五、详述 IntelliJ IDEA 插件的安装及使用方法
- 台式电脑键盘字母乱了_键盘侠的育儿经利用键盘引导学龄前儿童正确使用电脑、学习英文字母和拼音...
- jquery1.4 API 区别与更新中文版(beta)
- Several ports (8080, 8009) required by Tomcat v9.0 Server at localhost are already in use.解决方案
- android 图库分析,Android开发之ImageSwitcher相册功能实例分析
- 16进制颜色码转化rgba
- MATLAB 数学应用 微分方程 常微分方程 选择ODE求解器
- C#选择文件的对话框和选择文件夹的对话框
- Python实验报告一 python基础试题练习
- 编译安装zabbix时遇到configure: error: no acceptable C compiler found in $PATH 问题解决
- 四位行波进位加法器_加法器学习记录
- 六大设计模式原则-迪米特法则
热门文章
- RemObjects Data Abstract数据库软件的最佳框架
- Altera_MAX_Plus_II_v10.2破解软件下载安装
- 贪婪:人性可怕而难以自弃的劣根性
- ssh: Could not resolve hostname gitee.com: Name or service not knownfatal: Could not read from remo
- k8s kubernetes-dashboard 免密+客户端证书登录
- 弗洛伊德(Floyd)算法
- 关于数字电路与模拟电路隔离
- php soapclient 参数,序列化 – 序列化PHP SOAPClient对象
- Riber 的两项研究 MBE 订单
- 复合型人才八种能力_转型中的勘察设计企业如何提升总承包项目管理能力?