首页 > 其他 > 详细

常用命令

时间:2019-12-30 16:23:03      阅读:74      评论:0      收藏:0      [点我收藏+]

1、重置root密码
#LANG=en_US.UTF-8 \ rd.break
或者LANG=en_US.UTF-8 \ init=/bin/sh
#mount -o remount,rw /sysroot
#chroot /sysroot
#passwd
#touch /.autorelabel
#exit
#reboot
echo "linuxprobe" | passwd --stdin root #系统内设置密码
2、常用的 RPM 软件包命令
#安装软件的命令格式 rpm -ivh filename.rpm
#升级软件的命令格式 rpm -Uvh filename.rpm
#卸载软件的命令格式 rpm -e filename.rpm
#查询软件描述信息的命令格式 rpm -qpi filename.rpm
#列出软件文件信息的命令格式 rpm -qpl filename.rpm
#查询文件属于哪个 RPM 的命令格式 rpm -qf filename.rpm

3、常见的 Yum 命令
yum repolist all #列出所有仓库
yum list all 软件包名称 #列出仓库中所有软件包
yum info 软件包名称 #查看软件包信息
yum install 软件包名称 #
yum reinstall 软件包名称 #
yum update 软件包名称 #
yum remove软件包名称 #
yum clean all #清除所有仓库缓存
yum check-update #检查可更新有软件包
yum grouplist #查看系统中已安装的软件包组
yum groupinstall 软件包组 #安装指定的软件包组
yum groupremove 软件包组 #移除指定的软件包组
yum groupinfo 软件包组 #查询指定的软件包组信息

4、date命令
date "+%Y-%m-%d %H:%M:%S" #按照“年-月-日 小时:分钟:秒”的格式显示时间
date -s "20170901 8:30:00" #修改时间
date "+%j" #查看今天是当年中的第几天

5、wget命令
-b #后台下载模式
-p #下载到指定目录
-t #最大尝试次数
-c #断点续传
-P #下载页面内所有资源
-r #递归下载
wget -rp www.baidu.com

6、pidof命令
pidof sshd #查看此进程PID号

7、kill命令
[root@linuxprobe ~]# pidof httpd
13581 13580 13579 13578 13577 13576
[root@linuxprobe ~]# killall httpd 删除所有PID
[root@linuxprobe ~]# kill -9 13577 强制删除

8、uptime命令
用于查看系统的负载信息,格式为 uptime。

9、free
free -h #用于显示当前系统中内存的使用量信息

10、last 命令
用于查看所有系统的登录记录

11、sosreport 命令
用于收集系统配置及架构信息并输出诊断文档

12、cat 命令
#cat -n initial-setup-ks.cfg 用于查看纯文本文件

13、head 命令
#head -n 20 initial-setup-ks.cfg 用于查看纯文本文档的前 N 行

14、tail 命令
tail -n 20 initial-setup-ks.cfg #用于查看纯文本文档的后 N 行
tail -f /var/log/messages #持续刷新内容

15、tr 命令
cat anaconda-ks.cfg | tr [a-z] [A-Z] #用于替换文本文件中的字符

16、wc 命令
-l #只显示行数
-w #只显示单词数
-c #只显示字节数
[root@linuxprobe ~]# wc -l /etc/passwd
38 /etc/passwd

17、cut 命令
cut -d: -f1 /etc/passwd

18、diff 命令
[root@linuxprobe ~]# diff -c diff_A.txt diff_B.txt

