Linux系统工程师

实验所用系统为Redhat-rhel8.2。

目录

  • Linux系统工程师
  • Linux的系统工程师--Vsftpd服务的部署及优化
    • 一、ftp介绍
    • 二、vsftpd安装及启用
    • 三、vsftpd基本信息
    • 四、匿名用户访问控制
      • 1、登录控制和家目录控制
      • 2、上传控制
      • 3、目录建立控制
      • 4、下载控制
      • 5、删除重命令控制
      • 6、匿名用户上传文件权限设定
      • 7、匿名用户上传文件的用户身份设定
      • 8、登录数量控制
      • 9、传输速率控制
    • 五、本地用户的访问
      • 1、登录控制
      • 2、写权限控制
      • 3、家目录控制
      • 4、上传文件权限控制
      • 5、用户登录控制
        • 1)用户登录白名单
        • 2)锁定用户到自己家目录中
        • 3)文件当中指定用户被锁定在自己家目录(黑名单)
        • 4)文件当中指定用户不被锁定(白名单)
    • 六、虚拟用户访问
      • 1、建立虚拟用户过程
        • 1)修改认证文件
        • 2)对认证文件进行加密(系统不识别,需转换成hash)
        • 3)修改认证策略
        • 4)修改配置文件
        • 5)重启服务
        • 6)测试
      • 2、虚拟用户家目录的独立设定
        • 1) 实验准备
        • 2)修改配置文件
        • 3)测试
      • 3、配置独立
        • 1)修改主配置文件
        • 2)建立配置目录
        • 3)写用户名称相同的文件为用户配置文件
        • 4)重启服务
        • 5)测试
  • Linux的系统工程师--linux中内核级加强型火墙的管理
    • 一、selinux的功能
    • 二、selinux的状态及管理
      • 1、selinux的开启
    • 三、selinux的安全上下文
      • 1、查看
      • 2、修改安全上下文
    • 四、seport
    • 五、setrouble
    • 六、sebool

Linux的系统工程师–Vsftpd服务的部署及优化

实验环境:

  • server主机
selinux关闭(需重新开启虚拟机`reboot`)
172.25.254.109
vim /etc/sysconfig/selinux
///
disabled
///
getenforce      ##查看selinix状态
火墙开启
dnf安装设定完成
  • client主机
172.25.254.9
selinux关闭
本地文件仓库配置完成
安装lftp          ##ftp协议文本浏览器

一、ftp介绍

ftp:file transfer proto
互联网中最老牌的文件传输协议
是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。

二、vsftpd安装及启用

dnf install vsftpd -y        ##server
dnf install lftp -y         ##client
关闭selinux
systemctl disable --now firewallvim /etc/vsftpd/vsftpd.conf ##启动匿名用户的访问功能
///
12 anonymous_enable=YES
///
systemctl restart vsftpd

测试:

ftp://ip
lftp ip         ##此访问方式必须能列出资源才算访问成功##使用完成后exit退出

登录控制实验:

  1. 先测试,匿名用户不能登录ftp
  2. 指定用户登录成功
  3. 修改配置文件,重启服务,使匿名用户可以登录

实验步骤:

###server&client
dnf search ftp
dnf install vsftpd.x86_64 lftp.x86_64 -y
rpm -ql vsftpd
systemctl enable --now vsftpd
netstat -antlupe | grep vsftpd      ##查看端口
firewall-cmd --permanent --add-service=ftp ##在火墙永久开启的服务里加上ftp
firewall-cmd --reload               ##重启火墙
firewall-cmd --list-all             ##查看火墙永久开启的服务###client测试
lftp 172.25.254.109
#`ls' at 0 [530 Login incorrect.] ##匿名用户访问失败,修改配置文件12:no->yes
###server
vim /etc/vsftpd/vsftpd.conf         ##修改配置文件
///
anonymous_enable=YES
///
systemctl restart vsftpd            ##重启服务
###client测试
lttp 172.25.254.109                 ##匿名用户访问成功

