-14.4exportfs命令-14.5NFS客户端问题-15.1FTP介绍-15.2/15.3使用vsftpd搭建ftp#14.4exportfs命令-exportfs命令和NFS一起安装的例:-配置了一个共享目录,之后需要新增、更改、机器或者目录;首先需要更改配置,重启NFS服务,但是远程客户端正在使用NFS服务,重启服务端的NFS服务就会对远程的客户端有影响,比如,造成服务异常,进程异常,有很大可能导致系统坏掉-到了这种时候,只能去一台一台机器的卸除挂载点,然后才能去重启NFS服务,但,如果是1000台机器,你怎么一台一台机器的去卸载-想省略这种操作的办法就是使用exportfs命令-常用选项--a全部挂载或者全部卸载--r重新挂载--u卸载某一个目录--v显示共享目录-以下操作在服务端上-vim/etc/exports//增加-/tmp/192.168.133.0/24(rw,sync,no_root_squash)-exportfs-arv//不用重启nfs服务,配置文件就会生效-去客户端,先关闭selinux和防火墙,服务端也是```[root@aming-02~]#getenforceEnforcing[root@aming-02~]#setenforce0[root@aming-02~]#getenforcePermissive[root@aming-02~]#systemctlstopfirewalld[root@aming-02~]#mount-tnfs192.168.202.131:/home/nfstestdir/mnt/[root@aming-02~]#df-h文件系统容量已用可用已用%挂载点/dev/sda328G4.2G24G15%/devtmpfs479M0479M0%/devtmpfs489M0489M0%/dev/shmtmpfs489M6.7M482M2%/runtmpfs489M0489M0%/sys/fs/cgroup/dev/sda1197M109M88M56%/boottmpfs98M098M0%/run/user/0192.168.202.131:/home/nfstestdir28G4.4G24G16%/mnt[root@aming-02~]#```-先把挂载的卸载掉```[root@aming-02~]#umount/mnt[root@aming-02~]#cd[root@aming-02~]#umount/mntumount:/mnt:未挂载[root@aming-02~]#df-h文件系统容量已用可用已用%挂载点/dev/sda328G4.2G24G15%/devtmpfs479M0479M0%/devtmpfs489M0489M0%/dev/shmtmpfs489M6.7M482M2%/runtmpfs489M0489M0%/sys/fs/cgroup/dev/sda1197M109M88M56%/boottmpfs98M098M0%/run/user/0```-每台机器都需要去卸载,太麻烦了,有没有一种好的方法呢-可使用exportfs-先查看下服务端-执行下exportfs-arv一旦执行它就可以让你的配置文件重新生效```[root@aming-01~]#df-h文件系统容量已用可用已用%挂载点/dev/sda328G4.4G24G16%/devtmpfs479M0479M0%/devtmpfs489M0489M0%/dev/shmtmpfs489M6.7M482M2%/runtmpfs489M0489M0%/sys/fs/cgroup/dev/sda1197M109M88M56%/boottmpfs98M098M0%/run/user/0[root@aming-01~]#exportfs-arvexporting192.168.202.0/24:/home/nfstestdir[root@aming-01~]#```-可以验证下,先编辑文件/etc/exports,```[root@aming-01~]#vim/etc/exports/home/nfstestdir192.168.202.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)/tmp192.168.202.132(rw,sync,no_root_squash)~~~:wq```-执行exportfs-arv```[root@aming-01~]#exportfs-arvexporting192.168.202.132:/tmpexporting192.168.202.0/24:/home/nfstestdir[root@aming-01~]#```-再去客户端showmount也生效了,并没有重启nfs服务,```[root@aming-02~]#showmount-e192.168.202.131Exportlistfor192.168.202.131:/home/nfstestdir192.168.202.0/24/tmp192.168.202.132```-挂载后,现在这台aing-02机器的mnt目录下就是aming-01下的/tmp/目录```[root@aming-02~]#clear[root@aming-02~]#mount-tnfs192.168.202.131:/tmp//mnt/[root@aming-02~]#df-h文件系统容量已用可用已用%挂载点/dev/sda328G4.2G24G15%/devtmpfs479M0479M0%/devtmpfs489M0489M0%/dev/shmtmpfs489M6.7M482M2%/runtmpfs489M0489M0%/sys/fs/cgroup/dev/sda1197M109M88M56%/boottmpfs98M098M0%/run/user/0192.168.202.131:/tmp28G4.4G24G16%/mnt[root@aming-02~]#ls/mntaming.sockphp-fcgi.sockmysql2.sqlsystemd-private-f11720e7e2c142a6b2013e112e133993-vmtoolsd.service-hYcsfRmysql_all.sqltest.com.logmysqlbak.sqluser.sqlmysql.sock[root@aming-02~]#[root@aming-01~]#ls/tmp/aming.sockphp-fcgi.sockmysql2.sqlsystemd-private-f11720e7e2c142a6b2013e112e133993-vmtoolsd.service-hYcsfRmysql_all.sqltest.com.logmysqlbak.sqluser.sqlmysql.sock[root@aming-01~]#```-下面我们再来创建一个新的文件```[root@aming-02~]#vim/tmp/1212.txtdlddldlddldldlslsfladkjfldkldkfjldkjdfsf~~~:wq[root@aming-02~]#vim/mnt/1212.txtldlkaljdlajfldjafldjsaflldjadkfjldjf~~~:wq```-看下客户端```[root@aming-02~]#vim/mnt/1212.txt[root@aming-02~]#ls-l/mnt/总用量1976-rw-r--r--.1rootroot3911月122:091212.txtsrw-rw-rw-.1rootroot011月121:16aming.sock-rw-r--r--.1rootroot3084810月3023:20mysql2.sql-rw-r--r--.1rootroot131342710月3023:16mysql_all.sql-rw-r--r--.1rootroot65691710月3023:02mysqlbak.sqlsrwxrwxrwx.1mysqlmysql011月121:16mysql.socksrw-rw-rw-.1rootroot011月121:16php-fcgi.sockdrwx------.3rootroot1711月121:16systemd-private-f11720e7e2c142a6b2013e112e133993-vmtoolsd.service-hYcsfR-rw-r--r--.1rootroot309710月2401:48test.com.log-rw-r--r--.1rootroot702810月3023:10user.sql[root@aming-02~]#```-再去服务端```[root@aming-01~]#ls-l/tmp/总用量1976-rw-r--r--.1rootroot3911月122:091212.txtsrw-rw-rw-.1rootroot011月121:16aming.sock-rw-r--r--.1rootroot3084810月3023:20mysql2.sql-rw-r--r--.1rootroot131342710月3023:16mysql_all.sql-rw-r--r--.1rootroot65691710月3023:02mysqlbak.sqlsrwxrwxrwx.1mysqlmysql011月121:16mysql.socksrw-rw-rw-.1rootroot011月121:16php-fcgi.sockdrwx------.3rootroot1711月121:16systemd-private-f11720e7e2c142a6b2013e112e133993-vmtoolsd.service-hYcsfR-rw-r--r--.1rootroot309710月2401:48test.com.log-rw-r--r--.1rootroot702810月3023:10user.sql[root@aming-01~]#```-no_root_squash不限制root所以,当我们到了挂载点下,到了这个共享目录下的时候,你就可以像在你本地磁盘使用root用户一样,你是不受限制,通常情况下不限制root的时候多#14.5NFS客户端问题-NFS4版本会有该问题,尤其是在centos6上会有这个问题-客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody-解决方案1.客户端挂载时加上-onfsvers=3也就是说指定nfs的版本为3版本,不再用4了,具体操作如下2.如果不想卸载可以使用remount```[root@aming-02~]#umount/mnt/[root@aming-02~]#mount-tnfs-onfsvers=3192.168.202.131:/tmp//mnt/[root@aming-02~]#[root@aming-02~]#mount-tnfs-oremount,nfsvers=3192.168.202.131:/tmp//mnt/[root@aming-02~]#[root@aming-02~]#df-h文件系统容量已用可用已用%挂载点/dev/sda328G4.2G24G15%/devtmpfs479M0479M0%/devtmpfs489M0489M0%/dev/shmtmpfs489M6.7M482M2%/runtmpfs489M0489M0%/sys/fs/cgroup/dev/sda1197M109M88M56%/boottmpfs98M098M0%/run/user/0192.168.202.131:/tmp/28G4.4G24G16%/mnt[root@aming-02~]#```2.第二种办法,客户端和服务端都需要vim/etc/idmapd.conf//把“#Domain=local.domain.edu”改为“Domain=xxx.com”(这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务,实际上centos7里面没有这个rpcidmapd服务,重启rpcbind就可以#15.1FTP介绍-FTP多用于Windows传文件到linux-传输文件工具rz、sz在文件超过4G,就不能用了-[]FTP介绍-FTP是FileTransferProtocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。-FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。-小公司用的多,大企业不用FTP(多用自动化发布工具),因为不安全#15.2使用vsftpd搭建ftp服务(上)-先按照vsftpd```[root@aming-01~]#yuminstall-yvsftpd已安装:vsftpd.x86_640:3.0.2-22.el7完毕![root@aming-01~]#```-创建用户这个软件包,是可以使用系统级别的账户去登录。自然而然的,如果这个账户和密码给到用户手上,用户也可以通过这个账户和密码通过SSH登录到机器上的,所以这个方式登录ftp就不安全,最好不要使用为了安全,给ftp创建虚拟用户,映射成一个系统用户,这个用户即使给了用户和密码你也是没有办法去通过ssh登录到服务器-创建普通用户,创建普通用户的目的是为了让虚拟用户做一个映射的,因为毕竟登录这台机器,需要传输数据,必须要有一个用户```[root@aming-01~]#useradd-s/sbin/nologinvirftp[root@aming-01~]#```--s定义shellsbin/nologin表示这个用户不能登录系统,这样做的目的是为了安全-下面编辑下虚拟用户的密码文件vim/etc/vsftpd/vsftpd_login,在这个文件里,我们需要给它定义用户名密码,它的格式内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行```[root@aming-01~]#vim/etc/vsftpd/vsftpd_logintestuser1aminglinuxuser1aaaa1111~~~~:wq[root@aming-01~]#vim/etc/vsftpd/vsftpd_login```-保存完之后还需要给它做一个权限的设置,因为这个密码文件肯定要很安全,不能让所有的用户都可以读,所以设置为600```[root@aming-01~]#chmod600/etc/vsftpd/vsftpd_login[root@aming-01~]#```-最后还需要把文本文件转化为计算机能识别的二进制文件,将虚拟用户的密码文件转换为计算机可以识别的文件-使用这个命令db_load-T-thash-f/etc/vsftpd/vsftpd_login/etc/vsftpd/vsftpd_login.db```[root@aming-01~]#db_load-T-thash-f/etc/vsftpd/vsftpd_login/etc/vsftpd/vsftpd_login.db[root@aming-01~]#ls-l/etc/vsftpd/总用量36-rw-------.1rootroot1258月314:10ftpusers-rw-------.1rootroot3618月314:10user_list-rw-------.1rootroot50308月314:10vsftpd.conf-rwxr--r--.1rootroot3388月314:10vsftpd_conf_migrate.sh-rw-------.1rootroot3611月221:04vsftpd_login-rw-r--r--.1rootroot1228811月221:07vsftpd_login.db[root@aming-01~]#```-下面来创建虚拟用户配置文件所在的目录,这个目录也是自定义的,也需要在配置文件中给它定义```[root@aming-01~]#mkdir/etc/vsftpd/vsftpd_user_conf[root@aming-01~]#[root@aming-01~]#cd!$cd/etc/vsftpd/vsftpd_user_conf[root@aming-01vsftpd_user_conf]#```-创建第一个用户的配置文件cd/etc/vsftpd/vsftpd_user_confvimtestuser1配置文件的名字,需和用户的名字保持一致添加以下内容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//最多允许同时几个终端连接```[root@aming-01vsftpd_user_conf]#vimtestuser1local_root=/home/virftp/testuser1anonymous_enable=NOwrite_enable=YESlocal_umask=022anon_upload_enable=NOanon_mkdir_write_enable=NOidle_session_timeout=600data_connection_timeout=120max_clients=10~~~:wq```-定义完了虚拟用户的配置文件之后,再来创建虚拟用户的家目录```[root@aming-01vsftpd_user_conf]#mkdir/home/virftp/testuser1[root@aming-01vsftpd_user_conf]#```-然后我们在touch一个文件```[root@aming-01vsftpd_user_conf]#touch/home/virftp/testuser1/aming.txt[root@aming-01vsftpd_user_conf]#```-还需要把权限做一个修改,因为你最终要映射成virftp用户,如果这个用户没有读的权限,没有办法上床下载```[root@aming-01vsftpd_user_conf]#chown-Rvirftp:virftp/home/virftp[root@aming-01vsftpd_user_conf]#```-下面这一行很重要,用来定义咱们的密码文件在哪里vim/etc/pam.d/vsftpd```[root@aming-01vsftpd_user_conf]#vim/etc/pam.d/vsftpd#%PAM-1.0sessionoptionalpam_keyinit.soforcerevokeauthrequiredpam_listfile.soitem=usersense=denyfile=/etc/vsftpd/ftpusersonerr=succeedauthrequiredpam_shells.soauthincludepassword-authaccountincludepassword-authsessionrequiredpam_loginuid.sosessionincludepassword-auth~~&n
14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp
发布时间:2023-09-06 01:22责任编辑:顾先生关键词:暂无标签
知识推荐
- Web前端课程检测
- bugku web wp(一)
- 八幅漫画理解使用JSON Web Token设计单点登录系统
- 如何对json数据格式化?
- 通过http.client解析url返回的数据时为什么中文变成了unicode码
- Lucene全文检索引擎
- 纯js自定义横向滚动条-补充说明
- thinkPHP使用中踩的坑,记录一下(不停更)
- HTML点击超链接让其打开新标签页
- 认识AngularJS
- 【CSS3】-webkit-margin-before与margin-top
- datatable和dataset转json
- 在LNMP环境下创建多个虚拟主机时出现nginx无法解析php文件故障
- 带预览的图片上传(相当于手写的)
- Web桌面应用框架3:Web桌面应用开发的N种Style
- UVA315 Network —— 割点
- .net core 网站部署
- web前端工程师全套教程免费分享