Fork me on GitHub
Suzf  Blog

Linux SSH key 登陆详解

SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task Force)的Network Working Group所制定的一种协议。SSH的主要目的是用来取代传统的telnet和R系列命令(rlogin,rsh,rexec等)远程登陆和远程执行命令的工具,实现对远程登陆和远程执行命令加密。防止由于网络监听而出现的密码泄漏,对系统构成威胁。

ssh协议目前有SSH1和SSH2,SSH2协议兼容SSH1。目前实现SSH1和SSH2协议的主要软件有OpenSSH和SSH Communications Security Corporation 公司的SSH Communications 软件。前者是OpenBSD组织开发的一款免费的SSH软件,后者是商业软件,因此在l...

LDAP服务器的概念和原理简单介绍

1. 目录服务

目录是一个为查询、浏览和搜索而优化的专业分布式数据库,它呈树状结构组织数据,就好象Linux/Unix系统中的文件目录一样。目录数据库和关系数据库不同,它有优异的读性能,但写性能差,并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。所以目录天生是用来查询的,就好象它的名字一样。

目录服务是由目录数据库和一套访问协议组成的系统。类似以下的信息适合储存在目录中:

  • 企业员工信息,如姓名、电话、邮箱等;
  • 公用证书和安全密钥;
  • 公司的物理设备信息,如服务器,它的IP地址、存放位置、厂商、购买时间等;

Read more

How-To: Debug Crashed Linux Application Core Files Like A Pro

Core dumps are often used to diagnose or debug errors in Linux or UNIX programs. Core dumps can serve as useful debugging aids for sys admins to find out why Application like Lighttpd, Apache, PHP-CGI or any other program crashed. Many vendors and open source project author requests a core file to troubleshoot a program. A core file is generated when an application program abnormally ter...

How-to: Linux下如何查看进程准确启动时间

在Linux下,总会有这样或是那样的需求。那么问题来了,如何查看进程的准确启动时间呢?

平时里查看进程的相关信息我通常用的是 ps aux 命令,但是ps aux命令的缺陷在于只能显示时间到年、日期、或者时间, 无法具体到年月日时分秒。如果需要查看某个进程的具体启动时间, 使用 ps -p PID -o lstart,  其中,PID为某个进程的进程ID号。
如下所示, 显示系统中所有httpd进程的具体启动时间。

[09:46:55][[email protected] ~]#for pid in $(pgrep php); do echo -n "${pid} " ; ps -p ${pid} -o lstart | grep -v "START" ; done
...
                
            

程序员禅的10条法则

程序员是一份特别辛苦的职业,也是一个承受各种压力的群体。每周6天工作,无休止的加班,甚至过劳死,程序员的身心健康面临很大的问题。禅是另一种生活方式,在物欲横流的今天,禅对于程序员有着特殊的意义和价值。

几百年前,禅宗大师开示众生:该说“不”时且开口,生命掌握在你手中。

今天依然如此。 禅修并非史蒂夫•乔布斯这样的业界精英的专利,你也可以。 禅修并非只能在周末进行,任何时候都行,甚至是现在,是的,就在此刻,从程序员禅的10条法则开始。
1、专注

禅修...

How-to: use bash_completion to complete command

如何使用 bash_completion 补全命令

对于Linuxer来说,自动补全是再熟悉不过的一个功能了。当你在命令行敲下部分的命令时,肯定会本能地按下Tab键补全完整的命令,当然除了命令补全之外,还有文件名补全。

自动补全这个功能是Bash自带的,但一般我们会安装bash-completion包来得到更好的补全效果,这个包提供了一些现成的命令补全脚本,一些基础的函数方便编写补全脚本,还有一个基本的配置脚本。但也正如之前说的,这个包不是必须的,只不过可以省些力气。

 

 

bash-completion这个包的安装位置因不同的发行版会有所区别,但是大致上启用的原理是类似的,一般会有一个名为bash_completion的脚本,这个脚本会在shell...

How-to: Update the Linux kernel

上周有同学问我Linux 如何升级内核, 后来工作之后接触到的是Debian, 内核基本上都是最新的 3.x.x 升级内核也就很简单了, 直接从源里就更新了。趁周末有空的时候我也搞一下, 以备以后工作之需。

本文适用于CentOS 6.X,亲测可行,估计也适用于其他Linux发行版。

1. 准备工作
1.1 下载源码包

Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.y

r: 主版本号
x: 次版本号,偶数表示稳定版本;奇数表示开发中版本。
y: 修订版本号 , 表示修改的次数

去 http://www.kernel.org 首页,可以看到有stable, longte...

How-to: Delete the redundant kernel after CentOS update

First method:
1. the kernel that is being used in the system:
#uname -r
2.6.32-573.3.1.el6.x86_64

2. query system in all of the kernel:
#rpm -qa | grep kernel

3. remove the kernel you want to remove:
(eg, in my system, I want to delete the kernel of kernel-2.6.32-573.1.1.el6.x86_64, and I need to delete all the kernel-2.6.32-573.1.1....