[注意] 在登录目录中可以查看,即ls,才是登录成功


#匿名用户登录被拒绝,指定用户登录成功

#修改配置文件

#匿名用户登录成功

三、vsftpd基本信息

服务名称:vsftpd.service
配置目录:/etc/vsftpd
主配置文件:/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
报错信息:550 ##程序本身拒绝553 ##文件系统权限限制500   ##权限过大530   ##认证失败

四、匿名用户访问控制

[注意] 修改完配置文件都要重启服务 systemctl restart vsftpd

在配置文件作修改
/etc/vsftpd/vsftpd.conf

lftp 192.168.0.10                ##当访问ftp服务时没有加入用户认证为匿名访问
lftp 192.168.0.10 -u westos     ##本地用户访问

1、登录控制和家目录控制

登录控制(有)                      ##有指的是,配置文件中有此配置
12 anonymous_enable=YES|NO     ##具体在上文中有做此实验家目录控制(没有)                  ##当没有时,需要手动添加
anon_root=/westosdir           ##当添加了家目录之后,登录的位置即在指定的家目录中


#家目录控制

#家目录控制测试

2、上传控制

#可将上一个实验的家目录改回默认,即注释掉添加的内容

上传控制(有)
29 anon_upload_enable=YES|NO   ##默认为YES,删掉注释符即可chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub          ##ftp不可写则不能上传
###client
lftp 192.168.0.109
cd pub
put /etc/passwd                 ##上传文件
ls                              ##查看是否上传成功


#server


#client

[注意] 如果目标文件夹已经存在要上传的文件,也会报错553,需要在server删掉已经存在的文件

3、目录建立控制

目录建立控制(有)
anon_mkdir-write_enable=YES|NO ##默认为YES,删掉注释符即可
###client
cd pub
mkdir dir                       ##查看是否可以建立


#client,目录建立成功

4、下载控制

下载控制(没有)
anon_world_readable_only=NO        ##匿名用户可以下载不能读的文件(默认为YES,匿名用户不能下载不能读的文件)##下载的东西在登陆ftp的位置


#client,下载成功

[注意] 匿名用户不能下载不能读的文件,并且下载的文件所有人和所有组要为默认用户ftp,否则下载失败


#server,建立文件,修改文件权限和所有人、所有组

#client,文件可读不可读但所有人所有组不符不可读但所有人所有组相符的情况对比

5、删除重命令控制

删除控制(没有)
anon_other_write_enable=YES|NO ##yes为可以删除

6、匿名用户上传文件权限设定

匿名用户上传文件权限设定(没有)
anon_umask=xxx                 ##默认预留权力##当设定chown_username之后上传文件权限将不受此参数设定控制
anon_umask=022                 ##上传文件权限为644(文件减去111)

7、匿名用户上传文件的用户身份设定

匿名用户上传文件的用户身份设定(有)
chown_uoloads=YES
chown_username=westos          ##此用户必须已存在
chown_upload_mode=0644         ##文件默认权力


#server,修改配置,查看已上传的文件的所有人和权力

#client,上传文件

8、登录数量控制

登录数量控制(没有)
max_clients=1                  ##此时可以ls的用户最多只有1名,其他都需要等待


#client,第二个登录的用户被拒绝

9、传输速率控制

传输速率控制(没有)
anon_max_rate=102400(字节=100k) 测试:
dd if=/dev/zero of=westosfile bs=1M count=500   ##建一个500M的文件
lftp 172.25.254.109
put westosfile                  ##上传


#修改过后,最开始上传的速度比较快是告知此源可用,之后会慢慢减速到设定的速度

五、本地用户的访问

[注意] 修改完配置文件都要重启服务
systemctl restart vsftpd

在配置文件作修改
/etc/vsftpd/vsftpd.conf

1、登录控制

登录控制(有)
local_enable=YES|NO            #YES为可登录,默认为yes###server
useradd westos
useradd lee
echo westos | passwd --stdin westos
echo westos | passwd --stdin lee
###client
lftp 172.25.254.109 -u westos

