exportfs
作用是在线添加或者删改nfs,不需要客户端卸载目录
服务端
[root@hanlin nfstestdir]# vim /etc/exports
/home/nfstestdir 192.168.0.0/24(rw,no_root_squash)
/tmp 192.168.0.106(rw,sync,no_root_squash)
[root@hanlin nfstestdir]# exportfs -arv (不需要重启nfs就可以检测到共享目录了)
exporting 192.168.0.106:/tmp
exporting 192.168.0.0/24:/home/nfstestdir
exportfs参数选项
-a 全部挂载或者全部卸载
-r 重新挂载
-u 卸载某一个目录
-v 显示共享目录
客户端
[root@HANLIN mnt]# showmount -e 192.168.0.12
Export list for 192.168.0.12:
/home/nfstestdir 192.168.0.0/24
/tmp 192.168.0.106
[root@HANLIN /]# mount -t nfs 192.168.0.12:/tmp/ /ftp/
[root@HANLIN /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 10G 7.0G 3.1G 70% /
devtmpfs 978M 0 978M 0% /dev
tmpfs 993M 0 993M 0% /dev/shm
tmpfs 993M 9.0M 984M 1% /run
tmpfs 993M 0 993M 0% /sys/fs/cgroup
192.168.0.12:/home/nfstestdir 10G 8.0G 2.1G 80% /mnt
/dev/sda2 2.0G 33M 2.0G 2% /swap
/dev/sda1 197M 136M 61M 70% /boot
tmpfs 199M 12K 199M 1% /run/user/42
tmpfs 199M 0 199M 0% /run/user/0
192.168.0.12:/tmp 10G 8.0G 2.1G 80% /ftp
[root@HANLIN /]# ls /ftp/ (nfs挂载成功)
aming.sock
hanlin
mysql.bak.sql
mysql.sock
php-fcgi.sock
systemd-private-b4ac5bca14b445818e12b399531ce96a-chronyd.service-yN5zOW
systemd-private-b4ac5bca14b445818e12b399531ce96a-cups.service-6pVADx
systemd-private-b4ac5bca14b445818e12b399531ce96a-vgauthd.service-BXbUjq
systemd-private-b4ac5bca14b445818e12b399531ce96a-vmtoolsd.service-Gs4yoG
t1.bak
t1.sql
test.conf.log
test.conf.log-20181126
user.sql
NFS客户端问题
客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody
解决办法:
方法1.客户端挂载
[root@HANLIN /]# mount -t nfs -o nfsvers=3 192.168.0.12:/tmp/ /ftp/ (必须先挂载一遍才能指定-oremount)
[root@HANLIN /]# mount -t nfs -oremount,nfsvers=3 192.168.0.12:/tmp/ /ftp/
方法2.
1.vim /etc/idmapd.conf
2.把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务
centos7中没有rpcidmapd服务局重启rpcbind就行了
FTP
用来传输数据,rz sz文件超过4G就不好使了
小公司用ftp,大公司用自动化发布工具git,不用ftp,不安全
[root@hanlin /]# yum -y install vsftpd
[root@hanlin /]# useradd xyftp -s /sbin/nologin
[root@hanlin /]# vim /etc/vsftpd/vsftpd_login (编辑ftp登入参数,奇数行为用户,偶数行为密码)
xuyao
123456a.
xuli
123456
[root@hanlin /]# chmod 600 !$
chmod 600 /etc/vsftpd/vsftpd_login
[root@hanlin /]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db (把密码文件转化成计算机能识别的二进制文件)
[root@hanlin /]# ls -l /etc/vsftpd
总用量 52
-rw-r--r--. 1 root root 3 5月 12 2018 chroot_list
-rw-------. 1 root root 125 10月 31 03:45 ftpusers
-rw-------. 1 root root 362 5月 15 2018 user_list
-rw-------. 1 root root 327 5月 15 2018 vsftpd.conf
-rw-------. 1 root root 5027 5月 13 2018 vsftpd.conf.bak
-rwxr--r--. 1 root root 338 10月 31 03:45 vsftpd_conf_migrate.sh
-rw-------. 1 root root 5116 10月 31 03:45 vsftpd.conf.rpmnew
-rw-------. 1 root root 27 12月 7 14:43 vsftpd_login
-rw-r--r--. 1 root root 12288 12月 7 16:22 vsftpd_login.db
[root@hanlin /]# mkdir /etc/vsftpd/vsftpd_user_conf (自定义创建虚拟用户配置文件目录)
[root@hanlin /]# cd !$
cd /etc/vsftpd/vsftpd_user_conf
[root@hanlin vsftpd_user_conf]# vim xuyao (自定义用户配置文件,要跟之前创建的用户名保持一致)
local_root=/home/xyftp/xuyao (定义虚拟用户的家目录)
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@hanlin vsftpd_user_conf]# mkdir /home/xyftp/xuyao (创建虚拟用户的家目录)
[root@hanlin vsftpd_user_conf]# cd !$
cd /home/xyftp/xuyao
[root@hanlin xuyao]# touch xy.jpg
[root@hanlin xuyao]# chown -R xyftp:xyftp /home/xyftp
[root@hanlin xuyao]# vim /etc/pam.d/vsftpd (定义密码文件的路径)
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
[root@hanlin xuyao]# ls /lib64/security/pam_userdb.so (要确定该文件是否存在,centos6区分32/64位位系统)
/lib64/security/pam_userdb.so
[root@hanlin xuyao]# vim /etc/vsftpd/vsftpd.conf (vsftp主配置文件更改)
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=xyftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES
[root@hanlin xuyao]# systemctl start vsftpd
[root@hanlin xuyao]# ps -aux |grep vsftp
root 74620 0.0 0.0 53212 568 ? Ss 16:55 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root 74630 0.0 0.0 112676 984 pts/1 S+ 16:55 0:00 grep --color=auto vsftp