sixteenth day for learning

VSFTP:

虚拟用户模式

第1步:重置安装vsftpd服务后。创建用于进行FTP认证的用户数据库文件,其中奇数行为账户名,偶数行为密码。

分别创建出zhangsan和lisi两个用户,密码均为redhat:

 明文信息既不安全,也不符合让vsftpd服务程序直接加载的格式,因此需要使用db_load命令用哈希(hash)算法将原始的明文信息文件转换成数据库文件,并且降低数据库文件的权限(避免其他人看到数据库文件的内容),然后再把原始的明文信息文件删除。

[root@linuxprobe vsftpd]# db_load -T -t hash -f vuser.list vuser.db

[root@linuxprobe vsftpd]# chmod 600 vuser.db

[root@linuxprobe vsftpd]# rm -f vuser.list

第2步:创建vsftpd服务程序用于存储文件的根目录以及虚拟用户映射的系统本地用户,可以把这个系统本地用户的家目录设置为/var目录(该目录用来存放经常发生改变的数据)。并且为了安全起见,我们将这个系统本地用户设置为不允许登录FTP服务器,这不会影响虚拟用户登录,而且还能够避免外人通过这个系统本地用户进行登录。

 第3步:建立用于支持虚拟用户的PAM文件。新建一个用于虚拟用户认证的PAM文件vsftpd.vu,其中PAM文件内的“db=”参数为使用db_load命令生成的账户密码数据库文件的路径,但不用写数据库文件的后缀:

 第4步:在vsftpd服务程序的主配置文件中通过pam_service_name参数将PAM认证文件的名称修改为vsftpd.vu

参数

作用

anonymous_enable=NO

禁止匿名开放模式

local_enable=YES

允许本地用户模式

guest_enable=YES

开启虚拟用户模式

guest_username=virtual

指定虚拟用户账户

pam_service_name=vsftpd.vu

指定PAM文件

allow_writeable_chroot=YES

允许对禁锢的FTP根目录执行写入操作,而且不拒绝用户的登录请求

 第5步:为虚拟用户设置不同的权限。虽然账户zhangsan和lisi都是用于vsftpd服务程序认证的虚拟账户,但是我们依然想对这两人进行区别对待。比如,允许张三上传、创建、修改、查看、删除文件,只允许李四查看文件。这可以通过vsftpd服务程序来实现。只需新建一个目录,在里面分别创建两个以zhangsan和lisi命名的文件,其中在名为zhangsan的文件中写入允许的相关权限(使用匿名用户的参数):

 然后再次修改vsftpd主配置文件,通过添加user_config_dir参数来定义这两个虚拟用户不同权限的配置文件所存放的路径。

[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf

16 user_config_dir=/etc/vsftpd/vusers_dir

再重启vsftpd服务,设置SELinux域允许策略,即可测试

TFTP: 基于UDP协议在客户端和服务器之间进行简单文件传输的协议

tftp-server是服务程序,tftp是用于连接测试的客户端工具,xinetd是管理服务;

[root@linuxprobe ~]# dnf install tftp-server tftp xinetd

TFTP服务是使用xinetd服务程序来管理的。xinetd服务可以用来管理多种轻量级的网络服务,简单来说,在安装TFTP软件包后,还需要在xinetd服务程序中将其开启,TFTP的根目录为/var/lib/tftpboot ,即默认存放位置

    tftp命令中可用的参数以及作用

参数

作用

?

帮助信息

put

上传文件

get

下载文件

verbose

显示详细的处理信息

status

显示当前的状态信息

binary

使用二进制进行传输

ascii

使用ASCII码进行传输

timeout

设置重传的超时时间

quit

退出

Samba服务:

安装:dnf install samba samba-client

主配置文件:/etc/samba/smb.conf

 注:security参数代表用户登录samba服务时的验证方式,总共有4种

share”代表主机无需验证口令,相当于vsftpd服务的匿名公开访问模式,比较方便,但安全性很差;

“user”代表登录samba服务时需要使用账号密码进行验证,通过后才能获取到文件,这是默认的验证方式,最为常用;

“domain”代表通过域控制器进行身份验证,限制用户的来源域;

“server”代表使用独立主机验证来访用户的提供的口令,相当于是集中管理账号,并不常用。

samba服务端:

第1步:创建用于访问共享资源的账户信息。在RHEL 8系统中,Samba服务程序默认使用的是用户口令认证模式(user),pdbedit命令用于管理samba服务程序的账户信息数据库,格式为“pdbedit [选项] 账户”。在第一次需要使用-a参数,以后在执行修改密码、删除账户等操作时就不再需要该参数了。pdbedit命令中使用的参数以及作用如下。

             用于pdbedit命令的参数以及作用

参数

作用

-a 用户名

建立Samba用户

-x 用户名

删除Samba用户

-L

列出用户列表

-Lv

列出用户详细信息的列表

[root@linuxprobe ~]# id 用户名

uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe)