2、写权限控制

写权限控制(有)
write_enable=NO|YES            ##默认可写,写功能的总开关,关闭后匿名用户也不可写


#默认可写,修改后上传文件被拒绝

3、家目录控制

[注意] 将上一个实验的写权限恢复默认,即打开状态

家目录控制(没有)
local_root=/westosdir


#client,进入的目录为/westosdir

4、上传文件权限控制

[注意] 建议将家目录恢复默认,注释掉修改的内容即可

上传文件权限控制(有)
local_umask=077                ##默认上传权限为644,即umask=022


#修改后上传的文件权限改变

5、用户登录控制

/etc/vsftpd/ftpusers     ##永久黑名单(权限最大)#即改即生效
/etc/vsftpd/user_list       ##临时黑名单(可能会因为设定变成白名单)#即改即生效

1)用户登录白名单

用户登录白名单(没有)
userlist_deny=NO           ##设定/etc/vsftpd/user_list为白名单##不在名单中的用户不能登录ftp


#在配置文件中加入lee用户


#除lee用户以外的其他普通用户被拒绝登录

2)锁定用户到自己家目录中

[注意] 注释掉白名单

锁定用户到自己家目录中(有,是否能切换到/)
默认下用户可以浏览/,不安全,所以将其锁定在自己的家目录
chroot_local_user=YES      ##YES=锁定
###server
chmod u-w /home/*           ##显示权限过大时,删除写权限则不被锁定

3)文件当中指定用户被锁定在自己家目录(黑名单)

文件当中指定用户被锁定在自己家目录(黑名单)
chmod u+w /home/*          ##恢复权限
chroot_local_user=NO       ##默认为NO,用户不被锁定
chroot_list_enable=YES     ##目录开启
chroot_list_file=/etc/vsftpd/chroot_list   ##文件中的用户被锁定


#指定westos用户被锁定,则其他用户可以切到/,westos用户被拒绝

4)文件当中指定用户不被锁定(白名单)

文件当中指定用户不被锁定(白名单)
chmod u+w /home/*
chroot_local_user=YES      ##默认为NO,YES指用户被锁定
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list   ##文件中的用户不被锁定,即为白名单


##指定westos用户不被锁定,则其他用户不可以切到/,westos用户被允许

[注意] 报错no route to host

1、网络                     ##确保网络畅通,即虚拟机真机互通
2、服务                        ##确保服务开启
systemctl status vsftpd.service
systemctl start vsftpd.service
3、火墙                        ##确保火墙开启
firewall-cmd --permanent --add-service=ftp ##在火墙永久开启的服务里加上ftp
firewall-cmd --reload       ##重启火墙
firewall-cmd --list-all     ##查看火墙永久开启的服务
4、selinux                   ##确保selinux关闭
getenfoce-->disabled

六、虚拟用户访问

先检测用户登录环境(匿名用户和普通用户可用)
匿名用户登录需打开(anonymous_enable=YES)

1、建立虚拟用户过程

1)修改认证文件

cd /etc/vsftpd/
vim /etc/vsftpd/westos_pam      ##建立认证文件模板,文件中的虚拟用户可以根据设定的密码登录ftp
///
westos1                         ##虚拟用户名
123                             ##对应的密码
westos2
123
///

2)对认证文件进行加密(系统不识别,需转换成hash)

db_load -T -t hash -f westos_pam westos_pam.db##T-transfer;   t-type;  f-指定要转换的文件

3)修改认证策略

vim /etc/pam.d/westos
///
account required        pam_userdb.so   db=/etc/vsftpd/westos_pam      ##用户##用pam_userdb.so插件检测文件中的账号是否存在(westos_pam后的.db会自动补齐)
auth    required        pam_userdb.so   db=/etc/vsftpd/westos_pam      ##密码
///

pam插件-用来做身份认证
rpm -qc vsftpd–> /etc/pam.d/vsftpd(认证策略)
required-当此认证不通过,整个认证失败
两个都配对则认证成功,任何一个认证失败则整个失败

4)修改配置文件

vim /etc/vsftpd/vsftpd.conf
///
pam_service_name=westos        ##改变认证策略
guest_enable=YES           ##开启虚拟用户登录
guest_username=ftp         ##指定一个本地用户作为虚拟用户登录的身份##ftp进入的目录不能有写权限,否则会报错权限过大
///

[注意] 此时除了指定用户外,其他的本地用户都不能登录

5)重启服务

systemctl restart vsftpd.service

6)测试

lftp 172.25.254.109 -u westos1
Password:123
ls(有正确输出)

2、虚拟用户家目录的独立设定

1) 实验准备

mkdir -p /ftphome/westos{1,2}        ##与虚拟用户名相同才能使用$
touch /ftphome/westos1/westos1file
touch /ftphome/westos2/westos2file
mkdir /ftphome/westos{1,2}/pub

2)修改配置文件

vim /etc/vsftpd/vsftpd.conf
///
local_root=/ftphome/$USER  ##指定家目录
user_sub_token=$USER       ##变量声明
///
systemctl restart vsftpd

3)测试

lftp 172.25.254.109 -u westos1
Password:123
ls(pub;westos1file)

3、配置独立

  • 实验环境
注释掉匿名用户上传和建立目录可写
///
#anon_upload_enable=YES
#anon_other_write_enable=YES
#anon_world_readable_only=NO
#anon_mkdir_write_enable=YES
///
systemctl restart vsftpd.service
  • 实验准备
chgrp ftp /ftphome/westos{1..3}/pub
chmod 775 /ftphome/westos{1..3}/pub     ##开启拥有者和拥有组权限

1)修改主配置文件

vim /etc/vsftpd/vsftpd.conf
///
user_config_dir=/etc/vsftpd/westos ##改变认证策略
///

2)建立配置目录

mkdir /etc/vsftpd/westos

3)写用户名称相同的文件为用户配置文件

vim /etc/vsftpd/westos/westos1
///
anon_upload_enable=YES     ##只有westos1自己可上传
///

4)重启服务

systemctl restart vsftpd.service

5)测试

lftp 172.25.254.109 -u westos1
Password:123
ls
cd /pub
put /etc/passwd
#2754 bytes transferred
exit

westos2和3不可以上传

Linux的系统工程师–linux中内核级加强型火墙的管理

实验环境:

还原
rm -rf /etc/vsftpd
dnf reinstall vsftpd -y
systemctl restart vsftpd
需要开启一些功能
vim /etc/vsftpd/vsftpd.conf
///
anonymous_enable=YES
anon_upload_enable=YES
///
systemctl restart vsftpd

一、selinux的功能

selinux-disable selinux-enable
ftp upload yes(可以上传) no
mv /mnt/file /var/ftp yes(可以被浏览) no
ps axZ grep vdftpd -
ls -Z /mnt/westoslee 标签

实验准备:

touch /mnt/westosfile
mv /mnt/westosfile /var/ftp/
chgrp ftp /var/ftp/pub/
chmod 775 /var/ftp/pub/
  • selinux-disable状态
lftp 172.25.254.109
ls
cd /pub
put /etc/passwdps axZ | grep vdftpdtouch /mnt/westoslee
ls -Z /mnt/westoslee


#可以上传,可以浏览

##不可见

  • selinux-enable状态
vim /etc/sysconfig/selinux
///
enforcing
///
reboot
touch /mnt/westosfile1
mv /mnt/westosfile1 /var/ftp/ps axZ | grep vdftpd
#unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 1644 pts/0 R+   0:00 grep --color=auto vdftpdls -Z /mnt/westoslee
#system_u:object_r:default_t:s0 /mnt/westoslee


给程序和文件加上标签,标签匹配才能访问

  • selinux对于文件的影响
    当selinux开启时,内核会对每个文件及每个开启的程序进行标签加载
    标签内记录程序和文件的安全上下文(context)
  • selinux对程序功能的影响
    当selinux开启会对程序的功能加载开关,并设定此开关的状态为关闭
    当需要此功能时需要手动开启功能开关
    此功能叫sebool

二、selinux的状态及管理

1、selinux的开启

vim /etc/sysconfig/selinux
disabled    ##selinux关闭
enforcing   ##selinux开机设定为强制状态(拒绝且警告)##不符合条件一定不能被允许,并且被警告
permissive  ##selinux开机设定为警告状态(通过且警告)##不符合条件被允许,并且被警告

[注意] selinux开启或关闭需要重启系统

getenforce           ##selinux状态查看selinux开启后强制和警告级别的转换
setenforce 0    ##警告
setenforce 1    ##强制

selinux日志位置
/var/log/audit/audit.log

三、selinux的安全上下文

1、查看

ls -Z        ##查看文件的安全上下文
ls -Zd      ##查看目录的安全上下文
ls -axZ     ##查看进程的安全上下文

2、修改安全上下文

  • 临时修改
    在selinux重启后会还原
chcon -t 标签                  文件|目录
chcon -t    public_content_t    /var/ftp/westosfile1
chcon -Rt   public_content_t    /westosdir  ##修改目录本身及子文件的安全上下文

  • 永久修改
    如果需要特殊指定安全上下文,需要修改内核安全上下文列表
semanage fcontext -l         ##查看内核安全上下文列表
semanage fcontext -a -t public_content_t '/westosdir(/.*)?'
restorecon -RvvF /westosdir
touch /.autorelabel             ##重启系统时selinux初始化文件标签开关文件


#永久修改

#初始化文件标签开关文件后,临时修改的安全上下文恢复默认,永久修改的没有改变

四、seport

selinux会限制端口的使用,enforcing下被拒绝,permissive下可以使用

semanage port -l | grep ssh                  ##列出端口
semanage port -a -t ssh_port_t -p tcp 1111  ##添加端口
semanage port -d -t ssh_port_t -p tcp 1111  ##删除端口

实验:

vim /etc/ssh/sshd_config
///
修改端口22->2222
///
getenforce(Enforcing)
systemctl restart sshd                      ##重启服务被拒绝
setenforce 0
getenforce(Permissive)
systemctl restart sshd                      ##可以重启
setenforce 1
systemctl restart sshd                      ##被拒绝
semanage port -l | grep ssh                 ##列出端口
semanage port -a -t ssh_port_t -p tcp 2222  ##添加端口
semanage port -l | grep ssh                 ##添加成功
systemctl restart sshd                      ##可以重启
semanage port -d -t ssh_port_t -p tcp 2222  ##删除端口
semanage port -l | grep ssh                 ##删除成功
systemctl restart sshd                      ##被拒绝
vim /etc/ssh/sshd_config                    ##将配置文件恢复
systemctl restart sshd

五、setrouble

/var/log/audit/audit.log ##selinux警告信息
/var/log/messages           ##selinux问题解决方案
setroubleshoot-server       ##此软件功能时采集警告信息先并分析得到解决方案存放到message中

六、sebool

getsebool -a                     ##显示服务的bool值
setsebool -P ftpd_anon_write on     ##更改bool值

Linux系统工程师--(1)Vsftpd服务的部署及优化与linux中内核级加强型火墙的管理相关推荐

  1. linux系统工程师----2.linux中内核级加强型火墙的管理

    linux中内核级加强型火墙的管理 前言 一.selinux的功能 二.Selinux的三种状态及管理 三.Selinux的安全上下文 1.查看 2.修改安全上下文 四.SEBOOL 五.SEPORT ...

  2. Linux 中内核级加强型火墙的管理

    一.Selinux的功能 1.观察现象 当Selinux未开启时 在/mnt中建立文件被移动到/var/ftp下可以被vsftpd服务访问 匿名用户可以通过设置后上传文件 当使用ls -Z /var/ ...

  3. Vsftpd 服务的部署及优化

    Vsftpd 服务的部署及优化 1 实验环境 2 ftp介绍 3 vsftpd安装与启用 4 vsftpd基本信息 5 用户访问控制 5.1 匿名用户访问 5.2 本地用户访问 6 虚拟用户访问 6. ...

  4. Vsftpd服务的部署及优化

    ######################### #    实验环境    # ######################### # #server主机: #    westos_node1 #  ...

  5. RH135---Linux系统管理及网络服务之 linux中内核及加强型火墙管理 --Selinux

    # 一.Selinux的功能 # 1.观察现象 当Selinux未开启时disable 在/mnt中建立文件被移动到/var/ftp下可以被vsftpd服务访问 匿名用户可以通过设置后上传文件 当使用 ...

  6. 2 Linux中内核级加强防火墙的管理

    #实验环境配置# 客户端下载vsftpd.x86_64 lftp.x86_64 systemctl enable --now vsftpd #开启ftp服务 服务端增加火墙配置 firewall-cm ...

  7. Linux中的vsftpd服务的部署及优化

    1.vsftpd安装及启用 需要先配置好主机网络 挂载镜像并搭建本地软件仓库: 安装vsftp软件包: 开启vsftp服务并关闭防火墙: 关闭selinux: 测试安装发布: 安装lftp服务(ftp ...

  8. 【转载,整理】Linux模拟试题及答案(全)+经典Linux系统工程师面试题(附答案)

    转自:http://www.ha97.com/871.html   http://www.ha97.com/870.html 2010-6 11 经典Linux系统工程师面试题(附答案) 发表于: L ...

  9. 重启部署在Linux系统下的tomcat服务

    2019独角兽企业重金招聘Python工程师标准>>> 重启部署在Linux系统下的tomcat服务具体的操作步骤: 1.在Winscp上建立连接,输入用户和密码,这个密码一般是看不 ...

最新文章

  1. ios--用证书进行真机调试(转)
  2. golang 结构体简介
  3. Java平滑处理什么意思_为何要进行数据平滑处理?
  4. jQuery的AJAX
  5. python bottle框架 运维_python bottle框架(WEB开发、运维开发)教程 | linux系统运维...
  6. 思维题 UVA 10881 Piotr's Ants
  7. TeamTalk 服务器代码分析
  8. 201671010426 孙锦喆 实验二词频统计软件项目报告
  9. Windows/Linux/MacOS下VMware Workstation Pro/Vmware Fusion虚拟机的安装使用,Vmware Tools 的安装,Vmware使用技巧与故障排除。
  10. linux ubuntu硬盘数据丢失【硬盘开机未挂载】
  11. 千秋华夏 壮丽河山 国庆节快乐~
  12. 4.决策树的探赜索隐
  13. 淘宝个人卖家如何进行免登声明
  14. 函数表达式与命名函数区别
  15. XML学习笔记(1)
  16. 如何选择retina和univeral?
  17. 公众号加附件怎么做?公众号推文上传附件教程
  18. SLM7.1SR1SP05 配置(configuration guide+ link help) - 02 overview啥也没有不用看了
  19. 打造QQ空间头部视差ListView
  20. linux中大于等于符号 特殊字符,Linux 特殊字符、符号

热门文章

  1. 图像抖动(加入随机噪声+矩阵有序抖动)Java实现,不使用OpenCV 按照课堂中讲的两种抖动(Dithering)方法,自己编程实现(编程语言不限)。实现方法一:以加入随机噪声的方式保留信息
  2. 在北京外地农村户口和城镇户口五险一金的区别?
  3. 平凡的世界和你我(田润生与郝红梅)
  4. Aionもし初めならば:すべてすべてまったくありもしない話なので
  5. php http 缓存,如何设计一个完美的http缓存策略
  6. markdwon语法与Typora
  7. [work] python从字符串中提取所有数字到list
  8. java基础教程案例_Java入门的五个经典案例
  9. vue图片缩略图及图片预览功能
  10. 那些年我追过的程序员“大佬”,他们后来都怎么样了?