分类目录归档:LINUX

CentOS7 systemctl命令初探

CentOS7 systemctl命令初探

CentOS7在系统结构上和CentOS5、6有了很大的区别,它用systemd代替了init作为用户的初始进程。systemctl命令是CentOS7下的管理命令。

1、用户启动进程类别
Linux系统主要有以下几种主流选择:
(1)以Ubuntu为代表的Linux发行版采用upstart。
(2)以7.0版本之前的CentOS为代表的System V init。
(3)CentOS7.0版本的systemd。
继续阅读CentOS7 systemctl命令初探

CentOS7修改ssh端口

CentOS7修改ssh端口

1、安装工具包

yum install -y policycoreutils-python

2、关闭SELinux

[root@server201 ~]# sestatus -v
SELinux status:                 enabled


修改配置:

vim /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled
重启机器生效。

3、修改ssh端口

vim /etc/ssh/sshd_config

将Port 22 改为一个大于1000的端口,比如12333。

4、修改防火墙策略
1)添加端口

[root@server201 ~]# firewall-cmd --zone=public --add-port=12333/tcp --permanent
success

2)重新加载配置

[root@server201 ~]# firewall-cmd --reload
success

3)查看端口是否被打开

[root@server201 ~]# firewall-cmd --permanent --query-port=12333/tcp
yes

5、重启SSH服务和防火墙

systemctl restart sshd.service
systemctl restart firewalld.service

参考资料:
http://blog.csdn.net/ausboyue/article/details/53691953
http://blog.csdn.net/u012486840/article/details/53161574

Linux进程后台运行方法

当用户注销(logout)或者网络断开时,登录的终端会收到HUP(hangup)信号从而关闭其所有子进程。我们可以使用3个命令来实现进程后台运行。

1、nohup
nohup的用途就是让提交的命令忽略hangup信号。

举例:

nohup ./startup.sh &

后台运行tomcat

2、setsid
setsid的作用是让运行的进程不属于接受HUP信号的终端的子进程。

举例:
比如bash登录上来ppid是10627

UID        PID  PPID  C STIME TTY          TIME CMD
root       521     1  0 May21 ?        00:00:01 /usr/sbin/sshd
root     10625   521  0 00:56 ?        00:00:00 sshd: root@pts/0 
root     10627 10625  0 00:56 pts/0    00:00:00 -bash


这时ping一个网址

ping www.google.com

在另一个窗口查看

ps -ef | grep ping

UID        PID  PPID  C STIME TTY          TIME CMD
root     10664 10627  0 00:57 pts/0    00:00:00 ping www.google.com


用setsid后PPID变为1(init进程ID),不会接受HUP信号

setsid ping www.google.com
ps -ef | grep ping

UID        PID  PPID  C STIME TTY          TIME CMD
root     10668     1  0 00:58 ?        00:00:00 ping www.google.com


3、screen
screen可以在后台创建会话,从而让进程在后台运行。

screen常用命令:
screen:开一个窗口
screen -r:恢复进入窗口
screen -r -D:强行进入窗口
在screen窗口内:Ctrl + A D 窗口后台运行
screen -ls:查看全部session列表
screen -d -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户再连接。
screen -D -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户并让他logout再连接

Linux下SHA256计算哈希值和RSA加密

项目中遇到系统之间文件传输要使用SHA256 with RSA1024加密,计算签名。详细了解了一下。

1、SHA256
哈希算法用于计算信息摘要。因为md5和sha1有被碰撞和破解的可能性,所以使用sha256。

1.1、使用sha256sum命令计算哈希值
输入:一个文件或一个字符串
输出:SHA256输出256bit,32个字节,显示为64个16进制字符

1)当对字符串计算哈希值时,字符串不变,计算出的哈希值结果是一致的
2)当对两个文件计算时,文件生成时间不同,但文件内容相同,计算出的哈希值是一致的
3)当对两个相同内容的文件,分别打包压缩成tar.gz格式后,计算出的哈希值结果不一致
应该是在tar打包压缩时,添加了随机数,造成两个文件的哈希值不一致

2、RSA加密
RSA每次生成的密文都不一致?
公钥相同,明文相同,每次RSA加密的结果都不一致。因为RSA算法,加密前对明文进行了随机数填充,解密的结果不会受到影响。

输入:一个文件或一个字符串
输出:RSA 1024输出密文1024bit,128个字节的16进制字符

因为RSA key长度是1024,所以输出的密文也是1024吗?
继续阅读Linux下SHA256计算哈希值和RSA加密

CentOS搭建Weblogic容器

Weblogic是一个Java App的容器,一般大型应用跑在Weblogic中。系统为CentOS6.2 64bit。

