容量,系统信息,日志,文件打包,FTP

2019-07-30  本文已影响0人  快去学习不然怎么去看aimer

容量

1B(字节) = 8bit(比特)
1kB = 1024B

系统信息

lsblk

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part 
  ├─centos-root 253:0    0   47G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1  4.3G  0 rom  

free 内存

free -m   #以mb的格式显示信息
free -h    #以gb的格式显示信息
[root@localhost ~]# free 
              total        used        free      shared  buff/cache   available
Mem:        2028088      703304       80620       21132     1244164     1057108
Swap:       2097148           0     2097148

查看硬盘情况

df

uname 系统和内核

uname -a  :所有系统相关的信息,包括下面的数据都会被列出来;
Linux localhost 3.10.0-957.el7.x86_64 1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

uname -s  :系统核心名称
linux
uname -r  :核心的版本
3.10.0-957.el7.x86_64

uptime 查看系统启动时间与工作负载

uptime 
                              平均负荷  :  1分钟  5分钟  15分钟
21:17:41 up 13:41,  4 users,  load average: 0.00, 0.01, 0.05

Ps:系统的平均负荷在0.7左右为理想状态(单核)。若为两核,就是1.4

dmesg 分析核心产生的讯息

dmesg

/proc/* 系统每个进程都会在该目录下产生一个进程名的目录

因此,查看该目录下的某些文件会得到一些系统信息

cat /proc/cpuinfo #本机的 CPU 的相关信息,包含频率、类型与运算功能等
cat /proc/cmdline  #了解指令是如何启动的
cat /proc/devices  #记录了系统各个主要设备的主要设备代号
cat /proc/filesystems   #目前系统已经载入的文件系统
cat /proc/interrupts   #目前系统上面的 IRQ 分配状态
cat /proc/ioports    #目前系统上面各个设备所配置的 I/O 位址
cat /proc/modules  #Linux 已经载入的模块列表,也可以想成是驱动程序啦
cat /proc/swaps  #系统挂载入的内存的地方
cat /proc/partitions   #会出现目前所有的硬盘信息划分情况,如同fdisk -l 一样
cat /proc/bus/*   #一些总线的设备,还有 USB 的设备也记录在此

CPUinfo CPU信息

cat /proc/cpuinfo  
processor   : 0    逻辑CPU的标识
vendor_id   : GenuineIntel
cpu family  : 6
model       : 94
model name  : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz    真实CPU的型号信息
stepping    : 3
microcode   : 0xc6
cpu MHz     : 2591.999
cache size  : 6144 KB
physical id : 0          真实CPU的标识
siblings    : 1              
core id     : 0
cpu cores   : 1            真实CPU的内核数
apicid      : 0
initial apicid  : 0

Ps:这里的0,1表示的插口的id,
内容很多,所以我们需要过滤出我们需要的信息

grep 'model name' /proc/cpuinfo | uniq   #查询CPU型号
grep 'physical id' /proc/cpuinfo | sort -u | wc -l  #查询物理CPU个数
grep 'cpu cores' /proc/cpuinfo | uniq   #查询出每个CPU的核心数
grep "processor"  /proc/cpuinfo  | wc -l  #查询总逻辑CPU个数

iostat 监视硬盘和CPU情况

iostat 
Linux 3.10.0-957.el7.x86_64 (localhost)     07/30/2019  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle            cpu信息
           0.80    0.19    1.20    1.64    0.00   96.16

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn         硬盘信息
sda               4.55       343.70        17.08    1038040      51588
scd0              0.01         0.35         0.00       1050          0
dm-0              4.52       339.42        16.40    1025119      49540
dm-1              0.03         0.82         0.00       2468          0

详细情况:https://shockerli.net/post/linux-tool-iostat/

文件打包压缩

gzip

gzip   [-vd]    rourou
-v   压缩时候显示压缩比
-d   解压
zcat    rourou.gz   #查看压缩文件的内容
zgrep abc rouoru.gz    #搜索压缩文件的关键字位置
zless   rourou.gz      #浏览文件的内容
gzip -c rourou > rourou.gz    #压缩是保留源文件,默认为删除。反之,解压时也可以使用

bzip2

bzip2 [-cdkzv#] rourou.bz2
 -c  :将压缩的过程产生的数据输出到屏幕上!
-d  :解压缩的参数
-k  :保留原始文件,而不会删除原始的文件喔!
-v  :可以显示出原文件/压缩文件的压缩比等信息;
-#  :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快
bzcat    rourou.bz2      #查看文件内容
bzless   rourou.bz2    #查看文件内容

tar 文件打包

由于压缩只能单个文件,所以需要先打包成单个文件在压缩


-z  :通过 gzip  的支持进行压缩/解压缩:此时文件名最好为 *.tar.gz
-j  :通过 bzip2 的支持进行压缩/解压缩:此时文件名最好为 *.tar.bz2
-J  :通过 xz    的支持进行压缩/解压缩:此时文件名最好为 *.tar.xz
 以上 3 个 选项互斥

日志轮转

/var/log/messages
:这个文件相当的重要,几乎系统发生的错误讯息 (或者是重要的信息) 都会记录在这个文件中; 如果系统发生莫名的错误时,这个文件是应该首先查询的。
/var/log/secure 
:基本上,只要牵涉到“需要输入帐号密码”的软件,那么当登陆时 (不管登陆正确或错误) 都会被记录在此文件中。 su, sudo 等程序、还有网络连线的 ssh, telnet 等程序, 登陆信息都会被记载在这里

日志服务器状态

systemctl status rsyslog.service
● rsyslog.service - System Logging Service
   Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-07-31 09:20:04 CST; 2h 9min ago
     Docs: man:rsyslogd(8)                                            #running说明日志服务器运行正常
           http://www.rsyslog.com/doc/
 Main PID: 7001 (rsyslogd)
    Tasks: 3
   CGroup: /system.slice/rsyslog.service
           └─7001 /usr/sbin/rsyslogd -n

Jul 31 09:20:03 localhost systemd[1]: Starting System Logging Service...
Jul 31 09:20:04 localhost rsyslogd[7001]:  [origin software="rsyslogd" ...t
Jul 31 09:20:04 localhost rsyslogd[7001]: imjournal: fscanf on state fi...]
Jul 31 09:20:04 localhost rsyslogd[7001]: imjournal: ignoring invalid s...]
Jul 31 09:20:04 localhost systemd[1]: Started System Logging Service.
Hint: Some lines were ellipsized, use -l to show in full.
服务类型标识.jpg 警告级别.jpg
/etc/logrotate.conf
主配置文件, 设置的默认值
/etc/logrotate.d/
被包含的子配置文件,可以对某一些服务设置特定的配置

etc/logrotate.conf 的默认值
weekly >==每周对系统的日志文件进行一次 rotate 的工作
rotate 4 >==同类的日志文件,保留 4 份!
create >==创建一个新的空文件,继续记录!
dateext >==可以让被轮转的文件名称加上日期作为文件的后缀名!

compress >==被轮转的到日志文件是否压缩

Ps:实现日志轮转的实验
1.在/etc/logrotate.d/下建立自己的配置文件

2.配置自己配置文件

/var/log/shark1.log {
        monthly              >== 每月一次轮转
        size=10M             >== 文件大小大于 10M 时, 也开始轮转
        rotate 2             >== 日志文件保留 2 个
        compress             >== 对旧的日志文件进行压缩
        sharedscripts        >== 轮转之前需要先被执行命令
        prerotate
                /usr/bin/chattr -a /var/log/shark1.log      >==去掉特殊属性
        endscript
        postrotate
            /usr/bin/chattr +a /var/log/shark1.log     >== 特殊属性,文件内容只能增加不能删除或者修改
        endscript
}

3.强制执行轮转

logrotate -vf    /etc/logrotate.conf
-v 显示轮转的详情
-f 立刻进行一次轮转

FTP

TCP21 命令传输端口
TCP20 数据传输端口

服务器设置

yum install   vsftpd   安装服务端软件
systemctl  start  vsftpd    启动服务
 ss    -ntal              查看监听端口
输入中应该有 21 号端口被监听
LISTEN      0      32      *:21                  *:*

配置文件

port_enable=YES|NO
如果你要在数据连接时取消PORT模式时,设此选项为NO。默认值为YES。

connect_from_port_20=YES|NO
控制以PORT模式进行数据传输时是否使用20端口(ftp-data)。YES使用,NO不使用。
默认值为NO,但RHEL 自带的vsftpd.conf文件中此参数设为YES。 

ftp_data_port=port number
设定ftp数据传输端口值(ftp-data)。默认值为20。此参数用于PORT FTP模式。

port_promiscuous=YES|NO
默认值为NO。为YES时,取消PORT安全检查。该检查确保外出的数据只能连接到客户端上。

pasv_enable=YES|NO 
YES,允许数据传输时使用PASV模式。NO,不允许使用PASV模式。默认值为YES。 

pasv_min_port=port number
设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。

pasv_max_port=port number 
把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高。
 
pasv_promiscuous=YES|NO
此选项激活时,将关闭PASV模式的安全检查。该检查确保数据连接和控制连接是来自同一个IP地址。小心打开此选项。此选项唯一合理的用法是存在于由安全隧道方案构成的组织中。默认值为NO。
 
 pasv_address=
此选项为一个数字IP地址,作为PASV命令的响应。默认值为none,即地址是从呼入的连接套接字(incoming connectd socket)中获取 

FTP服务器的用户分类

  1. 匿名用户的配置选项
anonymous_enable=YES|NO  
控制是否允许匿名用户登录,YES允许,NO不允许,默认值为YES。
 
 ftp_username=   
匿名用户所使用的系统用户名。默认下,此参数在配置文件中不出现,值为ftp
 
no_anon_password=YES|NO  
控制匿名用户登入时是否需要密码,YES不需要,NO需要。默认值为NO。

 deny_email_enable=YES|NO  
此参数默认值为NO。当值为YES时,拒绝使用banned_email_file参数指定文件中所列出的e-mail地址进行登录的匿名用户。
即,当匿名用户使用 banned_email_file 文件中所列出的e-mail进行登录时,被拒绝。
显然,这对于阻击某些Dos攻击有效。当此参数生效时,需追加banned_email_file参数 

 banned_email_file=/etc/vsftpd.banned_emails   
指定包含被拒绝的e-mail地址的文件,默认文件为/etc/vsftpd.banned_emails。 

 anon_root=
设定匿名用户的根目录,即匿名用户登入后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/。

anon_world_readable_only=YES|NO   
控制是否只允许匿名用户下载可阅读文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。默认值为YES。 
 
anon_upload_enable=YES|NO  
控制是否允许匿名用户上传文件,YES允许,NO不允许,默认是不设值,即为NO。
除了这个参数外,匿名用户要能上传文件,还需要两条件:
一、write_enable=YES;
二、在文件系统上,目录有写权限。 


 anon_mkdir_write_enable=YES|NO   
 控制是否允许匿名用户创建新目录,YES允许,NO不允许,默认是不设值,即为NO。当然在文件系统上,FTP匿名用户必需对新目录的上层目录拥有写权限。 • 如果要设定为 YES, 那么 anony_other_write_enable 必须设定为 YES

anon_other_write_enable=YES|NO 
控制匿名用户是否拥有除了上传和新建目录之外的其他权限,如删除、更名等。YES拥有,NO不拥有,默认值为NO。

chown_uploads=YES|NO   
是否修改匿名用户所上传文件的所属主。YES,匿名用户所上传的文件的所有权将改为另外一个不同的用户所有,用户由chown_username参数指定。此选项默认值为NO 
  
chown_username=whoever   
指定拥有匿名用户所上传文件的所属主的用户。此参数与chown_uploads一起用。不推荐使用root用户。

2.本地用户配置选项

local_enable=YES|NO   
控制服务器的本地用户是否可以登录vsftpd。默认值为YES。

local_root=   
定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。默认值为无此配置语句。

user_config_dir=   
定义用户个人配置文件所在的目录。用户的个人配置文件为该目录下的同名文件。个人配置文件的格式与vsftpd.conf格式相同。
例如定义user_config_dir=/etc/vsftpd/userconf,并且主机上有用户zenxiaoxian,那我们可以在user_config_dir的目录新增名为zenxiaoxian的文件。当用户zenxiaoxian登入时,VSFTPD则会读取user_config_dir下zenxiaoxian这个文件中的设定值,应用于用户zenxiaoxian。默认值为无 

3.虚拟用户配置选项

guest_enable=YES|NO   
若是启动这项功能,所有的非匿名登入者都视为guest。默认值为关闭。 
 
guest_username= 
定义VSFTPD的虚拟用户在系统中所映射的本地用户名。默认值为ftp。 

4.用户的登陆控制

pam_service_name=vsftpd
指出VSFTPD进行PAM认证时所使用的PAM配置文件名,默认值是vsftpd,默认PAM配置文件是  /etc/pam.d/vsftpd。 

5.用户目录控制

chroot_list_enable=YES|NO  
锁定某些用户在自家目录中。即当这些用户登录后,不可以转到系统的其他目录,只能在自家目录(及其子目录)下。具体的用户在chroot_list_file参数所指定的文件中列出。默认值为 注释。   

chroot_list_file=/etc/vsftpd/chroot_list  
指出被锁定在自家目录中的用户的列表文件。文件格式为一行一用户。
通常该文件是/etc/vsftpd/chroot_list。此选项默认不设置。  

chroot_local_users=YES|NO  
将本地用户锁定在自家目录中。
当此项被激活时,chroot_list_enable=YES参数的作用将发生变化,chroot_list_file所指定文件中的用户将不被锁定在自家目录。本参数被激活后,可能带来安全上的冲突 

passwd_chroot_enable   
当此选项激活时,与chroot_local_user选项配合,chroot()容器的位置可以在每个用户的基础上指定。每个用户的容器来源于/etc/passwd中每个用户的自家目录字段。默认值为NO  

tcp_wrappers=YES
支持 TCP Wrappers 的防火墙机制

客户机配置

1.安装软件

yum install -y lftp

2.连接ftp服务器

lftp 10.0.122.111

ls 查看ftp服务器的目录(被限制)
!ls 查询本机的目录
get a.txt 下载文件
mirror pub 下载目录

上一篇下一篇

猜你喜欢

热点阅读