6月22日

14.4 exportfs命令

exportfs命令

exportfs 命令用来管理当前NFS共享的文件系统列表

exportfs命令常用选项为-a-r-u-v,各选项含义如下:

 -a:表示全部挂载或者全部卸载

 -r:表示重新挂载

 -u:表示卸载某一个目录

 -v:表示显示共享目录

 

1.修改配置文件

服务端配置:

vim /etc/exports

增加一行配置如下: /tmp/ 172.16.111.0/24(rw,sync,no_root_squash)

blob.png 

 

再执行一下以下这个命令,不用重启nfs服务,配置文件就会生效:

exportfs -arv  

blob.png 

2. 以下操作在客户端:

 将服务端的/tmp/目录挂载到  客户端的/mnt/下

mount -t nfs  172.16.215.130:/tmp/  /mnt/

blob.png 

 

3.然后在客户端上新建个nfs.txt文件:

vim /mnt/nfs.txt

 

 blob.png

 

4.可以对比看一下,客户端的/mnt/目录跟服务端的/tmp/目录都是一样的:

客户端的/mnt:

blob.png 

 

服务端的/tmp/:

blob.png 

总结说明:这里在客户端建立的文件在客户端与服务端上查看都是root,这是因为我们在配置文件里配置了no_root_squash,不限制root。所以当我们在挂载点上使用就文件时它就不限制root用户,也就是说使用root用户创建文件时,跟在服务端本机上创建的一样。

14.5 NFS客户端问题

NFS客户端问题

 

1. 客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody(NFS 4版本会有该问题

如何解决呢?这个就客户端挂载时加上 -o nfsvers=3:

blob.png 

 

 

2.客户端和服务端都需要

vim /etc/idmapd.conf 

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

blob.png 

 


15.1 FTP介绍、

FTP介绍

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

 

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

 

3、小公司用的多,大企业不用FTP,因为不安全

 

 

15.2-15.3 使用vsftpd搭建ftp

使用vsftpd搭建ftp服务

1.安装及建立账号:

yum install -y vsftpd    //centos上自带vsftpd,使用命令安装

useradd -s /sbin/nologin virftp  //创建一个普通用户,为了以这个用户的身份来传文件,-s是用来指定shell/sbin/nologin是使这个用户不能登录,保证安全.

 

vim /etc/vsftpd/vsftpd_login //内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行 testuser1 aminglinux

blob.png 

chmod 600 /etc/vsftpd/vsftpd_login   //更改文件权限,提升安全级别

cat /etc/vsftpd/vsftpd_login

blob.png 

1.1 把文本的密码文件转换成计算机识别的二进制文件

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

 

blob.png 

1.2 创建虚拟用户的配置文件所在的目录并进入到这个目录

mkdir /etc/vsftpd/vsftpd_user_conf 

cd /etc/vsftpd/vsftpd_user_conf

blob.png 

1.3创建和用户对应的配置文件

定义虚拟用户的配置文件   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

data_connection_timeout=120

max_clients=10

blob.png 

1.4 创建虚拟用户的家目录并创建amo.txt文件并更改权限:

mkdir /home/virftp/testuser1

 touch /home/virftp/testuser1/amo.txt

 chown -R virftp:virftp /home/virftp

blob.png 

1.5最前面加上配置,定义用户的密码文件在哪个路径:

 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

blob.png 

//Centos764系统,所有库文件路径为/lib64/security/pam_userdb.so32位系统的库文件路径为/lib/security/pam_userdb.so

1.6 修改全局配置文件/etc/vsftpd/vsftpd.conf

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

blob.png 

 再尾部增加如下内容

 

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

blob.png 

1.7 启动vsftpd服务,查看进程和端口:

systemctl start vsftpd 

ps aux|grep vsftp

netstat -lntp

blob.png 

 

1.7.1 排错:  systemctl stat vsftpd 启动后报错无法启动vsftpd服务

报错内容:Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details

blob.png 

修改/etc/vsftpd/vsftpd.conf配置后测试正常,如下:

blob.png 

1.8 测试ftp

安装一个linux上的lftp客户端

yum install lftp -y

 

1.8.1 使用命令并输入密码,执行命令ls,看是否正常输出,若不正常查看日志/var/log/messages/var/log/secure

lftp [email protected]

ls

blob.png 

1.8.2 我们使用命令  get   amo.txt 把它下载下来:

blob.png 

 

1.8.3 然后退出来查看当前路径,就可以看到这个amo.txt文件了:

blob.png 

1.9 windows下安装filezilla客户端软件,进行测试

blob.png 

再到linux端查看/home/virftp/testuser1/

blob.png 

测试正常


猜你喜欢

转载自blog.51cto.com/404006045/2131977