AIDE入侵检测系统
一、AIDE简介
• AIDE(Advanced Intrusion Detection Environment)
• 高级入侵检测环境)是一个入侵检测工具,主要用途是检查文件的完整性,审计计算机上的那些文件被更改过了。
• AIDE能够构造一个指定文件的数据库,它使用aide.conf作为其配置文件。AIDE数据库能够保存文件的各种属性,包括:权限(permission)、索引节点序号(inode number)、所属用户(user)、所属用户组(group)、文件大小、最后修改时间(mtime)、创建时间(ctime)、最后访问时间(atime)、增加的大小以及连接数。AIDE还
能够使用下列算法:sha1、md5、rmd160、tiger,以密文形式建立每个文件的校验码或散列号.
• 不应该对那些经常变动的文件进行检测,例如:日志文件、邮件、/proc文件系统、用户起始目录以及临时目录.
二、安装配置
1、安装
yum install -y aide
查看安装生成的文件
- [root@newhostname ~]# rpm -ql aide
- /etc/aide.conf #配置文件
- /etc/logrotate.d/aide
- /usr/sbin/aide #2进制文件
- /usr/share/doc/aide-0.15.1
- /usr/share/doc/aide-0.15.1/AUTHORS
- /usr/share/doc/aide-0.15.1/COPYING
- /usr/share/doc/aide-0.15.1/ChangeLog
- /usr/share/doc/aide-0.15.1/NEWS
- /usr/share/doc/aide-0.15.1/README
- /usr/share/doc/aide-0.15.1/README.quickstart
- /usr/share/doc/aide-0.15.1/contrib
- /usr/share/doc/aide-0.15.1/contrib/aide-attributes.sh
- /usr/share/doc/aide-0.15.1/contrib/bzip2.sh
- /usr/share/doc/aide-0.15.1/contrib/gpg2_check.sh
- /usr/share/doc/aide-0.15.1/contrib/gpg2_update.sh
- /usr/share/doc/aide-0.15.1/contrib/gpg_check.sh
- /usr/share/doc/aide-0.15.1/contrib/gpg_update.sh
- /usr/share/doc/aide-0.15.1/contrib/sshaide.sh
- /usr/share/doc/aide-0.15.1/manual.html
- /usr/share/man/man1/aide.1.gz
- /usr/share/man/man5/aide.conf.5.gz
- /var/lib/aide #aide的数据库文件
- /var/log/aide #aide的日志
2、配置aide
首先我们先查看aide的配置文件 /etc/aide.conf
- @@define DBDIR /var/lib/aide
- @@define LOGDIR /var/log/aide
- 表示定义了两个变量,下面会直接引用这两个变量 DBDIR LOGDIR
- database=file:@@{DBDIR}/aide.db.gz 表示数据库的位置
- database_out=file:@@{DBDIR}/aide.db.new.gz 表示检测的数据库的位置
- report_url=file:@@{LOGDIR}/aide.log aide的日志文件
- report_url=stdout 表示输出到屏幕
- ---------------------------------------------------------------------
- 再往下的配置文件定义,需要检测的文件的权限,默认配置文件中就有说明,这里不再赘述
- ALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger
- EVERYTHING = R+ALLXTRAHASHES
- DIR = p+i+n+u+g+acl+selinux+xattrs
- .
- .
- .
- 这些表示定义一些权限的集合
- /boot/ CONTENT_EX
- /bin/ CONTENT_EX
- /sbin/ CONTENT_EX
- /lib/ CONTENT_EX
- /lib64/ CONTENT_EX
- /opt/ CONTENT
- 这些是系统默认的检测的目录,其格式就是
- 目录 权限的集合 #这里应该明白是什么意思吧,就是,一个目录对应要检测的权限项目,而这个权限项目可以通过变量自己定义,或者直接引用系统默认的选项都行
- 在这个配置文件中我们只需要将我们需要特定的目录加以配置就可以了,就以/app为例
- /app DIR #表示我们检测 /app 这个目录的 DIR 这些属性,当DIR这些属性发生变化时会报警。
现在我们来初始话aide的数据库
- [root@newhostname etc]# aide --init #初始化数据库
- AIDE, version 0.15.1
- ### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
现在我们修改一下/app下的数据
- [root@newhostname etc]# cd /app/
- [root@newhostname app]# ll
- 总用量 28
- -rw-r--r--. 1 root root 57 1月 7 21:21 fist.des3
- -rw-r--r--. 1 root root 16 1月 6 19:44 fist_encrypt
- -rw-r--r--. 1 root root 16 1月 7 21:21 new_file
- -rw-r--r--. 1 root root 1679 1月 7 22:40 private_key
- -rw-------. 1 root root 1679 1月 7 23:04 private_key.tmp
- -rw-r--r--. 1 root root 451 1月 7 22:58 pub_key
- -rw-r--r--. 1 root root 1679 1月 7 23:00 pub_key.tmp
- [root@newhostname app]# chown apache.apache /app/fist.des3
我们修改了/app/fist.des3文件,现在我们使用aide来检测一下
- [root@newhostname app]# ls /var/lib/aide/
- aide.db.new.gz
- [root@newhostname app]# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz 这里我们需要改名,为什么要改名,请看下上面配置文件的前两条
- aide的原理就是,将新老两个数据进行对比,属性不一致的条目就报警。
- [root@newhostname app]# aide --check
- AIDE 0.15.1 found differences between database and filesystem!!
- Start timestamp: 2018-01-10 21:30:42
- Summary:
- Total number of files: 239213
- Added files: 0
- Removed files: 0
- Changed files: 1
- ---------------------------------------------------
- Changed files:
- ---------------------------------------------------
- changed: /app/fist.des3
- ---------------------------------------------------
- Detailed information about changes:
- ---------------------------------------------------
- File: /app/fist.des3
- Uid : 0 , 48
- Gid : 0 , 48
- 已经检测除了我们改的那个文件的权限。
下一步,我们更新是当前数据库为最新数据
- [root@newhostname app]# aide --update
- AIDE 0.15.1 found differences between database and filesystem!!
- Start timestamp: 2018-01-10 21:35:28
- Summary:
- Total number of files: 239213
- Added files: 0
- Removed files: 0
- Changed files: 1
- ---------------------------------------------------
- Changed files:
- ---------------------------------------------------
- changed: /app/fist.des3
- ---------------------------------------------------
- Detailed information about changes:
- ---------------------------------------------------
- File: /app/fist.des3
- Uid : 0 , 48
- Gid : 0 , 48
- update操作会生成一个新的aide.db.new.gz
- 现在我们需要将旧库删除,将新库改名
- -rw-------. 1 root root 9107067 1月 10 21:10 aide.db.gz
- -rw-------. 1 root root 9107065 1月 10 21:38 aide.db.new.gz
- [root@newhostname aide]# rm aide.db.gz
- rm:是否删除普通文件 "aide.db.gz"?y
- [root@newhostname aide]# mv aide.db.new.gz aide.db.gz
aide简单的配置就完成了
一、AIDE简介
• AIDE(Advanced Intrusion Detection Environment)
• 高级入侵检测环境)是一个入侵检测工具,主要用途是检查文件的完整性,审计计算机上的那些文件被更改过了。
• AIDE能够构造一个指定文件的数据库,它使用aide.conf作为其配置文件。AIDE数据库能够保存文件的各种属性,包括:权限(permission)、索引节点序号(inode number)、所属用户(user)、所属用户组(group)、文件大小、最后修改时间(mtime)、创建时间(ctime)、最后访问时间(atime)、增加的大小以及连接数。AIDE还
能够使用下列算法:sha1、md5、rmd160、tiger,以密文形式建立每个文件的校验码或散列号.
• 不应该对那些经常变动的文件进行检测,例如:日志文件、邮件、/proc文件系统、用户起始目录以及临时目录.
二、安装配置
1、安装
yum install -y aide
查看安装生成的文件
- [root@newhostname ~]# rpm -ql aide
- /etc/aide.conf #配置文件
- /etc/logrotate.d/aide
- /usr/sbin/aide #2进制文件
- /usr/share/doc/aide-0.15.1
- /usr/share/doc/aide-0.15.1/AUTHORS
- /usr/share/doc/aide-0.15.1/COPYING
- /usr/share/doc/aide-0.15.1/ChangeLog
- /usr/share/doc/aide-0.15.1/NEWS
- /usr/share/doc/aide-0.15.1/README
- /usr/share/doc/aide-0.15.1/README.quickstart
- /usr/share/doc/aide-0.15.1/contrib
- /usr/share/doc/aide-0.15.1/contrib/aide-attributes.sh
- /usr/share/doc/aide-0.15.1/contrib/bzip2.sh
- /usr/share/doc/aide-0.15.1/contrib/gpg2_check.sh
- /usr/share/doc/aide-0.15.1/contrib/gpg2_update.sh
- /usr/share/doc/aide-0.15.1/contrib/gpg_check.sh
- /usr/share/doc/aide-0.15.1/contrib/gpg_update.sh
- /usr/share/doc/aide-0.15.1/contrib/sshaide.sh
- /usr/share/doc/aide-0.15.1/manual.html
- /usr/share/man/man1/aide.1.gz
- /usr/share/man/man5/aide.conf.5.gz
- /var/lib/aide #aide的数据库文件
- /var/log/aide #aide的日志
2、配置aide
首先我们先查看aide的配置文件 /etc/aide.conf
- @@define DBDIR /var/lib/aide
- @@define LOGDIR /var/log/aide
- 表示定义了两个变量,下面会直接引用这两个变量 DBDIR LOGDIR
- database=file:@@{DBDIR}/aide.db.gz 表示数据库的位置
- database_out=file:@@{DBDIR}/aide.db.new.gz 表示检测的数据库的位置
- report_url=file:@@{LOGDIR}/aide.log aide的日志文件
- report_url=stdout 表示输出到屏幕
- ---------------------------------------------------------------------
- 再往下的配置文件定义,需要检测的文件的权限,默认配置文件中就有说明,这里不再赘述
- ALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger
- EVERYTHING = R+ALLXTRAHASHES
- DIR = p+i+n+u+g+acl+selinux+xattrs
- .
- .
- .
- 这些表示定义一些权限的集合
- /boot/ CONTENT_EX
- /bin/ CONTENT_EX
- /sbin/ CONTENT_EX
- /lib/ CONTENT_EX
- /lib64/ CONTENT_EX
- /opt/ CONTENT
- 这些是系统默认的检测的目录,其格式就是
- 目录 权限的集合 #这里应该明白是什么意思吧,就是,一个目录对应要检测的权限项目,而这个权限项目可以通过变量自己定义,或者直接引用系统默认的选项都行
- 在这个配置文件中我们只需要将我们需要特定的目录加以配置就可以了,就以/app为例
- /app DIR #表示我们检测 /app 这个目录的 DIR 这些属性,当DIR这些属性发生变化时会报警。
现在我们来初始话aide的数据库
- [root@newhostname etc]# aide --init #初始化数据库
- AIDE, version 0.15.1
- ### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
现在我们修改一下/app下的数据
- [root@newhostname etc]# cd /app/
- [root@newhostname app]# ll
- 总用量 28
- -rw-r--r--. 1 root root 57 1月 7 21:21 fist.des3
- -rw-r--r--. 1 root root 16 1月 6 19:44 fist_encrypt
- -rw-r--r--. 1 root root 16 1月 7 21:21 new_file
- -rw-r--r--. 1 root root 1679 1月 7 22:40 private_key
- -rw-------. 1 root root 1679 1月 7 23:04 private_key.tmp
- -rw-r--r--. 1 root root 451 1月 7 22:58 pub_key
- -rw-r--r--. 1 root root 1679 1月 7 23:00 pub_key.tmp
- [root@newhostname app]# chown apache.apache /app/fist.des3
我们修改了/app/fist.des3文件,现在我们使用aide来检测一下
- [root@newhostname app]# ls /var/lib/aide/
- aide.db.new.gz
- [root@newhostname app]# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz 这里我们需要改名,为什么要改名,请看下上面配置文件的前两条
- aide的原理就是,将新老两个数据进行对比,属性不一致的条目就报警。
- [root@newhostname app]# aide --check
- AIDE 0.15.1 found differences between database and filesystem!!
- Start timestamp: 2018-01-10 21:30:42
- Summary:
- Total number of files: 239213
- Added files: 0
- Removed files: 0
- Changed files: 1
- ---------------------------------------------------
- Changed files:
- ---------------------------------------------------
- changed: /app/fist.des3
- ---------------------------------------------------
- Detailed information about changes:
- ---------------------------------------------------
- File: /app/fist.des3
- Uid : 0 , 48
- Gid : 0 , 48
- 已经检测除了我们改的那个文件的权限。
下一步,我们更新是当前数据库为最新数据
- [root@newhostname app]# aide --update
- AIDE 0.15.1 found differences between database and filesystem!!
- Start timestamp: 2018-01-10 21:35:28
- Summary:
- Total number of files: 239213
- Added files: 0
- Removed files: 0
- Changed files: 1
- ---------------------------------------------------
- Changed files:
- ---------------------------------------------------
- changed: /app/fist.des3
- ---------------------------------------------------
- Detailed information about changes:
- ---------------------------------------------------
- File: /app/fist.des3
- Uid : 0 , 48
- Gid : 0 , 48
- update操作会生成一个新的aide.db.new.gz
- 现在我们需要将旧库删除,将新库改名
- -rw-------. 1 root root 9107067 1月 10 21:10 aide.db.gz
- -rw-------. 1 root root 9107065 1月 10 21:38 aide.db.new.gz
- [root@newhostname aide]# rm aide.db.gz
- rm:是否删除普通文件 "aide.db.gz"?y
- [root@newhostname aide]# mv aide.db.new.gz aide.db.gz
aide简单的配置就完成了
一、AIDE简介
• AIDE(Advanced Intrusion Detection Environment)
• 高级入侵检测环境)是一个入侵检测工具,主要用途是检查文件的完整性,审计计算机上的那些文件被更改过了。
• AIDE能够构造一个指定文件的数据库,它使用aide.conf作为其配置文件。AIDE数据库能够保存文件的各种属性,包括:权限(permission)、索引节点序号(inode number)、所属用户(user)、所属用户组(group)、文件大小、最后修改时间(mtime)、创建时间(ctime)、最后访问时间(atime)、增加的大小以及连接数。AIDE还
能够使用下列算法:sha1、md5、rmd160、tiger,以密文形式建立每个文件的校验码或散列号.
• 不应该对那些经常变动的文件进行检测,例如:日志文件、邮件、/proc文件系统、用户起始目录以及临时目录.
二、安装配置
1、安装
yum install -y aide
查看安装生成的文件
- [root@newhostname ~]# rpm -ql aide
- /etc/aide.conf #配置文件
- /etc/logrotate.d/aide
- /usr/sbin/aide #2进制文件
- /usr/share/doc/aide-0.15.1
- /usr/share/doc/aide-0.15.1/AUTHORS
- /usr/share/doc/aide-0.15.1/COPYING
- /usr/share/doc/aide-0.15.1/ChangeLog
- /usr/share/doc/aide-0.15.1/NEWS
- /usr/share/doc/aide-0.15.1/README
- /usr/share/doc/aide-0.15.1/README.quickstart
- /usr/share/doc/aide-0.15.1/contrib
- /usr/share/doc/aide-0.15.1/contrib/aide-attributes.sh
- /usr/share/doc/aide-0.15.1/contrib/bzip2.sh
- /usr/share/doc/aide-0.15.1/contrib/gpg2_check.sh
- /usr/share/doc/aide-0.15.1/contrib/gpg2_update.sh
- /usr/share/doc/aide-0.15.1/contrib/gpg_check.sh
- /usr/share/doc/aide-0.15.1/contrib/gpg_update.sh
- /usr/share/doc/aide-0.15.1/contrib/sshaide.sh
- /usr/share/doc/aide-0.15.1/manual.html
- /usr/share/man/man1/aide.1.gz
- /usr/share/man/man5/aide.conf.5.gz
- /var/lib/aide #aide的数据库文件
- /var/log/aide #aide的日志
2、配置aide
首先我们先查看aide的配置文件 /etc/aide.conf
- @@define DBDIR /var/lib/aide
- @@define LOGDIR /var/log/aide
- 表示定义了两个变量,下面会直接引用这两个变量 DBDIR LOGDIR
- database=file:@@{DBDIR}/aide.db.gz 表示数据库的位置
- database_out=file:@@{DBDIR}/aide.db.new.gz 表示检测的数据库的位置
- report_url=file:@@{LOGDIR}/aide.log aide的日志文件
- report_url=stdout 表示输出到屏幕
- ---------------------------------------------------------------------
- 再往下的配置文件定义,需要检测的文件的权限,默认配置文件中就有说明,这里不再赘述
- ALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger
- EVERYTHING = R+ALLXTRAHASHES
- DIR = p+i+n+u+g+acl+selinux+xattrs
- .
- .
- .
- 这些表示定义一些权限的集合
- /boot/ CONTENT_EX
- /bin/ CONTENT_EX
- /sbin/ CONTENT_EX
- /lib/ CONTENT_EX
- /lib64/ CONTENT_EX
- /opt/ CONTENT
- 这些是系统默认的检测的目录,其格式就是
- 目录 权限的集合 #这里应该明白是什么意思吧,就是,一个目录对应要检测的权限项目,而这个权限项目可以通过变量自己定义,或者直接引用系统默认的选项都行
- 在这个配置文件中我们只需要将我们需要特定的目录加以配置就可以了,就以/app为例
- /app DIR #表示我们检测 /app 这个目录的 DIR 这些属性,当DIR这些属性发生变化时会报警。
现在我们来初始话aide的数据库
- [root@newhostname etc]# aide --init #初始化数据库
- AIDE, version 0.15.1
- ### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
现在我们修改一下/app下的数据
- [root@newhostname etc]# cd /app/
- [root@newhostname app]# ll
- 总用量 28
- -rw-r--r--. 1 root root 57 1月 7 21:21 fist.des3
- -rw-r--r--. 1 root root 16 1月 6 19:44 fist_encrypt
- -rw-r--r--. 1 root root 16 1月 7 21:21 new_file
- -rw-r--r--. 1 root root 1679 1月 7 22:40 private_key
- -rw-------. 1 root root 1679 1月 7 23:04 private_key.tmp
- -rw-r--r--. 1 root root 451 1月 7 22:58 pub_key
- -rw-r--r--. 1 root root 1679 1月 7 23:00 pub_key.tmp
- [root@newhostname app]# chown apache.apache /app/fist.des3
我们修改了/app/fist.des3文件,现在我们使用aide来检测一下
- [root@newhostname app]# ls /var/lib/aide/
- aide.db.new.gz
- [root@newhostname app]# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz 这里我们需要改名,为什么要改名,请看下上面配置文件的前两条
- aide的原理就是,将新老两个数据进行对比,属性不一致的条目就报警。
- [root@newhostname app]# aide --check
- AIDE 0.15.1 found differences between database and filesystem!!
- Start timestamp: 2018-01-10 21:30:42
- Summary:
- Total number of files: 239213
- Added files: 0
- Removed files: 0
- Changed files: 1
- ---------------------------------------------------
- Changed files:
- ---------------------------------------------------
- changed: /app/fist.des3
- ---------------------------------------------------
- Detailed information about changes:
- ---------------------------------------------------
- File: /app/fist.des3
- Uid : 0 , 48
- Gid : 0 , 48
- 已经检测除了我们改的那个文件的权限。
下一步,我们更新是当前数据库为最新数据
- [root@newhostname app]# aide --update
- AIDE 0.15.1 found differences between database and filesystem!!
- Start timestamp: 2018-01-10 21:35:28
- Summary:
- Total number of files: 239213
- Added files: 0
- Removed files: 0
- Changed files: 1
- ---------------------------------------------------
- Changed files:
- ---------------------------------------------------
- changed: /app/fist.des3
- ---------------------------------------------------
- Detailed information about changes:
- ---------------------------------------------------
- File: /app/fist.des3
- Uid : 0 , 48
- Gid : 0 , 48
- update操作会生成一个新的aide.db.new.gz
- 现在我们需要将旧库删除,将新库改名
- -rw-------. 1 root root 9107067 1月 10 21:10 aide.db.gz
- -rw-------. 1 root root 9107065 1月 10 21:38 aide.db.new.gz
- [root@newhostname aide]# rm aide.db.gz
- rm:是否删除普通文件 "aide.db.gz"?y
- [root@newhostname aide]# mv aide.db.new.gz aide.db.gz
aide简单的配置就完成了
AIDE入侵检测系统的更多相关文章
- 开源入侵检测系统OSSEC搭建之二:客户端安装
上一篇文章中已经将OSSEC服务端的安装以及客户端的Key导出操作做了解说,接下来在另一台虚拟机中安装客户端,与安装服务端类似同样需要安装ossec,步骤如下. 一.下载ossec-hids-2.8. ...
- 开源入侵检测系统OSSEC搭建之一:服务端安装
OSSEC是一款开源的多平台的入侵检测系统,可以运行于Windows, Linux, OpenBSD/FreeBSD, 以及 MacOS等操作系统中.主要功能有日志分析.完整性检查.rootkit检测 ...
- 构建基于Suricata+Splunk的IDS入侵检测系统
一.什么是IDS和IPS? IDS(Intrusion Detection Systems):入侵检测系统,是一种网络安全设备或应用软件,可以依照一定的安全策略,对网络.系统的运行状况进行监视,尽可能 ...
- 搭建开源入侵检测系统Snort并实现与防火墙联动
Snort作为一款优秀的开源主机入侵检测系统,在windows和Linux平台上均可安装运行.BT5作为曾经的一款经典的渗透神器,基于 Ubuntu,里面已经预装很多的应用,比如Mysql.Apach ...
- Snort 入侵检测系统
Snort 入侵检测系统 一.实验目的 1.掌握snort IDS工作原理 2.应用snort 三种方式工作 二.实验环境 系统环境:Windows环境, kali环境 三.实验原理 1.snort ...
- SNORT入侵检测系统
SNORT入侵检测系统 YxWa · 2015/10/09 10:38 0x00 一条简单的规则 alert tcp 202.110.8.1 any -> 122.111.90.8 80 (ms ...
- CentOS7下的AIDE入侵检测配置
一.AIDE的概念 AIDE:Advanced Intrusion Detection Environment,是一款入侵检测工具,主要用途是检查文档的完整性.AIDE在本地构造了一个基准的数据库,一 ...
- IDS入侵检测系统
目录 IDS入侵检测系统 入侵检测系统的作用 入侵检测系统功能 入侵检测系统的分类 入侵检测系统的架构 入侵检测工作过程 数据检测技术 误用检测 异常检测 IDS的部署 基于网络的IDS 基于主机的I ...
- Linux 上搭建 Snort+BASE 入侵检测系统
配置实验环境 由于本人电脑的存储空间不足,无法再承担安装一个虚拟机的开销,因此在阿里云上申请了一个云服务器进行本次实验.服务器配置如下: 1 核 - 2GB 内存 - 40GB 系统盘 操作系统:Ub ...
随机推荐
- CentOS7+Python3.6利用web.py库进行微信公众平台服务器简易配置,token验证
1.安装配置Python CentOS7 自带 Python2.7, 我用的是Python3.6.5,需要CentOS7安装配置Python3并和Python2共存的,请看以下教程: CentOS7安 ...
- python实用小功能
正则匹配手机号码: regExp =r"^((13[0-9])|(15[^4])|(18[0-9])|(17[0-8])|(147)|(19[0-9]))\d{8}$"; 常用于用 ...
- 关于MySQL 5.6 中文乱码的问题(尤其是windows的gbk编码)
一般MySQL 数据库乱码由以下几种情况造成(按照顺序): 1. 创建数据库的时候没设置编码,解决办法: 就是在创建数据库的时候设置编码, 例如: CREATE DATABASE `mydb` CHA ...
- iView中Tree组件children中动态checked选中后取消勾选再选中无效问题
如题,我有一个Tree组件,动态更新check选中子级列表的时候,取消勾选了再点击选中时复选框样式不是勾选状态,但是数据已经有了. 对此解决方案是:将初始化时Tree组件data数据深拷贝一遍再去判断 ...
- Daily Temperatures
Given a list of daily temperatures T, return a list such that, for each day in the input, tells you ...
- Coloring Edges(有向图环染色)-- Educational Codeforces Round 72 (Rated for Div. 2)
题意:https://codeforc.es/contest/1217/problem/D 给你一个有向图,要求一个循环里不能有相同颜色的边,问你最小要几种颜色染色,怎么染色? 思路: 如果没有环,那 ...
- merge into使用方法
此外,You cannot update a column that is referenced in the ON condition clause.,update的字段不可以是on里面的条件字段, ...
- Java实现的基础数据结构
Java实现的基础数据结构 0,常用的基础数据结构 图1 基础数据结构&相关特性 图2 Java自带的类集框架&继承关系图 1,数组[Array] 特点:长度固定.查找方便[直接使用i ...
- 关于spring中bean配置的几件小事
一.IOC和DI 1.IOC(Inversion of Control) 其思想是反转资源获取的方向.传统的资源查找方式要求组件向容器发起请求查找资源,作为回应,容器适时的返回资源:而应用了IOC之后 ...
- Eclipse 快捷键、文档注释、多行注释的快捷键
关于快捷键 Eclipse 的很多操作都提供了快捷键功能,我们可以通过键盘就能很好的控制 Eclipse 各个功能: 一.多行注释快捷键 1.选中你要加注释的区域,用ctrl+shift+C 或者ct ...