19、touch 命令
-a #修改“读取时间”(atime)
-m #修改“修改时间”(mtime)
-d #同时修改atime与mtime
[root@linuxprobe ~]# touch -d "2017-05-04 15:44" anaconda-ks.cfg
[root@linuxprobe ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1260 May 4 15:44 anaconda-ks.cfg

20、cp 命令
-p 保留原始文件的属性
-d 若对象为“链接文件”,则保留该“链接文件”的属性
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 相当于-pdr(p、d、r为上述参数)
21、dd命令
if 输入的文件名称
of 输出的文件名称
bs 设置每个“块”的大小
count 设置要复制“块”的个数
[root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M
[root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso

22、打包压缩
参数 作用
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
[root@linuxprobe ~]# tar -zcvf etc.tar.gz /etc
[root@linuxprobe ~]# mkdir /root/etc
[root@linuxprobe ~]# tar -zxvf etc.tar.gz -C /root/etc
[root@linuxprobe ~]# tar -jcvf etc.tar.bz2 /etc
[root@linuxprobe ~]# mkdir /root/etc
[root@linuxprobe ~]# tar -jxvf etc.tar.bz2 -C /root/etc

23、grep命令
参数 作用
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择—仅列出没有“关键词”的行
[root@linuxprobe ~]# grep /sbin/nologin /etc/passwd

24、find命令
参数 作用
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件f1新但比f2旧的文件
--type b/d/c/p/l/f 匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune 忽略某个目录
-exec …… {}\; 后面可跟用于进一步处理搜索结果的命令(下文会有演示)
[root@linuxprobe ~]# find /etc -name "host*" -print
[root@linuxprobe ~]# find / -perm -4000 -print
[root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults/ \;

25、useradd命令
参数 作用
-d 指定用户的家目录(默认为/home/username)
-e 账户的到期时间,格式为YYYY-MM-DD.
-u 指定该用户的默认UID
-g 指定一个初始的用户基本组(必须已存在)
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户的默认Shell解释器
[root@linuxprobe ~]# useradd -d /home/linux -u 8888 -s /sbin/nologin linuxprobe
[root@linuxprobe ~]# id linuxprobe
uid=8888(linuxprobe) gid=8888(linuxprobe) groups=8888(linuxprobe)

26、groupadd命令
[root@linuxprobe ~]# groupadd ronny

邮件的格式与发送:
(1)# echo "Content" | mail -s "Subject" linuxprobe
(2)# mail -s "Readme" root@linuxprobe.com << over
> I think linux is very practical
> I hope to learn more
> can you teach me ?
> over
alias别名用法
# alias hello=‘echo "This is a book."‘ 临时生效
# unalias hello 取消别名设置

# vim /etc/profile
alias hello=‘echo "This is a book."‘
# source /etc/profile 永久生效

建立本地yum仓库:
# cd /etc/yum.repos.d
#vim centos.repo
[centos]
name=centos
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
# mkdir /media/cdrom
# mount /dev/cdrom /media/cdrom
#vim /etc/fstab 开机自动挂载
/dev/cdrom /media/cdrom iso9660 defaults 0 0

计划任务:
一次性计划任务:at
# at 23:30
at > systemctl restart httpd
at > 此处请同时按下 Ctrl + D 组合键来结束编写计划任务
查看任务:at -l
删除任务:atrm -3 按编号直接删除任务
长期性计划任务:crontab -e (格式 如下)
* * * * *
分钟 小时 每日 每月 每周 执行的命令
查看示例:crontab -l
25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
需要说明的是,除了用逗号( ,)来分别表示多个时间段,例如“8,9,12”表示 8 月、 9 月
和 12 月。还可以用减号( -)来表示一段连续的时间周期(例如字段“日”的取值为“12-15”,
则表示每月的 12~15 日)。以及用除号( /)表示执行任务的间隔时间(例如“*/2”表示每隔
2 分钟执行一次任务)。


27、usermod命令:
参数 作用
-c 填写用户账户的备注信息
-d -m 参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e 账户的到期时间,格式为YYYY-MM-DD
-g 变更所属用户组
-G 变更扩展用户组
续表
参数 作用
-L 锁定用户禁止其登录系统
-U 解锁用户,允许其登录系统
-s 变更默认终端
-u 修改用户的UID
[root@linuxprobe ~]# usermod -G root linuxprobe
[root@linuxprobe ~]# id linuxprobe
uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)
[root@linuxprobe ~]# usermod -u 8888 linuxprobe
[root@linuxprobe ~]# id linuxprobe
uid=8888(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)

28、passwd命令
参数 作用
-l 锁定用户,禁止其登录
-u 解除锁定,允许用户登录
--stdin 允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username
-d 使该用户可用空密码登录系统
-e 强制用户在下次登录时修改密码
-S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称
[root@linuxprobe ~]# passwd -l linuxprobe
Locking password for user linuxprobe.
passwd: Success
[root@linuxprobe ~]# passwd -S linuxprobe
linuxprobe LK 2017-12-26 0 99999 7 -1 (Password locked.)
[root@linuxprobe ~]# passwd -u linuxprobe
Unlocking password for user linuxprobe.
passwd: Success
[root@linuxprobe ~]# passwd -S linuxprobe
linuxprobe PS 2017-12-26 0 99999 7 -1 (Password set, SHA512 crypt.)

29、userdel命令
参数 作用
-f 强制删除用户
-r 同时删除用户及用户家目录
[root@linuxprobe ~]# id linuxprobe
uid=8888(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)
[root@linuxprobe ~]# userdel -r linuxprobe
[root@linuxprobe ~]# id linuxprobe
id: linuxprobe: no such user

30、chattr命令
参数 作用
i 无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
a 仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
S 文件内容在变更后立即同步到硬盘(sync)
s 彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)
A 不再修改这个文件或目录的最后访问时间(atime)
续表
参数 作用
b 不再修改文件或目录的存取时间
D 检查压缩文件中的错误
d 使用dump命令备份时忽略本文件/目录
c 默认将文件或目录进行压缩
u 当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t 让文件系统支持尾部合并(tail-merging)
X 可以直接访问压缩文件中的内容
[root@linuxprobe ~]# echo "for Test" > linuxprobe
[root@linuxprobe ~]# chattr +a linuxprobe
[root@linuxprobe ~]# rm linuxprobe
rm: remove regular file ‘linuxprobe’? y
rm: cannot remove ‘linuxprobe’: Operation not permitted

31、lsattr命令
lsattr命令用于显示文件的隐藏权限
[root@linuxprobe ~]# lsattr linuxprobe
-----a---------- linuxprobe
[root@linuxprobe ~]# chattr -a linuxprobe
[root@linuxprobe ~]# lsattr linuxprobe
---------------- linuxprobe
[root@linuxprobe ~]# rm linuxprobe
rm: remove regular file ‘linuxprobe’? y

32、setfacl命令
[root@linuxprobe ~]# setfacl -Rm u:linuxprobe:rwx /root
[root@linuxprobe ~]# su - linuxprobe
Last login: Sat Mar 21 15:45:03 CST 2017 on pts/1
[linuxprobe@linuxprobe ~]$ cd /root
[linuxprobe@linuxprobe root]$ ls
anaconda-ks.cfg Downloads Pictures Public
[linuxprobe@linuxprobe root]$ cat anaconda-ks.cfg
[linuxprobe@linuxprobe root]$ exit
备注:更改属主、属组、其它用户的权限;
[root@linuxprobe ~]# setfacl -Rm u:linuxprobe:rwx /root
[root@linuxprobe ~]# setfacl -Rm g:linuxprobe:rwx /root
[root@linuxprobe ~]# setfacl -Rm o:linuxprobe:rwx /root
取消权限:
[root@linuxprobe ~]# setfacl -b /root
[root@linuxprobe ~]# setfacl -b /root/hello.txt


33、getfacl命令
[root@linuxprobe ~]# getfacl /root
getfacl: Removing leading ‘/‘ from absolute path names
# file: root
# owner: root
# group: root
user::r-x
user:linuxprobe:rwx
group::r-x
mask::rwx
other::---

文件的特殊权限
(1)SUID:临时拥有属主的权限
# chmod u+s /etc/passwd
(2)SGID:让执行者临时拥有属组的权限,创建的文件自动继承该目录的用户组
# chmod -Rf g+s testdir/
(3)SBIT:该目录的所有者才能删除里面的文件,其它用户无权删除文件。
# chmod -R o+t testdir/

su命令与sudo服务:
(1)编辑文档:/etc/sudoers 或者直接输入命令 visudo
#vim /etc/sudoers
asd ALL=(ALL) ALL 设置asd用户的所有权限,切换时需要密码。
asd ALL=NOPASSWD: ALL 设置asd用户的所有权限,切换时无需密码。
asd ALL=NOPASSWD: /usr/bin/ls 设置asd用户查看权限,切换时无需密码。

34、fdisk命令
参数 作用
m 查看全部可用的参数
n 添加新的分区
d 删除某个分区信息
l 列出所有可用的分区类型
t 改变某个分区的类型
p 查看分区信息
w 保存并退出
q 不保存直接退出
[root@linuxprobe ~]# fdisk /dev/sdb
[root@linuxprobe ]# file /dev/sdb1
/dev/sdb1: cannot open (No such file or directory)
[root@linuxprobe ]# partprobe
[root@linuxprobe ]# partprobe
[root@linuxprobe ]# file /dev/sdb1
/dev/sdb1: block special
[root@linuxprobe ~]# mkfs.xfs /dev/sdb1

35、du命令
[root@linuxprobe ~]# du -sh /newFS/
33M /newFS/

36、添加交换分区
[root@linuxprobe ~]# mkswap /dev/sdb2
备注:取消交换分区命令:mkswapoff /dev/sdb2
Setting up swapspace version 1, size = 5242876 KiB
no label, UUID=2972f9cb-17f0-4113-84c6-c64b97c40c75
[root@linuxprobe ~]# swapon /dev/sdb2
备注:取消交换分区挂载:swapoff /dev/sdb2

37、磁盘容量配额
备注:在/etc/fstab 中defaults后面加入uquota 这个选项才可以使用该功能
[root@linuxprobe ~]# useradd tom
[root@linuxprobe ~]# chmod -Rf o+w /boot
[root@linuxprobe ~]# xfs_quota -x -c ‘limit bsoft=3m bhard=6m isoft=3 ihard=6
tom‘ /boot
[root@linuxprobe ~]# xfs_quota -x -c report /boot
User quota on /boot (/dev/sda1) Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 95084 0 0 00 [--------]
tom 0 3072 6144 00 [--------]
[root@linuxprobe ~]# su - tom
[tom@linuxprobe ~]$ dd if=/dev/zero of=/boot/tom bs=5M count=1
1+0 records in
1+0 records out
5242880 bytes (5.2 MB) copied, 0.123966 s, 42.3 MB/s
[tom@linuxprobe ~]$ dd if=/dev/zero of=/boot/tom bs=8M count=1
dd: error writing ‘/boot/tom’: Disk quota exceeded
1+0 records in
0+0 records out
6291456 bytes (6.3 MB) copied, 0.0201593 s, 312 MB/s
[root@linuxprobe ~]# edquota -u tom
Disk quotas for user tom (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda 6144 3072 8192 1 3 6
[root@linuxprobe ~]# su - tom
Last login: Mon Sep 7 16:43:12 CST 2017 on pts/0
[tom@linuxprobe ~]$ dd if=/dev/zero of=/boot/tom bs=8M count=1
1+0 records in
1+0 records out
8388608 bytes (8.4 MB) copied, 0.0268044 s, 313 MB/s
[tom@linuxprobe ~]$ dd if=/dev/zero of=/boot/tom bs=10M count=1
dd: error writing ‘/boot/tom’: Disk quota exceeded
1+0 records in
0+0 records out
8388608 bytes (8.4 MB) copied, 0.167529 s, 50.1 MB/s

38、软硬方式链接
[root@linuxprobe ~]# ln -s readme.txt readit.txt 可跨区链接,删除原文件后失效。
[root@linuxprobe ~]# ln readme.txt readit.txt 不可跨区链接,删除原文件后仍有效。

39、LVM(逻辑卷管理器)
常用的LVM部署命令
功能/命令 物理卷管理 卷组管理 逻辑卷管理
扫描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
显示 pvdisplay vgdisplay lvdisplay
删除 pvremove vgremove lvremove
扩展   vgextend lvextend
缩小   vgreduce lvreduce
部署逻辑卷
第1步:让新添加的两块硬盘设备支持LVM技术。
[root@linuxprobe ~]# pvcreate /dev/sdb /dev/sdc
第2步:把两块硬盘设备加入到storage卷组中,然后查看卷组的状态。
[root@linuxprobe ~]# vgcreate storage /dev/sdb /dev/sdc
第3步:切割出一个约为150MB的逻辑卷设备。
[root@linuxprobe ~]# lvcreate -n vo -l 37 storage
第4步:把生成好的逻辑卷进行格式化,然后挂载使用。
[root@linuxprobe ~]# mkfs.ext4 /dev/storage/vo
[root@linuxprobe ~]# mkdir /linuxprobe
[root@linuxprobe ~]# mount /dev/storage/vo /linuxprobe
第5步:查看挂载状态,并写入到配置文件,使其永久生效。
[root@linuxprobe ~]# echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /
etc/fstab
扩容逻辑卷
[root@linuxprobe ~]# umount /linuxprobe
第1步:把上一个实验中的逻辑卷vo扩展至290MB。
[root@linuxprobe ~]# lvextend -L 290M /dev/storage/vo
第2步:检查硬盘完整性,并重置硬盘容量。
[root@linuxprobe ~]# e2fsck -f /dev/storage/vo
[root@linuxprobe ~]# resize2fs /dev/storage/vo
第3步:重新挂载硬盘设备并查看挂载状态。
[root@linuxprobe ~]# mount -a
[root@linuxprobe ~]# df -h
缩小逻辑卷
[root@linuxprobe ~]# umount /linuxprobe
第1步:检查文件系统的完整性。
[root@linuxprobe ~]# e2fsck -f /dev/storage/vo
第2步:把逻辑卷vo的容量减小到120MB。
[root@linuxprobe ~]# resize2fs /dev/storage/vo 120M
[root@linuxprobe ~]# lvreduce -L 120M /dev/storage/vo
第3步:重新挂载文件系统并查看系统状态。
[root@linuxprobe ~]# mount -a
[root@linuxprobe ~]# df -h
逻辑卷快照
[root@linuxprobe ~]# vgdisplay
[root@linuxprobe ~]# echo "Welcome to Linuxprobe.com" > /linuxprobe/readme.txt
[root@linuxprobe ~]# ls -l /linuxprobe
第1步:使用-s参数生成一个快照卷,使用-L参数指定切割的大小。另外,还需要在命令后面写上是针对哪个逻辑卷执行的快照操作。
[root@linuxprobe ~]# lvcreate -L 120M -s -n SNAP /dev/storage/vo
[root@linuxprobe ~]# lvdisplay
第2步:在逻辑卷所挂载的目录中创建一个100MB的垃圾文件,然后再查看快照卷的状态。可以发现存储空间占的用量上升了。
[root@linuxprobe ~]# dd if=/dev/zero of=/linuxprobe/files count=1 bs=100M
第3步:为了校验SNAP快照卷的效果,需要对逻辑卷进行快照还原操作。
[root@linuxprobe ~]# umount /linuxprobe
[root@linuxprobe ~]# lvconvert --merge /dev/storage/SNAP
第4步:快照卷会被自动删除掉,并且刚刚在逻辑卷设备被执行快照操作后再创建出来的100MB的垃圾文件也被清除了。
[root@linuxprobe ~]# mount -a
[root@linuxprobe ~]# ls /linuxprobe/
lost+found readme.txt
删除逻辑卷
第1步:取消逻辑卷与目录的挂载关联,删除配置文件中永久生效的设备参数。
[root@linuxprobe ~]# umount /linuxprobe
[root@linuxprobe ~]# vim /etc/fstab
第2步:删除逻辑卷设备,需要输入y来确认操作。
[root@linuxprobe ~]# lvremove /dev/storage/vo
第3步:删除卷组,此处只写卷组名称即可,不需要设备的绝对路径。
[root@linuxprobe ~]# vgremove storage
第4步:删除物理卷设备。
[root@linuxprobe ~]# pvremove /dev/sdb /dev/sdc
[root@linuxprobe ~]# pvscan

40、iptables
参数 作用
-P 设置默认策略
-F 清空规则链
-L 查看规则链
-A 在规则链的末尾加入新规则
-I num 在规则链的头部加入新规则
-D num 删除某一条规则
-s 匹配来源地址IP/MASK,加叹号“!”表示除这个IP外
-d 匹配目标地址
-i网卡名称 匹配从这块网卡流入的数据
-o网卡名称 匹配从这块网卡流出的数据
-p 匹配协议,如TCP、UDP、ICMP
--dport num 匹配目标端口号
--sport num 匹配来源端口号
[root@linuxprobe ~]# iptables -L
[root@linuxprobe ~]# iptables -F
把INPUT规则链的默认策略设置为拒绝:
[root@linuxprobe ~]# iptables -P INPUT DROP
[root@linuxprobe ~]# iptables -L
向INPUT链中添加允许ICMP流量进入的策略规则:
[root@linuxprobe ~]# iptables -I INPUT -p icmp -j ACCEPT
删除INPUT规则链中刚刚加入的那条策略(允许ICMP流量),并把默认策略设置为允许:
[root@linuxprobe ~]# iptables -D INPUT 1
[root@linuxprobe ~]# iptables -P INPUT ACCEPT
将INPUT规则链设置为只允许指定网段的主机访问本机的22端口,拒绝来自其他所有主机的流量:
[root@linuxprobe ~]# iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT
[root@linuxprobe ~]# iptables -A INPUT -p tcp --dport 22 -j REJECT
向INPUT规则链中添加拒绝所有人访问本机12345端口的策略规则:
[root@linuxprobe ~]# iptables -I INPUT -p tcp --dport 12345 -j REJECT
[root@linuxprobe ~]# iptables -I INPUT -p udp --dport 12345 -j REJECT
向INPUT规则链中添加拒绝192.168.10.5主机访问本机80端口(Web服务)的策略规则:
[root@linuxprobe ~]# iptables -I INPUT -p tcp -s 192.168.10.5 --dport 80 -j REJECT
向INPUT规则链中添加拒绝所有主机访问本机1000~1024端口的策略规则:
[root@linuxprobe ~]# iptables -A INPUT -p tcp --dport 1000:1024 -j REJECT
[root@linuxprobe ~]# iptables -A INPUT -p udp --dport 1000:1024 -j REJECT
执行保存命令:
[root@linuxprobe ~]# service iptables save

41、firewalld
firewalld中常用的区域名称及策略规则
区域 默认策略规则
trusted 允许所有的数据包
home 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许流量
internal 等同于home区域
work 拒绝流入的流量,除非与流出的流量数相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许流量
public 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量
external 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
dmz 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
block 拒绝流入的流量,除非与流出的流量相关
drop 拒绝流入的流量,除非与流出的流量相关
firewall-cmd命令中使用的参数以及作用
参数 作用
--get-default-zone 查询默认的区域名称
--set-default-zone=<区域名称> 设置默认的区域,使其永久生效
--get-zones 显示可用的区域
--get-services 显示预先定义的服务
--get-active-zones 显示当前正在使用的区域与网卡名称
--add-source= 将源自此IP或子网的流量导向指定的区域
--remove-source= 不再将源自此IP或子网的流量导向某个指定区域
--add-interface=<网卡名称> 将源自该网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称> 将某个网卡与区域进行关联
--list-all 显示当前区域的网卡配置参数、资源、端口以及服务等信息
--list-all-zones 显示所有区域的网卡配置参数、资源、端口以及服务等信息
--add-service=<服务名> 设置默认区域允许该服务的流量
--add-port=<端口号/协议> 设置默认区域允许该端口的流量
--remove-service=<服务名> 设置默认区域不再允许该服务的流量
--remove-port=<端口号/协议> 设置默认区域不再允许该端口的流量
--reload 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
--panic-on 开启应急状况模式
--panic-off 关闭应急状况模式
查看firewalld服务当前所使用的区域:
[root@linuxprobe ~]# firewall-cmd --get-default-zone
public
查询eno16777728网卡在firewalld服务中的区域:
[root@linuxprobe ~]# firewall-cmd --get-zone-of-interface=eno16777728
public
把firewalld服务中eno16777728网卡的默认区域修改为external,并在系统重启后生效。分别查看当前与永久模式下的区域名称:
[root@linuxprobe ~]# firewall-cmd --permanent --zone=external --change-interface=
eno16777728
success
[root@linuxprobe ~]# firewall-cmd --get-zone-of-interface=eno16777728
public
[root@linuxprobe ~]# firewall-cmd --permanent --get-zone-of-interface=eno16777728
external
把firewalld服务的当前默认区域设置为public:
[root@linuxprobe ~]# firewall-cmd --set-default-zone=public
success
[root@linuxprobe ~]# firewall-cmd --get-default-zone
public
启动/关闭firewalld防火墙服务的应急状况模式,阻断一切网络连接(当远程控制服务器时请慎用):
[root@linuxprobe ~]# firewall-cmd --panic-on
success
[root@linuxprobe ~]# firewall-cmd --panic-off
success
查询public区域是否允许请求SSH和HTTPS协议的流量:
[root@linuxprobe ~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@linuxprobe ~]# firewall-cmd --zone=public --query-service=https
no
把firewalld服务中请求HTTPS协议的流量设置为永久允许,并立即生效:
[root@linuxprobe ~]# firewall-cmd --zone=public --add-service=https
success
[root@linuxprobe ~]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@linuxprobe ~]# firewall-cmd --reload
success
把firewalld服务中请求HTTP协议的流量设置为永久拒绝,并立即生效:
[root@linuxprobe ~]# firewall-cmd --permanent --zone=public --remove-service=http
success
[root@linuxprobe ~]# firewall-cmd --reload
success
把在firewalld服务中访问8080和8081端口的流量策略设置为允许,但仅限当前生效:
[root@linuxprobe ~]# firewall-cmd --zone=public --add-port=8080-8081/tcp
success
[root@linuxprobe ~]# firewall-cmd --zone=public --list-ports
8080-8081/tcp
把原本访问本机888端口的流量转发到22端口,要且求当前和长期均有效:
流量转发命令格式为firewall-cmd --permanent --zone=<区域> --add-forward-port=port= <源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
[root@linuxprobe ~]# firewall-cmd --permanent --zone=public --add-forward-port=
port=888:proto=tcp:toport=22:toaddr=192.168.10.10
success
[root@linuxprobe ~]# firewall-cmd --reload
success
在客户端使用ssh命令尝试访问192.168.10.10主机的888端口:
[root@client A ~]# ssh -p 888 192.168.10.10
在firewalld服务中配置一条富规则,使其拒绝192.168.10.0/24网段的所有用户访问本机的ssh服务(22端口):
[root@linuxprobe ~]# firewall-cmd --permanent --zone=public --add-rich-rule="
rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success
[root@linuxprobe ~]# firewall-cmd --reload
success
在客户端使用ssh命令尝试访问192.168.10.10主机的ssh服务(22端口):
[root@client A ~]# ssh 192.168.10.10
Connecting to 192.168.10.10:22...
Could not connect to ‘192.168.10.10‘ (port 22): Connection failed.
图形管理工具:firewall-config
备注:常用相关查询命令
# firewall-cmd –list-all-zones 列出全部启用的区域的特性
# firewall-cmd –list-forward-port 查询端口转发情况
# firewall-cmd –list-port 查询已开放端口情况
# firewall-cmd –list-service 查询已开放服务情况
firewall-cmd –list-all 查询所有规则情况

42、TCP Wrappers
TCP Wrappers服务的控制列表文件中常用的参数
客户端类型 示例 满足示例的客户端列表
单一主机 192.168.10.10 IP地址为192.168.10.10的主机
指定网段 192.168.10. IP段为192.168.10.0/24的主机
指定网段 192.168.10.0/255.255.255.0 IP段为192.168.10.0/24的主机
指定DNS后缀 .linuxprobe.com 所有DNS后缀为.linuxprobe.com的主机
指定主机名称 www.linuxprobe.com 主机名称为www.linuxprobe.com的主机
指定所有客户端 ALL 所有主机全部包括在内
[root@linuxprobe ~]# vim /etc/hosts.deny
格式如下:sshd:*
[root@linuxprobe ~]# vim /etc/hosts.allow
格式如下:sshd:192.168.10.

43、screen会话
-S参数创建会话窗口
-d参数将指定会话进行离线处理
-x参数一次性恢复所有的会话
-ls参数显示当前已有的会话
-wipe参数把目前无法使用的会话删除
[root@linuxprobe ~]# screen -S backup
[root@linuxprobe ~]# screen -ls
[root@linuxprobe ~]# exit
[root@linuxprobe ~]# screen -S linux
[root@linuxprobe ~]# tail -f /var/log/messages
按下ctrl+a+d 中断会话。
还原会话:screen -r PID号或名称
示例创建会话:
[root@client A ~]# ssh 192.168.10.10 连接服务端
[root@client A ~]# screen -S linuxprobe 创建会话
[root@client B ~]# ssh 192.168.10.10 连接服务端
[root@client B ~]# screen -x 打开会话
现在可以实现屏幕共享了,实时会话。


44、sshd服务
[root@linuxprobe ~]# vim /etc/ssh/sshd_config
48 PermitRootLogin no 禁用root登入
安全密钥验证:
[root@linuxprobe ~]# ssh-keygen 本地生成公钥
[root@linuxprobe ~]# ssh-copy-id 192.168.10.10 把公钥发送给服务端
[root@linuxprobe ~]# vim /etc/ssh/sshd_config 编辑服务端配置文件
78 PasswordAuthentication no 取消密码登入
[root@linuxprobe ~]# systemctl restart sshd 重启服务后生效

45、scp命令
scp 命令中可用的参数及作用
-v 显示详细的连接进度
-P 指定远程主机的 sshd 端口号
-r 用于传送文件夹
-6 使用 IPv6 协议
示例:
[root@linuxprobe ~]# scp /root/readme.txt 192.168.10.20:/home 把文件传给远程电脑
[root@linuxprobe ~]# scp 192.168.10.20:/etc/redhat-release /root 远程电脑拷贝文件到本地

常用命令

原文:https://www.cnblogs.com/comprehensive/p/12120035.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!