TcpWrappers-Mariadb-linux访问控制顺序
iptables—>tcp_wrappers–>Service
两个控制文件
- /etc/hosts.allow 定义允许的访问
- /etc/hosts.deny 定义拒绝的访问
特点:配置改变,立即生效
tcp_wrappers的访问控制判断顺序
/etc/hosts.allow—>/etc/hosts.deny–>允许所有
语法:
Daemon_list : client_lists
ip地址: 192.168.40.131
域名: .example.com
网段: 192.168.40.0/255.255.255.0 192.168.40.
案例一:
在A服务器上/etc/hosts.deny中写入如下内容:
sshd:192.168.40.132
在B服务器上通过ssh命令来远程登陆A服务器,已经没有响应
在A服务器上删除该条目后,B服务器即可正常登陆A服务器
关于主机的宏定义的表示方式:
LOCAL 主机中不含.的主机(通常是指自己)
KNOWN 所有在DNS中可以解析到的主机
UNKNOWN 所有在DNS不可以解析到的主机
PARANOID 所有在DNS中正向解析与反向解析不匹配的主机
ALL 代表匹配所有(这个主机和服务都可以定义)
EXCEPT 反向选择
案例二:
在A服务器上/etc/hosts.deny中写入如下内容:
sshd:192.168.40.132 EXCEPT 192.168.40.132
B服务器上可以使用ssh命令来远程登陆A服务器
案例三:
清空A服务器上的/etc/hosts.deny中的内容
然后在/etc/hosts.allow中写入如下内容:
sshd:192.168.40. EXCEPT 192.168.40.132
在B服务器上查看是否可以ssh到A服务器?
可以登录。
因为hosts.allow文件中没有定义的时候是要查看hosts.deny文件的,如果该文件也没有定义,那么就是允许的
查询哪些服务支持tcp_wrappers
如果某个服务调用了libwrap.so这个动态链接库,那么这个服务就是支持的
也可以使用以下命令来查看:
[root@web ~]# ldd which vsftpd
数据库
MARIADB
一、安装部署
#系统默认已经安装该数据库,如果没有安装,使用以下命令进行安装
[root@mail ~]# yum install -y mariadb
#启动数据库服务
[root@mail ~]# systemctl restart mariadb
#初始化数据库
[root@mail ~]# mysql_secure_installation
#在防火墙添加永久允许策略
[root@mail ~]# firewall-cmd --permanent --add-service=mysql
#重新加载防火墙配置
[root@mail ~]# firewall-cmd --reload
二、登陆使用
#数据库系统登陆
[root@mail ~]# mysql -uroot -predhat
[root@mail ~]# mysql -uroot -p
[root@mail ~]# mysql -u root -h localhost -p [DATABASE NAME]
#查看系统有多少数据库
MariaDB [(none)]> show databases;
#退出数据库系统
MariaDB [(none)]> quit
MariaDB [(none)]> exit
#创建一个数据库
MariaDB [mysql]> create database luntan;
#切换到某个数据库下
MariaDB [mysql]> use mysql;
#查看数据库的表
MariaDB [mysql]> show tables;
#查看数据表的表结构
MariaDB [mysql]> desc user;
#查询user表中的某些数据
MariaDB [mysql]> select host,user,password from user;
#创建一张表
MariaDB [mysql]> create table person (
NUMBER INT(11),
NAME VARCHAR(255),
BIRTHDAY DATE );
#查询创建好的表的表结构
MariaDB [mysql]> desc person;
#插入几条数据
MariaDB [mysql]> insert into person (number,name,birthday) values (1,'haha',20160509);
MariaDB [mysql]> insert into person (number,name,birthday) values (2,'heihei',20160609);
MariaDB [mysql]> insert into person (number,name,birthday) values (3,'maomao',20160709);
#查询表的内容
MariaDB [mysql]> SELECT * FROM person;
#删除表的内容
MariaDB [mysql]> delete from person where name="maomao";
MariaDB [mysql]> delete from person where number=1;
#更新表中的数据
MariaDB [mysql]> update person set name="xixi" where name="heihei";
MariaDB [mysql]> update person set name="haha" where number=2;
三、用户的管理和访问权限的控制
创建数据库登陆用户
MariaDB [mysql]> create user maomao@localhost identified by 'redhat';
MariaDB [mysql]> create user xixi@localhost identified by 'xixi';
#查看结果
MariaDB [mysql]> select host,user from user where user="maomao";
#退出重新使用maomao用户登录数据库
[root@mail ~]# mysql -u maomao -p
#查看可以访问的数据库
MariaDB [(none)]> show databases;
#给maomao用户一张表的权限
MariaDB [mysql]> grant select,update,insert,delete on mysql.person to maomao@localhost;
退出数据库系统,并使用maomao用户重新登陆
#测试查询的权限
MariaDB [mysql]> select * from person;
#测试插入的权限
MariaDB [mysql]> insert person (number,NAME,BIRTHDAY) value (1,"hehe",20161010);
#测试更新数据的权限
MariaDB [mysql]> update person set name="heihei" where number=2;
#测试删除数据的权限
MariaDB [mysql]> delete from person where number=1;
#使用root用户登录,改变maomao用户的权限
MariaDB [mysql]> revoke select on mysql.person from maomao@localhost;
#使用select语句进行查询表,确认权限已被禁用
MariaDB [mysql]> select * from person;
四、备份和还原
[root@mail ~]# mysqldump -u root -p mysql > /mysql_backup_20160510.dump
#使用root用户登录数据库,删除person表
#查询person表
MariaDB [mysql]> select * from person;
#删除表
MariaDB [mysql]> drop table person;
#退出系统,进行还原操作
[root@mail ~]# mysql -u root -p mysql < /mysql_backup_20160510.dump
#登陆数据库系统
[root@mail ~]# mysql -u root -p
#查看person表
MariaDB [mysql]> select * from person;
创作者:Eric· Charles