您的位置:首页 > 编程语言 > PHP开发

NFS配置及FTP(exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp)

2018-08-27 23:55 986 查看

exportfs命令

避免客户端正在使用NFS,服务器端修改相应设置后影响客户端使用,使用exportfs命令就可以解决此问题

还是上篇博客里说到的,Yolks2机器(ip:192.168.248.129)做服务器,Yolks1机器(ip:192.168.248.128)做客户端;

export命令常用选项

a 全部挂载或者全部卸载

r 重新挂载

u 卸载某一个目录

v 显示共享目录

1.Yolks2服务器端执行export命令

[root@yolks2 ~]# exportfs -arv #可以使配置文件重新生效
exporting 192.168.248.0/24:/home/nfstestdir

2.Yolks2机器编辑/etc/exports文件,增加以下代码

/tmp  192.168.248.128(rw,sync,no_root_squash)

执行步骤1相同的重新加载配置命令

exportfs -arv

3.Yolks1机器客户端通过showmount命令查看是否有权限:Yolks2上新增的配置客户端已经可以访问,并且整个过程没有重启服务,即没有影响客户端使用

[root@yolks-001 mnt]# showmount -e 192.168.248.129
Export list for 192.168.248.129:
/home/nfstestdir 192.168.248.0/24
/tmp             192.168.248.128

4.客户端卸载/mnt/目录,然后挂载新的Yolks2机器的/tmp/目录上去

[root@yolks-001 ~]# umount /mnt/ #卸载mount
[root@yolks-001 ~]# mount -lt nfs 192.168.248.129:/tmp/ /mnt/ #挂载共享/tmp目录到本地/mnt/目录
[root@yolks-001 ~]# df -h #查看新的分配
文件系统              容量  已用  可用 已用% 挂载点
/dev/sda3              18G  4.3G   14G   24% /
devtmpfs              901M     0  901M    0% /dev
tmpfs                 911M     0  911M    0% /dev/shm
tmpfs                 911M  8.7M  903M    1% /run
tmpfs                 911M     0  911M    0% /sys/fs/cgroup
/dev/sda1             197M  158M   39M   81% /boot
tmpfs                 183M     0  183M    0% /run/user/0
192.168.248.129:/tmp   18G  3.6G   15G   21% /mnt

6.客户端在/mnt/创建yolks1文件,然后Yolks2机器进行查看是否有文件显示

[root@yolks-001 mnt]# touch yolks1.file

Yolks2机器查看

[root@yolks2 ~]# ls /tmp/ |grep yolks1
yolks1.file

查看结果显示已经正常共享

NFS客户端问题

客户端文件属主、属组nobody,问题版本:NFS 4版本会有该问题

问题:客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody

系统版本:centos6以下可能会有此问题

解决方案:

客户端挂载时加上 -o nfsvers=3

客户端和服务端都需要 : vim /etc/idmapd.conf

把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务

FTP介绍

FTP百度百科

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

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

小公司用的多,大企业不用FTP,因为不安全,一般使用git结合自动化部署

使用vsftpd搭建ftp

1.yum安装vsftpd

yum install -y vsftpd

2.新建用户virftp

useradd -s /sbin/nologin virftp

3.编辑配置文件/etc/vsftpd/vsftpd_login添加以下配置:

奇数行为用户名,偶数行为密码,多个用户就写多行

testuser1
yolkslinux
user1
aaa111

4.修改文件权限

chmod 600 /etc/vsftpd/vsftpd_login

5.转换为2进制

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

6.创建虚拟用户配置文件所在目录

mkdir /etc/vsftpd/vsftpd_user_conf

7.给用户创建配置文件

根据第3步骤设置的用户名和密码,此处我们需要在第六步目录即/etc/vsftpd/vsftpd_user_conf/下创建和用户名一致的文件

此处我们编辑文件名为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 #空闲时间超时时间段
data_connection_timeout=120 #数据传输超时时间
max_clients=10 #最大客户端

8.创建以上配置设置的虚拟用户家目录

mkdir /home/virftp/testuser1

9.新建目录下创建一个测试文件

touch /home/virftp/testuser1/aming.txt

10.修改用户家目录属主、属组权限

chown -R virftp:virftp /home/virftp

11.定义密码文件位置:/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

如下图:



ps:注意上面的配置路径是指用户登录时,需要寻找对应的配置文件去校验,所以需要保证路径/lib64/security/pam_userdb.so文件在机器上是存在的,并且lib64和机器位数是一致的,此问题大多出现在centos6是的机器,centos7机器按照教程暂时没发现问题。

12.编辑vsftpd的主配置文件:/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=YES
guest_enable=YES #开启虚拟用户
guest_username=virftp #虚拟用户名
virtual_use_local_privs=YES #虚拟用户
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES

13.启动服务并查看进程

启动服务

systemctl start vsftpd

查看进程

[root@yolks2 vsftpd_user_conf]# ps aux |grep vsftpd
root       1559  0.0  0.0  53256   572 ?        Ss   23:25   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root       1561  0.0  0.0 112720   984 pts/0    R+   23:25   0:00 grep --color=auto vsftpd

14.测试

1)yum安装lftp

yum install -y lftp

2)测试命令

[root@yolks2 ~]# lftp testuser1@127.0.0.1
口令:
lftp testuser1@127.0.0.1:~> get aming.txt #获取文件
lftp testuser1@127.0.0.1:/> quit

3)查看本地文件

[root@yolks2 ~]# ls
aming.txt  anaconda-ks.cfg #aming.txt就是我们通过ftp获取下的问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