iptablse -nL
查看防火墙当前状态 getenfore setup
图形界面选择关闭
需要修改文件gedit /etc/selinux/config
SELINUX=disabled getenforce
查看当前selinux状态
[root@allen Desktop]# [当前登录的用户名@主机名 当前工作目录名称]
#表示当前用户身份为超级管理员root $ 表示当前用户身份为普通用户
4.常用命令命令如下 ls
列出当前目录下的内容 cd
切换目录 pwd
print wroking directory 列出当前工作目录 cat
查看文件内容 cat -n 显示文件行号 touch
创建新文件 更新文件的时间标记 echo
标准输出 echo “I love you” > 1901 输出重定向到文件中 mkdir
建立目录 -p 递归建立目录父目录 mv
move 剪切 重命名 cp
copy 拷贝目录的时候需要加上选项 -r 递归 rm
remove 移除 -r 递归删除 -f 强制删除 ln
链接建立 link ln -s 源文件(绝对路径) 链接文件 -s 符号链接
uname -a
:内核版本号查询 fdisk -l
: 查看硬盘及分区 cat /proc/cpuinfo
: 查看系统CPU信息 cat /proc/meminfo
:查看內存信息
压缩解压缩工具 gzip bzip2
find / -size +100M find / -name passwd
dd if=/dev/zero of=/tmp/bigfile bs=1M count=100 in put file 输入文件 zero 全是2进制的0 out put file 输出文件 bs 单位 count 计数器
gzip 文件 压缩文件 gunzip 压缩文件 解压缩
bzip2 文件 压缩文件 bunzip2 压缩文件 解压缩
tar 打包压缩
tar -jcf /root/Desktop/1901class.tar.bz2 1901class/
-j 使用bzip2压缩工具压缩 -z 使用gzip压缩工具压缩 -c create 创建 -f 后面跟新建的文件名
tar -tf /root/Desktop/19class.tar.gz
-t 不解压缩查看文件内容
tar -xf 1901class.tar.gz -C /opt
-x 解压缩并解包 -C 指定解压路径
6.ssh连接对日志文件查看ssh allen@10.0.105.99 /var/log/secure grep 过滤关键字
grep "Failed password" /var/log/secure | awk '{print $11}' | sort
| 管道符号 将前一条命令的输出 作为后一条命令的 处理参数 awk 过滤字段 $11 以空格作为分隔符 第11个字段输出 sort 排序 uniq 统计 -c 显示合并的数量
cat -n /etc/man.config | more 现实带行号的分页查看
tail -f /var/log/secure 跟踪日志变化
wc -l 文件显示文件行数
du -sh 目录名称 统计目录占用磁盘空间大小
7.yum源的安装
cd /etc/yum.repos.d
所有yum源的默认存放目录 mkdir bak mv C* bak
移除所有yum源文件 避免干扰 vim 1901class.repo
建立自己的yum源文件
[1901source] #标签
name=1901 #描述
baseurl=file:/misc/cd #定义依赖关系文件所在位置
gpgcheck=0 #不做密钥对验证
yum remove vim-common
卸载软件 yum install vim-enhanced
安装软件 yum clean all
清除以前的yum源缓存 yum install wireshark-gnome
安装抓包软件
rpm -qpi --scripts
包名 显示详细信息后同时显示包中封装的 脚本 yum源中 gpgcheck=1 启用公钥验证 gpgkey=file:/etc/gki/rpm-gpg/RPM-GPG-KEY-CentOS-6 指定公钥位置
/etc/passwd 保存了系统中所有用户的信息 uid 用户的身份标识0为超级管理员 500-60000普通用户 1-499 程序用户(不能登录系统) root❌0:0:root:/root:/bin/bash
字段1:用户名
字段2:密码占位符
字段3:uid号
字段4:用户的基本组id号
字段5:用户信息记录位置(废弃)
字段6:用户的家目录
字段7:用户登录系统后用什么命令解释器
9.记录系统中用户的密码信息
/etc/shadow 影子 记录系统中用户的密码信息 root: 6 6 6A2$A5p:18129:0:99999:7::: 字段1:用户名 字段2:通过sha-512以及salt值加密后的密文 字段3:距离1970年1月1日密码最近一次的修改时间 字段4:密码的最短有效期 字段5:密码的最长有效期 90 字段6:密码过期前7天警告 字段7:密码的不活跃期 字段8:密码距离1970年1月1日的失效时间
10.组信息/etc/group 保存了组信息
python 进入python命令解释器
>>>import crypt
>>>crypt.crypt("密码","$6$xxxxx")
>>>出现使用salt和sha512加密后的密文,比对密文和你的密码密文是否相同
>>>quit() 退出python
组和用户的关系, 1、用户必须有一个基本组,如果该组中有基本成员,该组不允许被删除。 2、一个用户可以有多个附加组,如果附加组没有基本成员,该组可以被删除。
11.用户操作useradd -u 指定 uid号 -g 指定 基本组 -G 指定 附加组 -s 指定用户登录的命令解释器 -s /sbin/nologin 不允许登录 -s /bin/bash 允许登录
usermod 选项同上
userdel -r 删除用户的家目录
12.组操作groupadd -g 指定gid号 groupmod 选项同上 groupdel 删除组
13.密码操作passwd 用户名 -S 查看用户密码状态 -l 锁定用户 -u 解锁用户密码 -d 删除用户密码 chage -M 90 用户名 修改用户密码的最长有效期
14.启动进程/sbin/initvim /etc/inittab 初始化进程 pid为1 第一个启动的进程 /etc/inittab (运行级别) 0 关机 1 单用户 2 多用户无网络 3 字符模式 4 未启用 5 图形模式 6 重启 id:5:initdefault:
/etc/rcX.d 目录 保存了所有进程启动脚本的链接 K kill 表示该进程在该级别启动时候默认不启动 S start 表示该进程默认启动
chkconfig --list 列出所有开机以后启动的进程名称 chkconfig --level 2345 bluetooth on|off 设定该服务在2345级别默认的启动状态
15.定时计划at一次性计划任务 at 时间 at> 命令 at> ctrl+d 结束编辑
vim /etc/crontab 周期计划任务配置文件
分 时 日 月 周 用户名 命令
0-59 0-23 1-31 1-12 0-7
* * * * *
16.杀死进程
top 命令进入后 输入k 杀模式 输入pid号 以及级别 9 结束进程
17.网络管理配置服务—dns ip 等的配置/etc/init.d/NetworkManager stop 立即关闭 网络管理配置服务 补充:
当前网卡也是可以通信的,但是通过网络管理工具修改IP之后,当前修改操作是不会生效的。那如何消除这个提示呢? 其实,问题的原因是RedHat自己开发的NetworkManager管理工具和/etc/sysconfig/network-scripts/ifcfg-ethx配置不同步造成的。如果要消除这个提示,请关闭NetworkManager服务即可: [root@vdb1 dev]# chkconfig NetworkManager off --永久关闭服务,需要重启 [root@vdb1 dev]# service NetworkManager stop --立即关闭服务,不需要重启 Stopping NetworkManager daemon: [ OK ] 此时,再重新加载network服务即可: [root@vdb1 dev]# service network restart
eth0 ethernet 以太网 0 第一块 ip addr 查看网卡ip ip addr add 10.0.105.xx/24 dev eth0 ip link set eth0 up ip route 查看网关 ip route add default via 10.0.105.1 dns配置 vim /etc/resolv.conf nameserver 114.114.114.114
修改配置文件配置ip地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYEP=Ethernet
ONBOOT=yes #允许network服务管理
BOOTPROTO=none {static|dhcp} 或者ip地址方式
IPADDR=10.0.105.xx
NETMASK=255.255.255.0
GATEWAY=10.0.105.1
DNS1=xxx
DNS2=xxx
/etc/init.d/network restart 重启网络服务 路由转发功能
vim /etc/sysctl.conf 内核的配置文件
net.ipv4.ip_forward = 1 开启
sysctl -p 更新配置文件使其生效
网络地址转换规则 源地址转换
iptables -t nat -I POSTROUTING -p all -s 192.168.1.0/24 -o eth1 -j SNAT --to-source 10.0.105.xxx
18.kali网卡配置文件
vim /etc/network/interfaces
auto eth0
iface eth0 inet static
address 10.0.105.xx
netmask 255.255.255.0
gateway 10.0.105.1
vim /etc/resolv.conf
/etc/init.d/networking restart
19.日志服务器的查看做一个日志服务的错误触发 1、vim /etc/crontab
* * * * * root cd /var/log ; tar -zcf /opt/secure`date +%H%M`.tar.gz secure
每分钟备份文件到指定路径
2、重启 crond服务验证
/etc/init.d/crond restart 验证错误日志记录
3、看日志
cat /var/log/cron 文件中看错误信息
4、修改/etc/rsyslog.conf
53行加入
cron.* /var/log/caimujun 指定日志记录到指定文件
5、重启日志服务配置
/etc/init.d/rsyslog restart 观察caimujun文件是否记录日志
客户机配置
vim /etc/rsyslog.conf
authpriv.* @@172.16.1.254:514 发送登录日志到服务器用tcp协议
/etc/init.d/rsyslog restart 重启服务
服务器配置
$ModLoad imtcp
$InputTCPServerRun 514
:fromhost-ip, isequal, "172.16.1.1" /var/log/client/172.16.1.1.log
:msg, contains, "password" /var/log/client/172.16.1.1.log
:fromhost-ip, startswith, "172.16.1" /var/log/172.xx.log
/etc/init.d/rsyslog restart 重启服务
:属性, 操作匹配, “值” 存放位置 fromhost (按主机名接收) fromhost-ip (按照ip地址接收) msg (按照日志里的信息接收) hostname (按照日志中的主机名接收)
contains 包含 isequal 等于 startswith 以什么什么开头
20.dhcp服务器yum install dhcp
安装dhcp服务
vim /etc/dhcp/dhcpd.conf
修改主配置文件
subnet 192.168.1.0 netmask 255.255.255.0 { #设定工作网段为该网段分配地址
range 192.168.1.100 192.168.1.150; #地址池
option domain-name-servers 192.168.1.254,114.114.114.114; #dns
option routers 192.168.1.254; #网关
default-lease-time 600; #租期
max-lease-time 7200;
}
/etc/init.d/dhcpd restart
重启服务 如果启动报错分析日志 /var/log/message
ss -antupl
查看以开启的端口号,win主机自动获取该网段ip
yum install bind
安装dns服务软件 vim /etc/named.conf
修改主配置文件
listen-on port 53 { 192.168.1.254; }; 指定监听地址
#allow-query { localhost; }; 要注释掉 白名单
dnssec-enable no; 证书过期不做验证
dnssec-validation no;
forwarders {202.106.0.20;}; 可以设定转发dns服务器
/etc/init.d/named restart
重启后
yum install mysql-server
安装服务端 /etc/init.d/mysqld start
观察端口 3306 mysqladmin -u root -p password "123456"
设置密码 确认旧密码:直接回车 mysql -u root -p 输入密码登录
mysql> sql语句时结构查询语句
mysql> show databases; 查看数据
mysql> use mysql;进入数据库
mysql> show tables; 看当前库中有哪些表
mysql> select * from mysql.user; 查看表内容
mysql> desc mysql.user; 查看表结构,可以看到字段类型,以及主键值字段
mysql> select host,user,password from mysql.user; 按照字段查询
mysql> select host,user,password from mysql.user where user="root"; 按条件查询
mysql> select host,user,password from mysql.user where user="root" and host="localhost"; 两个条件同时满足
mysql> select host,user,password from mysql.user limit 3; 查询3行
24.MySQL案例
1、建立名为1901class的库,在库中建立一个名为userlist的表格,字段包括 学号 姓名 电话 。主键值为学号。
mysql>create database 1901class; 数据库建立
mysql>create table 1901class.userlist (num int, primary key (num));
表格建立有字段学号存储数据类型时整数 num字段是主键值(数据不可重复)
写入数据
mysql> insert into 1901class.userlist (num) value (1); 往表中写入数据
删除
mysql> delete from 1901class.userlist where num=1; 根据主键值内容删除
修改表结构
alter
mysql> alter table mysql.userlist add tel char(15);
mysql> alter table 1901class.userlist add name char(20) after num;
mysql> update 1901class.userlist set tel=13901234567; 不加条件就更新所有
mysql> update 1901class.userlist set tel=1380765412,name='cmj' where num=2;
通过主键值精确修改人员信息
2、删除mysql数据库中所有没有密码的用户
mysql> delete from mysql.user where password="";
25.sql 增删改查
查:show 库 , 表
select 字段 from 表 条件; 看表内容 desc 表;
增:create 库 ,表 (字段 属性)
insert into 表名 (字段1,字段2) value (值1,值2);
删除: delete from 表 条件;
drop table 1901class.userlist;
drop database 1901class;
修改:alter table 表名 add|change|modify|drop 字段和属性 ; 修改表结构
update 表名 set 字段=“值” where 条件;
26.修改mysql管理员密码-----先关闭mysql数据库 /etc/init.d/mysqld stop
-----跳过授权列表启动mysql数据库 mysqld_safe --skip-grant-table &
输入完后按一下回车换行 -----无密码登录 mysql -u root
-----修改root密码 mysql> update mysql.user set password=password("654321") where
host="localhost" and user="root";
-----退出mysql后重启服务登录验证
1、将1901class数据库中的 表格userlist 备份后,删除userlist表
# mysqldump -u root -p 1901class userlist > /tmp/1901class_userlist.sql
还原数据库中的表格
# mysql -u root -p 1901class < /tmp/1901class_userlist.sql
28.远程授权访问
修改网卡名称 # vim /etc/udev/rules.d/70-persistent-net.rules
要求 1901class数据库中的所有表 对于 tom用户只有查看权限没有修改权限 对于 jerry用户有所有权限 仅允许以上两个用户从192.168.1.100主机登录
mysql> grant select on 1901class.* to "tom"@"192.168.1.100" identified by "123456";
mysql> grant all on 1901class.* to "jerry"@"192.168.1.100" identified by "123456";
客户机验证: mysql -u tom -p123456 -h 192.168.1.254
查看用户权限:mysql> SHOW GRANTS FOR jerry@192.168.1.100;
撤销用户权限:
mysql> revoke select on 1901class.* from tom@192.168.1.100; mysql> revoke all on 1901class.* from jerry@192.168.1.100;
删除用户:
drop user tom@192.168.1.100;
29.kali 远程 链接 centos
ssh 用户名@ip 1、不用交互登录控制对方服务器
ssh root@192.168.1.254 "rm -fr /tmp/hello.txt; echo '123' > /tmp/hello.txt "
2、拷贝文件到对方服务器
scp root@192.168.1.254:/tmp/hello.txt /root/Desktop
scp /root/Desktop/hello.txt root@192.168.1.254:/root/Desktop
3、使用ssh协议ftp形式登录对方主机实现文件上传下载
sftp root@192.168.1.254