[root@linuxprobe ~]# pdbedit -a -u 用户名

第2步:创建用于共享资源的文件目录.不仅要考虑到文件读写权限的问题,还有正确的文件上下文值应该是samba_share_t,所以只需要修改完毕后执行restorecon命令,就能让应用于目录的新SELinux安全上下文立即生效

第3步:设置SELinux服务与策略,使其允许通过Samba服务程序访问普通用户家目录。执行getsebool命令,筛选出所有与Samba服务程序相关的SELinux域策略,根据策略的名称(和经验)选择出正确的策略条目进行开启即可:

samba_enable_home_dirs --> off

samba_export_all_ro --> off

samba_export_all_rw --> off

第4步:在Samba服务程序的主配置文件中,根据表12-2所提到的格式写入共享信息。

 第5步:重启服务,iptables清空策略,firewalld防火墙允许放行

第6步:如果想进一步看samba服务都共享出去了哪些共享目录,则可以用smbclient命令来查看共享详情,需要先安装samba-client包

[root@linuxprobe ~]# smbclient -U linuxprobe -L 192.168.10.10

samba客户端为windows:

直接:\\服务端ip地址。

samba客户端为linux:

NFS网络文件系统:

安装:dnf install nfs-utils 

服务端:

第1步:配置好防火墙,以免默认的防火墙策略禁止正常的NFS共享服务。放行3个服务!!

第2步:在NFS服务器上建立用于NFS文件共享的目录,并设置足够的权限确保其他人也有写入权限。

第3步:NFS服务程序的配置文件为/etc/exports,默认情况下里面没有任何内容。我们可以按照“共享目录的路径 允许访问的NFS客户端(共享权限参数)”的格式,定义要共享的目录与相应的权限。

[root@linuxprobe ~]# vim /etc/exports /nfsfile 192.168.10.*(rw,sync,root_squash)

注:匹配IP地址就有三种方法——

第一种是直接写*号,代表任何主机都可以访问;

第二种则是实验中采用的192.168.10.*通配格式,代表来自192.168.10.0/24网段的主机;

第三种则是直接写对方的IP地址,如192.168.10.20,代表仅允许某个主机进行访问。

         用于配置NFS服务程序配置文件的参数

参数

作用

ro

只读

rw

读写

root_squash

当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户

no_root_squash

当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员

all_squash

无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户

sync

同时将数据写入到内存与硬盘中,保证不丢失数据

async

优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

第4步:启动和启用NFS服务程序。

nfs客户端:

1.先使用showmount命令查询NFS服务器的远程共享信息

[root@linuxprobe ~]# showmount -e 192.168.10.10

Export list for 192.168.10.10: /nfsfile 192.168.10.*

2.然后在NFS客户端创建一个挂载目录。使用mount命令并结合-t参数,指定要挂载的文件系统的类型,并在命令后面写上服务器的IP地址、服务器上的共享目录以及要挂载到本地系统(即客户端)的目录。

[root@linuxprobe ~]# mkdir /nfsfile

[root@linuxprobe ~]# mount -t nfs 192.168.10.10:/nfsfile /nfsfile

[root@linuxprobe ~]# df -h

3.如果希望NFS文件共享服务能一直有效,则需要将其写入到fstab文件中:

192.168.10.10:/nfsfile /nfsfile nfs defaults 0 0

AutoFs自动挂载服务:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值