Linux
文章平均质量分 91
李子无为
鸢飞戾天者,望峰息心;经纶世务者,窥谷忘反
展开
-
sudo password超时
默认情况下,sudo会在”内存“中保存5分钟的密码(至少Ubuntu如此)(译注:CentOS下没有这个默认值,需要自己添加)如果你想修改这个值$ sudo visudo在其他Default行前增加下面一行Defaults timestamp_timeout=2或者简单地在已有Default行后面增加”timestamp_timeout=2“,如Defaults !lecture,翻译 2014-01-07 11:06:20 · 3387 阅读 · 0 评论 -
防止shell脚本长时间运行导致ssh超时
在一些对安全性要求较高的场景下,ssh的超时时间是管理员预先设置好的,在闲置一段时间后ssh连接会自动断开。这种情况下如果通过ssh执行脚本,而脚本运行时间又比较长的话,会导致ssh客户端和服务器长时间无交互而超时,命令执行失败。使用bash子进程可以解决这种问题,思路是由子进程执行具体的逻辑代码,而由主进程来监控子进程的执行状态,同时向控制台输出字符来keep alive。bash创建子原创 2014-05-06 17:17:42 · 5265 阅读 · 0 评论 -
centos6.5之ISO镜像精简制作及ks安装
一、ISO目录文件介绍:1、ISO目录列表:[root@zhuantang centos6]# lltotal 552-r--r--r--. 1 root root 14 Nov 29 19:52 CentOS_BuildTag-r--r--r--. 1 root root 31 Nov 29 20:08 .discinfo转载 2015-05-15 15:27:31 · 6862 阅读 · 0 评论 -
CentOS 5下安装perl module以支持IPV6
在我们的产品中用到了LWP::UserAgent,用于在perl代码中进行http请求,测试发现在纯V6环境下会返回下面的错误:Can't connect to [2001:db8:0:1:10:208:135:232]:8002 (Bad hostname '[2001:db8:0:1:10:208:135:232]')调查了以后发现一些perl应用依赖于IO::Socket::原创 2015-03-23 14:11:55 · 1715 阅读 · 0 评论 -
Linux不太常用,但是偶尔会用到的命令备忘(持续更新)
检查shell语法错误sh -n filenameshell 运行跟踪sh -vx ***.sh查看文件信息stat filename查询启动时间: uptime清空路由表缓存ip route flush cache或者:sysctl -w net.ipv4.route.flush=1 对整个目录下所有文件执行un原创 2013-12-26 09:25:49 · 1171 阅读 · 0 评论 -
在chroot环境下将MySQL日志输出到syslog
好久没写博客了,这几个月一直在学习nodejs,angularjs,做一些前端开发,目前还是学习阶段,等有一些体会再来分享。这两天碰到的一个问题是,我们的产品给客户后,客户要统一管理日志,MySQL要将日志输出到syslog,就需要在my.cnf的[mysqld_safe]段配置syslog。但是修改了以后发现服务启动失败,而且没有日志,经过几番调查,还需要做如下的事情:1. chroot原创 2014-09-03 14:46:08 · 2628 阅读 · 1 评论 -
MySQL 5.6 root密码初始化
从MySQL 5.6.6以后,安装rpm之后,root用户会被分配一个随机密码,同时在mysql.user表中新增了一个password expired字段,任何客户端首次连接后必须首先修改密码才能做下面的操作。这是因为在rpm的spec脚本中,初始化数据库的脚本改为/usr/bin/mysql_install_db --rpm --user=mysql --random-passwords原创 2014-09-25 12:39:17 · 11011 阅读 · 0 评论 -
chroot MySQL on CentOS
网上有各种chroot资料,但是似乎没有完整明确的chroot MySQL的介绍,结合工作,将我进行chroot MySQL的方法说明一下。因为Linux发行版本众多,首先说明运行环境:CentOS 5.9, MySQL 5.5,所有chroot环境下的文件都从父环境拷贝过来,适用于无网络或网络受限环境下的安全加固。chroot的作用不做过多介绍,部分内容可以参考我以前翻译的博客《Unix原创 2014-04-25 19:17:01 · 2659 阅读 · 0 评论 -
Redhat关于pam_tally2计数器在每次sudo时都增加的bug
这个问题跟sudo的版本有关,有人说在sudo 1.7.6p1之后已经OK了,谨以此文献给那些被百度搞得一头雾水而谷歌又被墙的同学。我用的sudo是1.7.2p1版本,CentOS5.9,问题现象先描述一下:使用pam_tally2模块来实现用户多次输入密码错误后锁住账号一段时间的需求,在/etc/pam.d/system-auth中增加pam_tally2的entry#%PAM-1.原创 2014-04-10 19:42:33 · 5936 阅读 · 0 评论 -
sed的label和N参数
写这篇文章的时候突然想起”疯狂的石头“电影中,徐峥扮演的老板打他的手下,说:“两百万的生意被你做成一千万!”。今天我也做了这么一单,快搞吐了,有阴沟里翻船的感觉。问题是这样,需要将一个脚本echo出来的字符串显示的html页面上,但是因为字符串中包含"\n",“\t"等字符,在html中需要转换为相应的标签或转义字符,否则显示格式不正确。原始shell脚本是这样:#!/bin/ba原创 2014-03-26 18:14:34 · 6642 阅读 · 0 评论 -
Linux组件升级方案的一些反思
正常情况下,产品每半年一个版本,比如13年上半年是13.1R1,下半年是13.2R1,到了14年就是14.1R1和14.2R1。但特殊情况下也会为了某些重要的客户增加几个例外版本,比如13.3R1,13.3R2等等。从2013年6月份至今,为了满足国外某大客户的安全性需求,开始在版本中增加安全加固的代码,其中绝大部分是修改Linux操作系统及安装软件如MySQL的配置文件,增删改一些配置条目。原创 2014-03-18 15:53:43 · 1438 阅读 · 0 评论 -
Linux Kernel Crash--hung_task_timeout_secs
前一阵产品升级Linux kernel的版本,升级后版本号是2.6.32-100.24.1.el5。QA在vmWare上运行扩充磁盘空间时,偶尔会发现console上打出一堆kernel的异常信息,如下图关键信息就是“hung_task_timeout_secs",第一次遇到kernel的问题,而且这个kernel是我们自己从源码build出来的,也拿不准是哪里的问题,于是开始go原创 2013-12-26 10:35:27 · 19353 阅读 · 1 评论 -
Unix chroot最佳实践
暴露在互联网上的系统要将坏人隔离在外是一个很大的挑战,而且一直更新最新的安全补丁也不太容易。因此,一些聪明的管理员们尝试采用系统的方法来限制可能发生的入侵,这其最终一个绝佳的方法就是使用chroot监狱(jail)。chroot jail极大地限制了应用程序可见的文件系统范围,更少的系统权限,这些都是为了限制应用程序误操作或者被坏人利用而对系统造成的损害。本文简述一下chroot是如何工作翻译 2014-03-13 09:51:13 · 4080 阅读 · 0 评论 -
对查询一款硬件服务器电源状态问题的探究
发现自己写的文章有点像是科技小品文,没有太多的技术含量,读起来也没太大难度,甚至可能像清水煮白菜,没什么味道。但是文章中的这些问题确实是在工作中碰到的,经过无数的google,或者向同事请教才解决的。自己经历的痛苦可能还会有人遇到,所以,为了”中国梦“的早日实现,无论如何,也要把这些问题还是记录下来,希望对他人能有所帮助。不积跬步无以至千里,相信总有一天猪也会飞起来的这个问题我曾经在China原创 2014-02-28 16:19:29 · 4059 阅读 · 1 评论 -
Linux避免多次sudo时重复输入密码的另一种实现
之所以称为”另一种实现”是因为在网络上搜索类似的标题时,几乎所有的建议都是去修改/etc/sudoers这个文件,加上NOPASSWORD这个参数来搞定。在我们的系统中,因为某种安全原因,只允许用户在某些情况下输入密码来获取root权限,但不能总有超级用户的权限。可是总让用户频繁输入密码确实很难受(作为一个有良心的程序员,还是希望自己的用户不要太辛苦),怎么办呢?又找了一下sudo的男人(原创 2014-02-07 14:40:52 · 4449 阅读 · 0 评论 -
对Linux安装过程的理解
很多人都有安装Linux的经历,无非就是插张光盘或者USB到主机上,然后按照提示一步一步进行配置,完了重启一遍,OK。但是这个过程中,系统到底做了些什么事情呢?下面就简单地来说一说。1. 可启动盘(Bootable Disk)的历史大家知道,普通的光盘是基于ISO-9660的标准发展起来的,在光盘上数据被组织为帧和扇区,一个扇区包含98帧,共2352字节,一个700M的CD大概包含了360原创 2014-01-27 17:44:20 · 8063 阅读 · 0 评论 -
Linux 引导的六个步骤(启动顺序)
按下系统的电源开关,过一会就可以看到Linux的登录界面了。你是否曾经想过,从按下电源开关到登录界面出现,这后面到底发生了什么?下面就来介绍一下典型Linux引导的六大步骤:1. BIOSBIOS表示基本输入输入系统(Basic Input/Output System)完成一些系统完整性检查搜索、加载并且执行引导程序(boot loader)翻译 2014-01-23 18:43:20 · 10088 阅读 · 1 评论 -
Linux Cluster环境下批量分发执行补丁
这两天做了一个需求,因为上一个版本的/tmp空间默认只分配了5G,而升级程序上传解压路径也是/tmp,且解压过程要占用5G左右的空间,这样就导致/tmp空间占满,解压失败,升级无法进行。后来想了一个办法,就是从/var建了一个软链接到/tmp,这样实际上升级文件上传解压到/var路径下了,解决了/tmp路径空间不足的问题。但是因为客户那里是一个cluster环境,由6个node组成,最好能够在一个原创 2014-01-13 14:46:36 · 2376 阅读 · 0 评论 -
使用RDO搭建OpenStack POC环境
先说句题外话,因为最近一两年参与了公司的一个微服务项目,整个系统可以由一套基于SaltScript的CD工具搭建起来,但是对开发人员非常不友好的是整套环境需要7个node,而且各种配置参数繁多,一不小心就安装失败。北京Office能够成功搭建环境的也就那么一两个人,而且动辄花几天时间,搭出一个环境来所有人一起用。这种情况下,怎么可能做到项目的高效开发?环境成本实在太高。所以我认为产品的系统设计阶段原创 2017-09-20 18:25:53 · 8676 阅读 · 0 评论