Tag: linux
-
MAC 设置环境变量PATH 和 查看PATH(转载知乎文章)
理论篇 Mac系统的环境变量,加载顺序为: /etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc /etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果/.bash_profile文件不存在,才会以此类推读取后面的文件。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。 PATH的语法为如下 #中间用冒号隔开 export PATH=$PATH::::——: 说明: /etc/paths (全局建议修改这个文件 ) 编辑 paths,将环境变量添加到 paths文件中 ,一行一个路径 Hint:输入环境变量时,不用一个一个地输入,只要拖动文件夹到 Terminal 里就可以了。 /etc/profile (建议不修改这个文件 ) 全局(公有)配置,不管是哪个用户,登录时都会读取该文件。 /etc/bashrc (一般在这个文件中添加系统级环境变量) 全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件 .profile 文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置 使用注意:如果你有对/etc/profile有修改的话必须得重启你的修改才会生效,此修改对每个用户都生效。 ./bashrc 每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. 使用注意 对所有的使用bash的用户修改某个配置并在以后打开的bash都生效的话可以修改这个文件,修改这个文件不用重启,重新打开一个bash即可生效。 ./bash_profile 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.(每个用户都有一个.bashrc文件,在用户目录下) 使用注意 需要需要重启才会生效,/etc/profile对所有用户生效,~/.bash_profile只对当前用户生效。 source ./.bash_profile 或者 ./.profile 环境信息生效 操作篇 全局设置 创建一个文件:…
-
common_visit’ is marked as crashed and should be repaired 解决办法
错误产生原因,有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说法。 还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能导致 MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。
-
shell:读取文件的每一行内容并输出
写法一: —————————————————————————- #!/bin/bash while read line do echo $line done < file(待读取的文件) —————————————————————————- 写法二: —————————————————————————- #!/bin/bash cat file(待读取的文件) | while read line do echo $line done —————————————————————————- 写法三: —————————————————————————- for line in `cat file(待读取的文件)` do echo $line done —————————————————————————- 说明: for逐行读和while逐行读是有区别的,如: $ cat file aaaa bbbb cccc dddd $ cat file |…
-
centos7.4 yum 安装mysql5.7
使用wget下载官方yum源的rpm包: wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 安装rpm包: rpm -ivh mysql57-community-release-el7-11.noarch.rpm yum来安装mysql-server: yum install -y mysql-server 启动mysqld服务: systemctl start mysqld 查看是否成功启动: ps aux|grep mysqld 设置mysqld服务开机自启动: systemctl enable mysqld 使用初始密码登录 由于MySQL从5.7开始不允许首次安装后,使用空密码进行登录,系统会随机生成一个密码以供管理员首次登录使用,这个密码记录在/var/log/mysqld.log文件中,使用下面的命令可以查看此密码: [root@bjlianyi wordpress]# cat /var/log/mysqld.log|grep ‘A temporary password’ 2018-06-29T15:08:12.364210Z 1 [Note] A temporary password is generated for root@localhost: f<%qrUl/f0lG [root@bjlianyi wordpress]# mysql ERROR 1045 (28000): Access denied for user ‘root’@’localhost’…
-
如何在centos7上安装php5.6
默认情况下,CENTOS 7官方软件包库有PHP5.4,它已经到了生命的尽头,不再被开发者积极维护。为了跟上最新的特性和安全更新,您需要在CENTOS 7系统上更新一个更新的(最新的)PHP版本。 因此,强烈建议您升级或安装最新支持的稳定版本的PHP 5.5、PHP 5.6或PHP 7,这是CENTOS 7 Linux发行版。在本文中,我们将解释如何安装支持的稳定版本的PHP 5.5(仅提供安全更新)或在CENTOS 7上的PHP 5.6(同样的指令也适用于RHEL7)分发。 1 要安装PHP 5.6,必须使用下面的命令安装和启用ECEL和remi存储库到CENTOS 7系统。 # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 2 接下来,安装yum-utils,它是与YUM集成的各种实用工具,以增强其默认功能,使其具有更高级的包管理选项,也使其更易于使用。 它的一些重要特征包括操纵存储库,启用或禁用GO上的包和更多的包,而不需要任何手动配置。 # yum install yum-utils 3 yum-utils 提供的最重要的程序之一是 yum-config-manager,您可以使用它作为活动的Remi存储库作为安装各种PHP版本的默认存储库。例如,如果您想在CENTOS 7上安装PHP 5.5、PHP 5.6或PHP 7.2,只需启用它并按所示安装即可。 # yum-config-manager –enable remi-php55 [Install PHP 5.5] # yum-config-manager –enable remi-php56 [Install PHP 5.6] # yum-config-manager…
-
如何知道mysql当前使用的my.cnf的路径
如果不知道当前使用的配置文件的路径,可以尝试下面的操作: # which mysqld /usr/local/mysql/bin/mysqld [root@iji ~]# /usr/local/mysql/bin/mysqld –verbose –help |grep -A 1 ‘Default options’ 2018-05-26 23:45:23 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.27-log) starting as process 11571 … 2018-05-26 23:45:23 11571 [Note] Plugin ‘FEDERATED’ is disabled. Default options are read from the following files in the given order: /etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf 2018-05-26 23:45:23 11571 [Note] Binlog end 2018-05-26…
-
Mysql 5.6 Cmake 编译安装
MySQL编译安装 环境: OS: CentOS 6.6×64 mini mysql: mysql-5.6.25 1. mysql 下载: http://dev.mysql.com/downloads/mysql/ 说明:这个网站有时候JS被墙,你选择了Source Code会没有反应,所以可以考虑翻翻翻翻翻翻翻Q或者直接点下边的链接 下载地址: wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.27.tar.gz 2.安装 先禁用selinux yum install cmake wget gcc-c++ gcc ncurses-devel -y groupadd mysql useradd -g mysql mysql tar xvf mysql-5.6.25.tar.gz cd mysql-5.6.25 cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \…
-
mysqldump 导出库 忽略库
mysql -e “show databases;” -uroot -psdfsaf -P3306 | grep -Ev “mysql|information_schema|performance_schema|test” |grep -v Database | xargs mysqldump –master-data=2 -uroot -psdfsaf –databases > /data/all.sql
-
MySQL 执行SQL脚本 报ERROR 1231 (42000)的解决办法
ERROR 1231 (42000): Variable ‘time_zone’ can’t be set to the value of ‘NULL’ ERROR 1231 (42000): Variable ‘sql_mode’ can’t be set to the value of ‘NULL’ ERROR 1231 (42000): Variable ‘foreign_key_checks’ can’t be set to the value of ‘NULL’ ERROR 1231 (42000): Variable ‘unique_checks’ can’t be set to the value of ‘NULL’ ERROR 1231 (42000):…
-
CentOS/RHEL 6/7 升级PHP版本 version 5.4 到 5.6
For CentOS/RHEL 7: # rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm # rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm For CentOS/RHEL 6: # rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm For CentOS/RHEL 5: # rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm After installing Webtatic yum repository, you have to remove the old version of php-common package. It will also delete it dependencies packages. # yum remove php-common yum install -y php56w…
-
Sphinx全文检索引擎使用指南:安装支持的操作系统:在绝大多数现代的Unix类操作系统上,只需要一个C++编译器就可以编译并运行Sphinx,而不需要对源码进行任何改动。
Sphinx可以在以下系统上运行: Linux 2.4.x, 2.6.x (包括各种发行版) ? Windows 2000, XP ? FreeBSD 4.x, 5.x, 6.x ? NetBSD 1.6, 3.0 ? Solaris 9, 11 ? Mac OS X 支持的CPU种类包括 X86, X86-64, SPARC64。 依赖的工具:在UNIX平台上,你需要以下的工具用来编译和安装Sphinx: C++编译器。GNU gcc就能够干这个活。 make程序。GNU make就能够干这个活。 安装Sphinx: tar包解压,并进入sphinx子目录: $ tar xzvf sphinx-0.9.7.tar.gz $ cd sphinx configuration程序: $ ./configure configure程序有很多运行选项。完整的列表可以通过使用 –help开关得到。最重要的如下: –prefix, 定义将 Sphinx安装到何处; –with-mysql, 当自动检测失败时,指出在那里能找到MySQL头文件和库文件; 制作二进制程序: …
-
centos6 安装 sphinx
安装前请先确定安装了常用的组件,然后在官方网站下载最新的Sphinx, yum install -y python python-develhttp://sphinxsearch.com/downloads/release/ 安装sphinxtar zxvf sphinx-2.1.4-release.tar.gz cd sphinx-2.1.4-release ./configure –prefix=/usr/local/sphinx –-with-mysql make && make install libsphinxclient 安装(PHP模块需要) cd api/libsphinxclient ./configure –prefix=/usr/local/sphinx make && make install 安装PHP的Sphinx模块 下载地址:http://pecl.php.net/package/sphinx wget http://pecl.php.net/get/sphinx-1.3.0.tgz tar zxf sphinx-1.3.0.tgz cd sphinx-1.3.0 /usr/local/PHP/bin/phpize ./configure –with-php-config=/usr/local/php/bin/php-config –with-sphinx=/usr/local/sphinx/ make && make install 安装好后,在安装目录下etc目录下,有份测试数据和配置的样本 cd /usr/local/sphinx/etc cp sphinx.conf.dist sphinx.conf
-
dockerfile 之php5.6.32扩展安装memcache memcachd redis mongodb
FROM php56:v1 LABEL maintainer=”moneyslow” RUN apk update && apk add autoconf openssl-dev g++ make && \ pecl install mongo && \ docker-php-ext-enable mongo RUN apk add –no-cache –virtual .build-deps pcre-dev && \ pecl install mongodb && \ docker-php-ext-enable mongodb RUN apk add rsync php5-memcache php5-mysql php5-mssql php5-bz2…
-
更改了mysql.sock的位置,如何让命令或者程序默认指定修改后的mysql.sock位置
第一步: [mysqld] datadir=/data/mysql socket=/data/mysql/mysql.sock 第二步: [client] socket=/data/mysql.sock
-
mysqlbinlog 查看
binlog介绍 binlog,即二进制日志,它记录了数据库上的所有改变. 改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕. binlog格式 基于语句,无法保证所有语句都在从库执行成功,比如update … limit 1; 基于行,将每一次改动记为binlog中的一行.在执行一个特别复杂的update或者delete操作时,基于行的格式会有优势. 登录到mysql查看binlog 只查看第一个binlog文件的内容 show binlog events; 查看指定binlog文件的内容 show binlog eventsin’mysql-bin.000002′; 查看当前正在写入的binlog文件 show master status\G 获取binlog文件列表 show binary logs; 用mysqlbinlog工具查看 注意: 不要查看当前正在写入的binlog文件 不要加–force参数强制访问 如果binlog格式是行模式的,请加 -vv参数 本地查看 基于开始/结束时间 mysqlbinlog –start-datetime=’2018-09-10 00:00:00′–stop-datetime=’2020-09-10 01:01:01′-d 库名 二进制文件 基于pos值 mysqlbinlog –start-postion=107–stop-position=1000-d 库名 二进制文件 转换为可读文本 mysqlbinlog –base64-output=DECODE-ROWS -v -d 库名 二进制文件
-
mysqldump导出csv文件格式
以下语句将在指定目录中生成按表名排列的文本格式的数据,用于其他数据库的倒入。 mysqldump -u a8z8 -pPassWord databasename tablename -t -T /data/backup/mysql/ –fields-terminated-by=’,’ 1、databasename :导出的数据库; 2、tablename:导出的数据表; 3、-t :不导出create 信息; 4、-T 指定到处的位置,目录权限777; 5、–fields-enclosed-by=\” :字段引号; 6、–fields-terminated-by=, :字段分割符;
-
docker–挂载本地宿主机目录利用docker inspect 命令查看挂载情况|在宿主机和容器之间共享数据
以后台形式启动一个ubuntu容器,挂载本地$PWD目录,默认是读写权限都有,如果需要只读,加只读参数 /asdf:ro $ docker run –name ubuntu02 -d -ti -v “$PWD”:/asdf ubuntu:14.04 /bin/bash 15a4a59a52f98f76d54bb88c37d9a0577b423e97aa146b6a715a1c8d1bb06264 查看容器: $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS …
-
docker–创建一个数据库挂载本地物理机目录数据而且进行mysqldump备份
创建并启动mysql的容器,设置好数据库密码 # docker run –name mysqlwp -e MYSQL_ROOT_PASSWORD=123123 \ > -e MYSQL_DATABASE=wordpress \ > -e MYSQL_USER=wordpress \ > -e MYSQL_PASSWORD=wordpresspwd \ > -v /home/docker/mysql:/var/lib/mysql \ > -d mysql Unable to find image ‘mysql:latest’ locally latest: Pulling from library/mysql 10a267c67f42: Pull complete c2dcc7bb2a88: Pull complete 17e7a0445698: Pull complete 9a61839a176f: Pull complete a1033d2f1825: Pull complete 0d6792140dcc: Pull…
-
Docker–利用Supervisor在同一个容器中运行wordpress 包含httpd and mysql
配置文件地址: https://github.com/how2dock/docbook/tree/master/ch01/supervisor 建立wordpress目录,按配置文件地址建3个文件: Dockerfile (保护数据库密码) Supervisord.conf wp-config.php cd wordpress 建立镜像: docker build -t wordpress . 运行容器: docker run –d –p 80:80 wordpress 网页可以访问这个ip: http://xxx:80 下载一个工具: wget -P ~ https://github.com/yeasy/docker_practice/raw/master/_local/.bashrc_docker; echo “[ -f ~/.bashrc_docker ] && . ~/.bashrc_docker” >> ~/.bashrc; source ~/.bashrc 利用工具docker-enter进入容器: docker-enter b98d252eb7f6 /bin/bash docker ps –a 查出容器id 进入容器mysql…
-
mysql change master 语句备忘
change master to master_host=’10.10.xx.xx’, master_port=3306, master_user=’repl’, master_password=’asdfasdfa’, master_log_file=’mysql-bin.004281′, master_log_pos=3234234;
-
Linux升级时不升级内核的方法
RedHat/CentOS使用 yum update 更新时,默认会升级内核。但有些服务器硬件在升级内核后,新的内核可能会认不出某些硬件,要重新安装驱动,很麻烦。所以在生产环境中不要轻易的升级内核,除非您确定升级内核后不会出现麻烦的问题。 如果使用yum update更新时不升级内核,有两种方法: 方法一 直接在yum的命令后面加参数,这个命令只生效一次: # yum update –exclude=kernel* 方法二 修改yum命令的配置文件,永久生效。 这里以 CentOS 6.6 为例来进行说明: 1、首先检查内核版本以及系统版本。 [root@localhost ~]# uname -r 2.6.32-504.el6.x86_64 [root@localhost ~]# cat /etc/issue CentOS release 6.6 (Final) Kernel \r on an \m 2、将配置文件保存备份。 [root@localhost ~]# cp /etc/yum.conf /etc/yum.conf.bak 3、编辑/etc/yum.conf文件。 [root@localhost ~]# vi /etc/yum.conf 4、在[main]的后面加入如下内容: exclude=kernel* 5、按下Esc,输入下面命令进行保存:wq。 6、使用 yum update更新。 [root@localhost yum.repos.d]# yum…
-
Linux下的双网卡绑定bond0 em1 em2
一、什么是bonding Linux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余 二、bonding应用方向1、网络负载均衡 对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多 个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是 bonding 2、网络冗余 对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其它网卡做备份 三、bonding实验环境及配置 1、实验环境 系统为:CentOS,使用2块网卡(em1、em2 ==> bond0)来实现bonding技术 2、bonding配置 第一步:先查看一下内核是否已经支持bonding 1)如果内核已经把bonding编译进内核,那么要做的就是加载该模块到当前内核;其次查看ifenslave该工具是否也已经编译modprobe -l bond* 或者 modinfo bonding modprobe bonding lsmod | grep ‘bonding’ echo ‘modprobe bonding &> /dev/null’ >> /etc/rc.local(开机自动加载bonding模块到内核)which ifenslave注意:默认内核安装完后就已经支持bonding模块了,无需要自己手动编译 2)如果bonding还没有编译进内核,那么要做的就是编译该模块到内核(1)编译bonding tar -jxvf kernel-XXX.tar.gz cd kernel-XXX make menuconfig选择 ” Network device support ” -> ” Bonding driver support ” make bzImage make modules && make modules_install make install (2)编译ifenslave工具gcc -Wall -O -I kernel-XXX/include…
-
hydra 配合 libssh 扫描弱口令
[ERROR] Compiled without LIBSSH v0.4.x support, module is not available! 如何装libssh呢?方法如下: 方法一、支持apt-get的话 apt-get purge hydra apt-get install cmake libssl-dev 方法二、编译安装 2.1 libssh wget http://www.libssh.org/files/0.4/libssh-0.4.8.tar.gz tar zxf libssh-0.4.8.tar.gz cd libssh-0.4.8 mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DWITH_SSH1=ON .. make make install 2.2 hydra…
-
安装两个mysql 端口不同
./configure –prefix=/usr/local/mysql3307 –sysconfdir=/usr/local/mysql3307/etc –with-tcp-port=3307 –localstatedir=/ssdc/mysqldata –with-mysqld-user=mysql –enable-assembler –datadir=/ssdc/mysqldata –with-mysqld-ldflags=-all-static –with-client-ldflags=-all-static –with-unix-socket-path=/usr/local/mysql3307/mysql.sock –with-charset=utf8 –with-collation=utf8_general_ci –with-extra-charsets=all /usr/local/mysql3307/bin/mysql_install_db –user=mysql –datadir=/ssdc/mysqldata
-
牛逼大了的ssh
1、复制SSH密钥到目标主机,开启无密码SSH登录 ssh-copy-id user@host 如果还没有密钥,请使用ssh-keygen命令生成。 2、从某主机的80端口开启到本地主机2001端口的隧道 ssh -N -L2001:localhost:80 somemachine 现在你可以直接在浏览器中输入http://localhost:2001访问这个网站。 3、将你的麦克风输出到远程计算机的扬声器 dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp 这样来自你麦克风端口的声音将在SSH目标计算机的扬声器端口输出,但遗憾的是,声音质量很差,你会听到很多嘶嘶声。 4、比较远程和本地文件 ssh user@host cat /path/to/remotefile | diff /path/to/localfile – 在比较本地文件和远程文件是否有差异时这个命令很管用。 5、通过SSH挂载目录/文件系统 sshfs name@server:/path/to/folder /path/to/mount/point 从http://fuse.sourceforge.net/sshfs.html下载sshfs,它允许你跨网络安全挂载一个目录。 6、通过中间主机建立SSH连接 ssh -t reachable_host ssh unreachable_host Unreachable_host表示从本地网络无法直接访问的主机,但可以从reachable_host所在网络访问,这个命令通过到reachable_host的”隐藏”连接,创建起到unreachable_host的连接。 7、将你的SSH公钥复制到远程主机,开启无密码登录 – 简单的方法 ssh-copy-id username@hostname 8、直接连接到只能通过主机B连接的主机A ssh -t hostA ssh hostB…
-
ERROR 1133(42000) can ‘t find any matching row in the user table
出现这个错误需要执行这个: mysql>SET SESSION sql_mode=’STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION’; 后再执行之前的sql就可以了。
-
利用mysql event 实现秒级crontab
创建event CREATE EVENT ossec_del_data ON SCHEDULE EVERY 5 SECOND COMMENT ‘delete data every 30 sencond’ DO DELETE alert, data FROM alert LEFT JOIN data ON alert.id=data.id LEFT JOIN signature ON alert.rule_id=signature.rule_id LEFT JOIN location ON alert.location_id=location.id WHERE alert.rule_id in (31106,5501,5502,533,31104,31105,5706,31153,5710); 查看enent SHOW CREATE EVENT ossec_del_data; 修改时间间隔 ALTER EVENT ossec_del_data ON SCHEDULE EVERY 2 DAY;…
-
linux ip_forward 说明
ip地址分公有地址和私有地址,public address是由INIC(internet network information center)负责,这些ip地址分配给注册并向INIC提出申请的组织机构。通过它访问internet.private address是属于非注册地址,专门为组织内部使用,private ip address是不可能直接用来跟WAN通信的,要么利用帧来通信(FRE帧中继,HDLC,PPP),要么需要路由的NAT功能把私有地址转换为一个公有ip! 选择一台电脑(有两个网卡或者用单网卡然后用软件虚拟多一个网卡)充当网关,一个网卡(eth0)连接外网ISP,另一网卡(eth1)连接内网(即局域网)。局域网内的ip地址都是私用地址,只能在内部使用,在公网上是不可见的,所以局域网电脑要上网必须修改ip,这就是网关的工作。 工作原理: 内网主机向公网发送数据包时,由于目的主机跟源主机不在同一网段,所以数据包暂时发往内网默认网关处理,而本网段的主机对此数据包不做任何回应。由于源主机ip是私有的,禁止在公网使用,所以必须将数据包的源发送地址修改成公网上的可用ip,这就是网关收到数据包之后首先要做的工作–ip转换。然后网关再把数据包发往目的主机。目的主机收到数据包之后,只认为这是网关发送的请求,并不知道内网主机的存在,也没必要知道,目的主机处理完请求,把回应信息发还给网关。网关收到后,将目的主机发还的数据包的目的ip地址修改为发出请求的内网主机的ip地址,并将其发给内网主机。这就是网关的第二个工作–数据包的路由转发。内网的主机只要查看数据包的目的ip与发送请求的源主机ip地址相同,就会回应,这就完成了一次请求。 出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包。这通常就是路由器所要实现的功能。 配置Linux系统的ip转发功能,首先保证硬件连通,然后打开系统的转发功能 less /proc/sys/net/ipv4/ip_forward,该文件内容为0,表示禁止数据包转发,1表示允许,将其修改为1。可使用命令echo “1” > /proc/sys/net/ipv4/ip_forward 修改文件内容,重启网络服务或主机后效果不再。若要其自动执行,可将命令echo “1” > /proc/sys/net/ipv4/ip_forward 写入脚本/etc/rc.d/rc.local 或者 在/etc/sysconfig/network脚本中添加 FORWARD_IPV4=”YES”
-
mysql主从配置视频
主库: GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’10.0.0.1’ IDENTIFIED BY ‘password’; flush privileges; 从库: CHANGE MASTER TO MASTER_HOST=’10.0.0.1′,master_user=’repl’,master_password=’password’,MASTER_LOG_FILE=’mysql-bin.000152′, MASTER_LOG_POS=1; start slave; show slave status\G;
-
如何在vi里删除 空行 空字符 重复行 dos符号
经常用到的vi内的删除命令: x 或 X 删除一个字符。 Ctrl+u 删除输入方式下所输入的文本。 ^R 恢复u的操作 J 把下一行合并到当前行尾 V 选择一行 ^V 按下^V后即可进行矩形的选择了 :%s/r//g 删除DOS方式的回车^M :%s= *$== 删除行尾空白 :%s/^(.*)n1/1$/ 删除重复行 :%s/^.pdf/new.pdf/ 只是删除第一个pdf :%s/// 又是删除多行注释(咦?为什么要说「又」呢?) :g/^s*$/d 删除所有空行 :g/^s*$/d 删除所有空行 :g!/^dd/d 删除不含字符串’dd’的行 :v/^dd/d 同上 (译释:v == g!,就是不匹配!) :g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行 :v/./.,/./-1join 压缩空行 :g/^$/,/./-j 压缩空行 ndw 或 ndW 删除光标处开始及其后的 n-1 个字符。 d0 删至行首。 d$ 删至行尾。 ndd 删除当前行及其后…
-
Centos 7 安装mysql
Introduction MySQL is a popular open source relational database. The popularity of MySQL means there is an abundance of information online and well documented client libraries available. MySQL supports many common database features such as replication, partitioning, triggers, views, and stored procedures. A plugin storage architecture allows support for multiple storage engines. Requirements Single server…
-
MySQL修改root密码的几种方法
方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set password for 用户名@localhost = password(‘新密码’); 例子:mysql> set password for root@localhost = password(‘admin10000.com’); 上面例子将用户root的密码更改为admin10000.com 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password admin10000.com 上面例子将用户root原来的密码123456改为新密码admin10000.com 方法3:用UPDATE直接编辑user表 首先登录MySQL。 mysql> use mysql; mysql> update user set password=password(‘moneyslow.com’) where user=’root’ and host=’localhost’; mysql> flush privileges; 方法4:在忘记root密码的时候,可以这样。 以windows为例: 1. 关闭正在运行的MySQL服务。 2. 打开DOS窗口,转到mysql\bin目录。 3. 输入mysqld –skip-grant-tables 回车。–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 4.…
-
Mysql常用优化建议 及 命令解释
mysql 编译参数优化 ./configure –prefix=/usr/local/mysql \ –without-debug \ –without-bench \ –enable-thread-safe-client \ –enable-assembler \ –enable-profiling \ –with-mysqld-ldflags=-all-static \ –with-client-ldflags=-all-static \ –with-charset=latin1 \ –with-extra-charset=utf8,gbk \ –with-innodb \ –with-csv-storage-engine \ –with-federated-storage-engine \ –with-mysqld-user=mysql \ –without-embedded-server \ –with-server-suffix=-community \ –with-unix-socket-path=/usr/local/mysql/sock/mysql.sock ——————————— mysql 慢查询: mysql 5.0 [mysqld] long_query_time = 1 log-slow-queries = /var/log/mysql/slow.log mysql 5.1 [mysqld]…
-
Linux shell mysql命令精华收藏
sed合并两行,将 1 2 3 4 合并成: 1 2 3 4 sed ‘$!N;s/\n/\t/’ 文件名 按模式合并: sed ‘/2/{N;s/\n/\t/}’ 文件名 vi 里替换空格行 %s/^\n//g awk and sed 去掉第一列重复的行 awk ‘! a[$1]++’ t.lst 去掉重复行 awk ‘a!=$1{a=$1;print}’ yourfile sed -n ‘/<title>/,/<\/title>/p’ aaa.shtml |grep -v title 去掉,开头的行 sed -e ‘/^,/d’ t1.lst > t2.lst shell 比大小和自增的例子 #!/bin/bash c=1; …
-
老掉牙的扫描工具列表
Shadow Security Scanner v 网络入侵机_V2.0 波尔远程控制V6.32 VIP破解版 superscan4.0扫描器 HttpsMimTools nohackasp木马生成器 拿站和思路 Oracle_专用注射器 远程控制软件ntshell v1.0(开源 挖掘鸡4.02 Willcome急速批量抓鸡全能 PcShare远程控制软件 多功能S扫描器 php168漏洞利用工具 中华经典网络军刀NC 小马上线及绑困和抓鸡 iebho攻击程序 终极Rootkit 超详细讲解鸽子上线 QQEAMIL攻击器 PHP木马修改增强版 金豹多顶下载者 framework-2.6-snapshot 提权工具集 EditPlus v2.31 Buil 最新过XP2网马 剑煞BetaV7.6.8 扫描端口V2.0 X-way扫描器 SpyNet Sniffer 网站猎手2.0 X-Scan-v3.3 流光5.0黑客基地专用破解版 NBSI网站漏洞检测工具 明小子旁注工具3.5 端口过滤扫描器 mysql_pwd_crack Advanced IP Scanner v1.5 IPScanner 扫描软件THC-Amap v5.0 php注入辅助工具:phpsend PackInter,sniffer工具含源代码 X-Scan-v3.2-cn…
-
老掉牙的黑客经典教程
[(第1章 一个黑客的基本技能)] 1、黑客的精神态度是很重要的,但技术则更是重要。黑客的态度虽然是无可取代,随著新科技的发明和旧技术的取代,这些工具随时间在慢慢的改变。例如:以往总是会学会用机器码写程序,直到最近我们开始使用HTML。不过,在1996年末,当然,这是基础的hacking技能。在1997年,理所当然的,你必须学会C。 但,如果你只是学一种语言,那么你不能算是一位黑客,了不起只能算是一个programmer。除此,你还必须学会学会以独立于任何程序语言之上的概括性观念来思考一件程序设计上的问题。要成为一位真正的黑客,你必须要能在几天之内将manual内容和你目前己经知道的关连起学会一种新的语言。也就是说,你必会学还了C之外的东西,你至少还要会LISP或Perl(Java也正在努力的挤上这个名单; 译者注: 我很怀疑这份名单)。除了几个重要的hacking常用语言之外,这些语言提供你一些不同的程序设计途径,并且让你在好的方法中学习。 程序设计是一种复杂的技术,我没辨法在这提供完整的学习步骤。但是我能告诉你一些在书本上和课堂上所没有的东西(有很多,几乎全部最好的黑客们都是自习而来的)。(a) 读别人的程序码;(写程序,这两项是不错的方法。学习写程序就像在学习写一种良好的自然语言,最好的方法是去看一些专家们所写的东西,然后写一些你自己的东西,然后读更多,再写更多。然后一直持续,一直到你发展出一种属于自己的风格和特色。要找到好的程序码来看是很一件很困难的事,因为,对菜鸟黑客们而言,适于供他们阅读和努力的大型程序的source数量很少。但这事己有了戏剧性的变化了; 现在免费的供应的软件、程序设计工具和操作系统(大都公开提供 source,而且全都是由黑客们写成的)到处可看。进入下一个主题。 2、取得一个免费的 UNIX,并学习使用和维护。我先假设你己经有一部个人电脑或者是可以使用任何一部(现在的小孩子真幸福,可如此轻易的拥有 :-))。 取得黑客技巧的第一个步骤是取得一份Linux 或者一份免费的 BSD-Unix,并将它安装在自己的机器,并使之顺利的运作。没错,在这个世界上除了Unix之外,还有其它的操作系统。但是他们只提供bianry,你不能看到他们的程序码,你也不能修改他们。想要在DOS或Windows或MacOS开始hacking,无疑就是要你绑著枷锁跳舞一样。 除此之外,Unix是Internet上的操作系统。当你在不懂Unix的情况下学习使用Internet时,你没辨法在不懂Unix的情况下成为Internet的黑客。因为这个原故,现在的黑客文化还是很牢固的以Unix为中心。(这并不完全是正确的,而且有些活在旧时代的黑客甚至也不喜欢这种情形,但是Unix和Internet之间的共生共成己经到了牢不可破的地步,即使是Microsoft的大块肌肉也没能在上面留下明显的伤痕。) 因些,把Unix装起来吧! (我自己是喜欢Linux,但是还有其它的东东可用。) 学习它,让它运作起来,让它陪你努力精进。 用他向整个Internet喊话。看程序码,改程序。 有一天你成为一位高竿的黑客,你回头往后看时会发现,你得到比Microsoft操作系统所能提供的还要好的程序设计工具(包括 C,Lisp和 Perl)。而且得到快乐,并学到比共生共成己经到了牢不可破的地步,即使是Microsoft的大块肌肉也没能在上面留下明显的伤痕。) 因些,把Unix装起来吧! (我自己是喜欢Linux,但是还有其它的东东可用。) 学习它,让它运作起来,让它陪你努力精进。用他向整个Internet喊话。 看程序码,改程序。有一天你成为一位高竿的黑客,你回头往后看时会发现,你得到比Microsoft操作系统所能提供的还要好的程序设计工具(包括 C,Lisp和 Perl)。而且得到快乐,并 学到比你想像中的还要多的知识。关于学习Unix,在Loginataka有更多的资料。(http://www.ccil.org/~esr/faqs/loginataka。) 看一下Linux distribution的目录或 Linux CD,并把自己交付给它。 3、学习使用World Wide Web并学会写 HTML。 在黑客文化创造出来的东西,大多在他们的活动范围外被使用著,如,在工厂和辨公室或大学被漠漠的使用著。但Web是一个很大的例外,这个黑客眼中的大玩具甚至还被政客们接受,并巧巧的在改变这个世界。因此(还有很多好的理由),你必须学习Web。并不只是学习使用browser(这太容易了)而己,还要学会写HTML这个Web的标签语言。如果你不知道如何设计程序,写HTML也可以给一些习惯上的帮助。嗯!! 建立home page吧! 不过,有一个home page 并没任何特别之处能让你成为一位黑客。Web上到处都是home page,而且大部份都没什么重点,没什么内容的烂泥 — 很好看的烂泥巴,但是看起来都一样,差不多。 4、至少学会以下的其中两种: 一、网站服务器程序ASP、PHP、CGI、jsP 我个人认为CGI是最难学的其中一种。 二、程序语言:C语言、C++、VB、J**A、PERL、DELPHI、汇编语言 不过我认为C语言的通用性最好,可以跨平台(操作系统)使用。 还要试着自己写程序、开发软件等工作。 三、数据库管理软件:MYSQL、SQL、FOXPRO……等。…
-
mysql-can’t get stat of (errcode:13)
mysql> load data infile ‘/root/aaa’ into table test fields terminated by ‘,’ lines terminated by ‘\n’;mysql> ERROR 13 (HY000): Can’t get stat of ‘/root/aaa’ (Errcode: 13)开始还以为是/root/aaa文件权限或者是mysql的root用户权限的问题,后来想不对呀,mysql的root用户是超级用户,肯定有权限的,那问题就出在/root/aaa文件的权限上,后来把/root/aaa的权限改成777,执行操作后还是不行。呵呵,原来是aaa文件所在的文件目录权限的问题,这个好办,换到/tmp/aaa,执行上述操作看看:mysql> load data infile ‘/tmp/aaa’ into table users_groups fields terminated by ‘,’ lines terminated by ‘\n’;Query OK, 14 rows affected (0.01 sec)Records: 14 Deleted: 0 Skipped: 0 Warnings: 0ok,成功了!之所以要用/tmp目录的原因是mysql默认使用了/tmp作为临时读写目录。mysql> show…
-
CentOS7下Strongswan架设IPSec-IKEv1, IKEv2, L2TP VPN,适用于 IOS9,OSX, Windows, Linux
参考: https://www.creekside.network/zh/2020/08/13/vpn%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%85%8D%E7%BD%AE%E6%8C%87%E5%8D%97/ https://www.howtoing.com/how-to-setup-ikev2-vpn-using-strongswan-and-letsencrypt-on-centos-7 http://www.fish2bird.com/?p=793 https://datahunter.org/strongswan VPN 隧道协议PPTP、L2TP、IPSec和SSLVPN(SSTP,OpenVPN)中安全性逐级提高,相应的受到墙的干扰相对要弱点,但是现在我们考虑到跨平台,PPTP穿透力及安全性可以忽略,所以这里搭建支持 ikev1/ikev2 的 Ipsec VPN,适用于iOS、Android、Windows 7+ 、MacOS X,及Linux。为了兼容Windows 7以下的系统,同时搭建L2TP/IPSec支持。 支持IOS9 IKEV2 的配置,直接到最后查看2015.12更新 安装 StrongSwan 由于Openswan已经没人维护了,所以我们选择更强大的Strongswan.它是一个完整的2.4和2.6的Linux内核下的IPsec和IKEv1 的实现。它也完全支持新的IKEv2协议的Linux 2.6内核。 StrongSwan 的发行版已包含在 EPEL 源中, 但是CentOS源的包比较旧,所以我们手动在官网https://www.strongswan.org/download.html下载安装包,当然你也可以直接源码编译。 wget http://dl.fedoraproject.org/pub/epel/7/x86_64/s/strongswan-5.3.2-1.el7.x86_64.rpm rpm -ihv strongswan-5.3.2-1.el7.x86_64.rpm 编译: wget http://download.strongswan.org/strongswan.tar.gz tar xzf strongswan.tar.gz cd strongswan-* ./configure –sysconfdir=/etc –enable-openssl –enable-nat-transport –disable-mysql –disable-ldap –disable-static –enable-shared –enable-md4 –enable-eap-mschapv2 –enable-eap-aka –enable-eap-aka-3gpp2 –enable-eap-gtc –enable-eap-identity…
-
php5.6源码安装及php-fpm配置
LNMP环境的搭建中,现在只有php没有源码安装过。这篇文章就把这个介绍下。 注意本篇文章使用的centos 6.5 64bit。 登陆centos下载php5.6的安装包。php的软件包可以去国内的souhu镜像站点去下载。 wget http://mirrors.sohu.com/php/php-5.6.2.tar.gz 在安装之前,我们需要安装php5.6编译时所依赖的软件包。如下: yum -y install gcc gcc-c++ libxml2 libxml2-devel 以上软件包安装完毕后,我们现在来解压刚刚下载的php5.6源码包。使用如下命令: tar -xf php-5.6.2.tar.gz 进入php5.6的解压目录,现在开始配置php5.6,使用如下命令: cd php-5.6.2 ./configure –enable-fpm –enable-mbstring –with-mysql=/usr/local/mysql 如果没有错误的情况下,配置完毕后。系统会出现如下的提示信息: 注意上述命令中–enable-fpm的作用是开启php的fastcgi功能即开启php-fpm功能,–with-mysql=/usr/local/mysql是启用php支持mysql的功能,/usr/local/mysql是mysql数据库的安装路径。 –enable-mbstring表示启用mbstring模块mbstring模块的主要作用在于检测和转换编码,提供对应的多字节操作的字符串函数。目前php内部的编码只支持ISO-8859-*、EUC-JP、UTF-8,其他的编码的语言是没办法在php程序上正确显示的,所以我们要启用mbstring模块。 同时我们也只是简单的开启和扩展php的一部分功能,其他需要的功能,请自行添加。 配置完毕后,我们现在来编译php,使用make命令,如下: make php编译的时间比较长,根据机器的性能不同需要等待10-20分钟左右。编译完毕后的截图,如下: 编译完毕后,我们现在开始安装php,使用如下命令: make install 安装完毕后,我们可以通过php –v命令查看是否安装成功。如下: php –v 通过这样安装完毕后,你会发现在/usr/local/lib目录下没有php.ini文件。在这我们就先复制php安装文件提供的模版,如下: cp php.ini-production /usr/local/lib/php.ini 注意php.ini文件一般在/usr/local/lib/和/etc目录下。有关php安装完毕后,没有php.ini文件的,我们再另外一篇文章再介绍。 不要以为到这php的安装就完毕了,LNMP环境中的nginx是不支持php的,需要通过fastcgi来处理有关php的请求。而php需要php-fpm这个组件来支持。 在php5.3.3以前的版本php-fpm是以一个补丁包的形式存在的,而php5.3.3以后的php-fpm只需要在安装php-fpm开启这个功能即可。这个也就是前边,我们再配置php使用到的那个命令–enable-fpm。 php-fpm功能开启后,我们还需要配置php-fpm。其实php-fpm的配置文件在安装php时,已经为我们提供了一个配置文件的模版。该模版为/usr/local/etc/php-fpm.conf.default,如下: more /usr/local/etc/php-fpm.conf.default 我们现在只需要复制一份该文件,并重命名为php-fpm.conf,如下: cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf 为了让php-fpm已服务的形式启动。我们需要复制php安装目录下/sapi/fpm/init.d.php-fpm文件。如下: cp…