- 当nfs服务端需要增加共享目录时,更改配置文件后,需要重启服务,但是客户端还在使用共享目录,正常情况下需要客户端先卸载共享目录,再在服务端操作,如果客户端很多时,就需要用到exportfs命令来快速配置了
- exportfs常用选项
- -a全部挂载或者全部卸载
- -r重新挂载
- -u卸载某一个目录
- -v显示共享目录
- 测试
- 服务端操作
[root@akuilinux01 ~]# vim /etc/exports/home/nfstestdir ?192.168.21.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)/tmp/ 192.168.21.0/24(rw,sync,no_root_squash)[root@akuilinux01 ~]# exportfs -arvexporting 192.168.21.0/24:/tmpexporting 192.168.21.0/24:/home/nfstestdirexportfs -arv //不用重启nfs服务,配置文件就会生效
- 客户端操作
[root@akuilinux02 ~]# showmount -e 192.168.21.128Export list for 192.168.21.128:/tmp ????????????192.168.21.0/24/home/nfstestdir 192.168.21.0/24[root@akuilinux02 ~]# mkdir /akui[root@akuilinux02 ~]# mount -t nfs ?192.168.21.128:/tmp /akui[root@akuilinux02 ~]# touch /akui/12121.txt[root@akuilinux02 ~]# ll /akui/总用量 8-rw-r--r-- 1 root root ???0 6月 ?22 21:52 12121.txtsrw-rw-rw- 1 root root ???0 6月 ?22 21:02 aming.socksrwxrwxrwx 1 1001 1001 ???0 6月 ?22 21:02 mysql.sock-rw-r--r-- 1 root root 3108 6月 ?19 09:34 nginx_access.log-rw-r--r-- 1 root root ??92 6月 ?16 10:10 nginx_access.log-20180615drwxr-xr-x 3 root root ??18 6月 ?14 17:32 peardrwx------ 3 root root ??17 6月 ?22 21:02 systemd-private-e422dd02155c4b309ecf7d899321d899-chronyd.service-z7tx4Pdrwx------ 3 root root ??17 6月 ?22 21:02 systemd-private-e422dd02155c4b309ecf7d899321d899-vgauthd.service-QVzTM6drwx------ 3 root root ??17 6月 ?22 21:02 systemd-private-e422dd02155c4b309ecf7d899321d899-vmtoolsd.service-EPZGUpsrw-rw-rw- 1 root root ???0 6月 ?22 21:02 www.sock
nfs客户端问题
- 服务端操作
- NFS 4版本会有该问题
- 客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody
- 一种方法是客户端挂载时加上 -o nfsvers=3
重新挂载mount -t nfs -oremount,nfsvers=3 192.168.21.128:/tmp /akui
- 另一种是客户端和服务端都需要
- vim /etc/idmapd.conf //把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务
FTP介绍
- vim /etc/idmapd.conf //把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务
- FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
- FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
- 小公司用的多,大企业不用FTP,因为不安全
- 大企业用的是自动化发布平台
使用vsftpd搭建ftp服务
- centos上自带vsftpd
- 安装vsftpd
[root@akuilinux01 ~]# yum install -y vsftpd
- 创建一个用来普通用户virftp(映射虚拟用户用来上传下载文件)并设置不能登录
[root@akuilinux01 ~]# useradd -s /sbin/nologin virftp
- 编辑虚拟用户的密码文件,格式为奇数行为用户名,偶数行为密码,多个用户就写多行,并设置权限为600
[root@akuilinux01 ~]# vim /etc/vsftpd/vsftpd_loginuser1123456user2123456[root@akuilinux01 ~]# chmod 600 /etc/vsftpd/vsftpd_login
- 把文本密码文件转换成二进制文件
[root@akuilinux01 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db[root@akuilinux01 ~]# ls /etc/vsftpd/ftpusers ?user_list ?vsftpd.conf ?vsftpd_conf_migrate.sh ?vsftpd_login ?vsftpd_login.db
- 创建虚拟用户配置文件目录
[root@akuilinux01 ~]# mkdir /etc/vsftpd/vsftpd_user_conf
- 创建虚拟用户的配置文件,名字为虚拟用户的用户名
[root@akuilinux01 ~]# cd !$cd /etc/vsftpd/vsftpd_user_conf[root@akuilinux01 vsftpd_user_conf]# vim user1local_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 #连接ftp的空闲时间data_connection_timeout=120 #数据传输的超时时间max_clients=10 #最大客户端
- 创建虚拟用户的家目录并创建一个文件
[root@akuilinux01 ~]# mkdir /home/virftp/user1[root@akuilinux01 ~]# touch /home/virftp/user1/akui.txt
- 设置virftp用户家目录的属主属组
[root@akuilinux01 ~]# chown -R virftp:virftp /home/virftp/
- 在认证文件里面定义密码文件
[root@akuilinux01 ~]# vim /etc/pam.d/vsftpd#%PAM-1.0auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login[root@akuilinux01 ~]# ls /lib64/security/pam_userdb.so/lib64/security/pam_userdb.so
- 编辑vsftp的主配置文件
- 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=YESguest_enable=YES #允许映射guest_username=virftp #映射到virftpvirtual_use_local_privs=YES #告诉服务现在使用的是虚拟用户user_config_dir=/etc/vsftpd/vsftpd_user_conf #定义虚拟用户的配置文件目录allow_writeable_chroot=YES
- systemctl start vsftpd启动服务
测试
- 可以在windows上安装filezille client软件
- 在linux上
[root@akuilinux01 ~]# ?yum install -y lftp[root@akuilinux01 ~]# lftp user1@127.0.0.1口令: lftp user1@127.0.0.1:~> ls ?????????-rw-r--r-- ???1 1003 ????1003 ???????????0 Jun 22 14:45 akui.txtlftp user1@127.0.0.1:/> get akui.txt ?#下载文件到当前目录,?回车可以查看可以使用的命令lftp user1@127.0.0.1:/> quit[root@akuilinux01 ~]# ls1.txt ?akui.txt ?anaconda-ks.cfg
exportfs命令,ftp介绍,使用vsftpd搭建ftp
原文地址:http://blog.51cto.com/akui2521/2131967