一、安装
这里安装的是Weblogic 11g。

1、下载地址:
http://www.oracle.com/technetwork/cn/middleware/ias/downloads/wls-main-091116-zhs.html

64位版本选择:
Oracle WebLogic Server 11gR1 (10.3.6) + Coherence – 打包安装程序
通用:1 GB File1

网盘共享地址:
wls1036_generic.jar

2、安装JDK
通用的64位Weblogic安装程序本身并未包含JDK,所以要先下载并安装JDK。
安装过程见前一篇:CentOS搭建tomcat容器

3、开始安装
控制台安装模式:

java -jar wls1036_generic.jar -mode=console

1)输入next

Extracting 0%....................................................................................................100%

<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->

Welcome:
--------

This installer will guide you through the installation of WebLogic 10.3.6.0. 
Type "Next" or enter to proceed to the next prompt.  If you want to change data entered previously, type "Previous".  You may quit the installer at any time by typing "Exit".

Enter [Exit][Next]> 


继续阅读CentOS搭建Weblogic容器

CentOS搭建tomcat容器

这里我们要配置JDK1.8 + Tomcat 8的环境。Tomcat是一个web容器,里面跑的是web applaction。系统为CentOS6.2 64bit。

一、安装JDK1.8
1、下载
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
由于无法直接获取下载地址,只能先在本机下载再上传rpm包到服务器

网盘共享地址:
jdk-8u45-linux-x64.tar.gz
jdk-8u45-linux-x64.rpm

2、卸载OpenJDK

rpm -qa | grep java

网上说要先卸载旧版的JDK,如果有的话。

3、安装
上传之后安装:

# rpm -ivh /tmp/jdk-8u45-linux-x64.rpm

Preparing...                ########################################### [100%]
   1:jdk1.8.0_45            ########################################### [100%]
Unpacking JAR files...
	rt.jar...
	jsse.jar...
	charsets.jar...
	tools.jar...
	localedata.jar...
	jfxrt.jar...
	plugin.jar...
	javaws.jar...
	deploy.jar...


JDK安装路径为/usr/java。
继续阅读CentOS搭建tomcat容器

windows和linux打印树状目录结构

windows下有tree命令可以打印出树状目录结构,linux下也有这个命令。

1、windows下tree命令
cmd窗口中查看帮助:

tree /?

以图形显示驱动器或路径的文件夹结构。

TREE [drive:][path] [/F] [/A]
   /F   显示每个文件夹中文件的名称。
   /A   使用 ASCII 字符,而不使用扩展字符。


使用tree /f > tree.txt命令,就可以把打印出的树状目录结构写入到tree.txt文件中了。

2、linux下tree命令
linux下的tree命令功能更强大,参数更多。

安装:

yum install tree

查看帮助:

tree --help

其中常用参数:
-a:打印全部文件。
-A:使用ASNI绘图字符显示树状图而非以ASCII字符组合(显示的树状图为实线不是虚线)。
-C:在文件和目录清单加上色彩,便于区分各种类型。
-d:只打印目录。
-L level:指定打印目录的深度(层级)。
-f:打印出每个文件、目录的绝对路径。
继续阅读windows和linux打印树状目录结构

Linux rz和sz命令

rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。
优点就是不用再开一个sftp工具登录上去上传下载文件。

sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器

安装命令:

yum install lrzsz

从服务端发送文件到客户端:

sz filename

从客户端上传文件到服务端:

rz

在弹出的框中选择文件,上传文件的用户和组是当前登录的用户

SecureCRT设置默认路径:
Options -> Session Options -> Terminal -> Xmodem/Zmodem ->Directories

Xshell设置默认路径:
右键会话 -> 属性 -> ZMODEM -> 接收文件夹

PS:同事和我说SecureCRT可以方便的上传下载文件,而Xshell没有。我上网一查原来用的是同一个sz/rz工具,Xshell下没有菜单选择要输命令。

vim使用笔记

vim编辑器安装c.vim插件对C/C++编程有很大的帮助。
官方主页:http://www.vim.org/scripts/script.php?script_id=213

1、下载插件

cd ~
wget http://www.vim.org/scripts/download_script.php?src_id=21803 -O c_vim.zip

我下载的是2014-04-21发布的6.1.1

2、解压安装

mkdir ~/.vim
cd ~/.vim
unzip ~/c_vim.zip

3、激活插件

vim /etc/vimrc

加入:

filetype plugin on

PS:在vim中使用:set runtimepath可以查看插件能安装的位置
PS2:默认插件位置好像在/usr/share/vim/vim72

用vim编程还需要有一个适合的编辑器风格。
继续阅读vim使用笔记