随笔 - 8, 文章 - 1, 评论 - 14, 引用 - 0
数据加载中……

2012年5月13日

vsftp的配置,包括匿名上传

vsftpd匿名用户上传和下载的配置
  看到很多朋友配置vsftpd时不能使用匿名用户上传和下载(创建目录或删除、重命名文件夹),本文主要解决vsftpd的匿名用户权限配制问题。
  配置要注意三部分,请一一仔细对照:
  1、vsftpd.conf文件的配置(vi /etc/vsftpd/vsftpd.conf)
  #允许匿名用户登录FTP
  anonymous_enable=YES
  #设置匿名用户的登录目录(如需要,需自己添加并修改)
  anon_root=/var/ftp/pub
  #打开匿名用户的上传权限
  anon_upload_enable=YES
  #打开匿名用户创建目录的权限
  anon_mkdir_write_enable=YES
  #打开匿名用户删除和重命名的权限(如需要,需自己添加)
  anon_other_write_enable=YES
  #匿名用户的掩码(如需要,需自己添加,含义:如umask是022,这时创建一个权限为666的文件,文件的实际权限为666-022=644)
  anon_umask=022
  2、ftp目录的权限设置
  默认情况下,ftp的根目录为/var/ftp,为了安全,这个目录默认不允许设置为777权限,否则ftp将无法访问。但是我们要匿名上传文件,需要“other”用户的写权限,正确的做法:
  在/var/ftp中建立一个upload(名子自己起吧)文件夹,将个文件夹权限设置为777(视具体需要自己设),在upload这个文件夹中,匿名用户可以上传文件、创建文件夹、删除文件等。
  一般至此,便实现vsftpd匿名用户的上传下载了。如果还不行,就是下面的问题。
  3、selinux的配置
  SELinux(Security-Enhanced Linux) 是美国国家安全局(NAS)对于强制访问控制的实现,是 Linux上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。
  最简单的办法,关闭selinux
  方法1:修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。
  方法2:用命令setenforce 0,无需重启。(setenforce的格式:setenforce [ Enforcing | Permissive | 1 | 0 ])
  方法3:在lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux。
  使用getenforce查看当前selinux是否正在运行。
  不关闭selinux,就要设置selinux的ftp权限。
  1、使用getsebool -a | grep ftp查看ftp相关设置状态,我们要将allow_ftpd_anon_write设为on。
  2、使用setsebool -P 进行设置。例:setsebool -P allow_ftpd_anon_write=on。
   或使用togglesebool进行bool值取反,例如togglesebool allow_ftpd_anon_write。
  3、修改selinux安全上下文,先介绍两个命令:
   命令1、ls -Z  ps -Z  id -Z  # 分别可以看到文件,进程和用户的SELinux属性
   命令2、#chcon 改变SELinux安全上下文
   chcon -u   对象
       -r 
       -t 
       -R 递归
       --reference 源文件 目标文件          # 复制安全上下文
   使用方法:
    步骤1、ls -Zd /var/ftp/upload/ 通常会看到:
     drwxr-xr-x ftp root system_u:object_r:public_content_t /var/ftp/upload/
    步骤2、chcon -R -t public_content_rw_t /var/ftp/upload/
    步骤3、ls -Zd /var/ftp/upload/ 如果看到如下信息就OK了:
     drwxr-xr-x ftp root system_u:object_r:public_content_rw_t /var/ftp/upload/
  最后还是重启下selinux和vsftpd吧,不重启其实也没关系。重新登录到ftp上,应该就能解决问题了。
  另,selinux的图形界面 可由system-config-selinux命令进入。 

posted @ 2012-05-13 14:16 兵临城下 阅读(550) | 评论 (0)编辑 收藏

2011年10月22日

技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)

转篇文章
http://www.cnblogs.com/david_lv/archive/2008/08/19/1270860.html

 我一直在思考软件公司如何开源节流。
当然,老板也在思考开源节流。
当然,老板思考的开源节流在公司运营层面上,而我作为CTO,我考虑的则是在产品运营角度上来思考这个问题。否则,一个软件公司,它的生存与发展就是靠软件产品,除此之外没有别的收入来源,那么作为负责产品的人再觉得没有责任思考这个关乎公司盈利与发展的问题,那么要把这个问题甩给天天忙销售忙资金忙公司管理的老板么?那要你这个CTO干吗?难道就是为了让你当个工头管住一帮人么?

 

     有的公司光有技术总监,没有CTO。技术了得,但和公司战略发展不贴身,光有技术发挥不了,公司的业务发展也沾不上他的技术的光。原因就是技术总监在思考产品,却没有思考产品和公司战略发展的结合。

而且,一个产品要想成功,销售能支撑和发展一个公司,是很难的。不是你做出一个产品就能成功。而且产品也不是一个独立的东西,它的成功要关联许多人。

 

     首先,你不理解老板的发展战略(首先老板得喜欢你。喜欢一个人,有性格脾气对路的原因,也有你的气质和管理能力和眼光和勇气和决心和威信原因,也有你忠于老板的原因。一个老板觉得不放心不喜欢的人,光有能力是不行的,是迟早被老板Kill的人,当然老板也不会让你知道他在想什么。你连老板在想什么都不知晓,如何做和老板想法贴切的产品呢?这也是很多技术总监和CTO连头都没开就身先死的原因,更别说运营一个成功的产品。这个话题虽然让很多崇尚职业管理的人不屑一顾,但现实就是如此。要么你怀着才等中国变成职业民主国度,要么你现在就动手做。成功的人都是在不可能完成的情况下完成的。如果都是万事俱备,那老板要你和要别人有什么两样呢?),连制造一个产品的机会都没有,更别说给你人力资源和研究的时间资源和技术培训资源。

 

      你即使理解了,你还得想出与之匹配的产品。这是更难的第二步。

 

      但不要以为一个好的想法就能成功。你需要组织你的人力资源来执行落地实现。一个公司所处的困境都是各有各的不同。没有春风得意让你随理想调度资源的公司。老板给你的资源,永远小于你干事需要的资源。这就是现实。

首先就是人力资源,就这么多人,这些人的素质。所以,你的设想,不仅要和公司战略匹配,而且还要和公司现状匹配,找好平衡点很不容易。

 

      这么多不容易还不算。你两个都考虑到了,就是没考虑到客户行业的现状、挑战、机遇、困境和客户行业未来3-5年的变化,那么你的产品可能符合老板的想法,但就是卖不出去(老板有理想有梦想,但未必老板的理想和梦想能和客户的发展同步),老板问罪的可是你。

 

     人归你管了,人也就这样了,短期内提高和扭转是不可能的。于是,必须开始。但是每个人的想法是否能统一一致朝着你的目标走,每个人的配合起来的素质是否能达到你的要求,快进了也不行,推出早了是先烈,而且很有可能都推不出来,因为自己内部乱了阵脚了。慢了也不行,人家都在热卖了,你想炒个热点突出你,不容易。

 

     人也是有疲劳期的,人也有发脾气的时候,人的精神惰性也很大,人的性格也不同。你如何给这支队伍进行持续的浇花施肥修剪枝丫防虫防害,有时还要晒晒太阳见见风,有时还要搬到阴凉地儿,都需要不时看看这支队伍是否有坏迹象。

 

      产品是费了劲做了出来,公司的其他部门不知道怎么推广怎么销售怎么实施怎么咨询怎么支持。梦想着靠流程来推行,自言自语说反正开发产品是我研发的事情,能不能推广就是你市场部的事情了,这样说纯粹是欺骗自己。这样,很容易产品连研发部都出不去,憋死在内部了。你一点成就感没有,当然,你的物质奖励也是没有的,还很有可能你该职业经理人跑路了。所以,必须有CTO,凌驾于技术总监之上,统管企业咨询实施支持,而协调市场与销售。

 

     传递是会失真的,尤其是一个需要费好大劲才能说明白的管理理念。于是你理解100%,研发人员理解70%,落实到产品上,落实了50%,传递到市场,成了30%,到了实施,成了20%,到了客户那里,客户只吸收10%。所以,一个灌注了好的管理理念的管理软件,客户只能接收10%的好处。所以,管理软件客户认为差不多就是个600块钱,高级点的电子表格而已。尤其随着客户人员的流失和更替,随着软件公司人员的流失和更替,最后啥都剩不下,软件能展示给客户的好处,真是一点好处都说不出来了。

posted @ 2011-10-22 17:03 兵临城下 阅读(2387) | 评论 (0)编辑 收藏

2011年8月19日

基础排序查找算法

二分查找:
 binarysearch考的比较多,它适用于已经排序的元素中的查找

 int binarySearch(int a[],int len,int value)
{
    int low = 0;
    
int high = len -1;    
    
    
while(low<=high)   //注意搜索条件,有可能两者会相等
    {
        
int mid = (low+high)/2;
        
if(a[mid]==value) return mid;
        
else if(a[mid]>value) high = mid -1;            
        
else low = mid + 1;    
    }
    
return -1;
}

int main()
{
    
int a[] = {1,2,3,4,5,6,7,8,9,10};
    
int rec = binarySearch(a,10,4);
    
if(rec==-1)
        printf(
"Not found\n");
    
else
        printf(
"value is found %d \n",rec);
    
return 0;
}
 
 快速排序
 对冒泡算法的扩展
 
  int partition(int a[],int low,int high)
{
    int temp = a[low];
    
while(low<high)
    {
        while(low<high && a[high]>=temp) --high;
        a[low] 
= a[high];
        
while(low<high && a[low]<=temp)  ++low;
        a[high] 
= a[low];
    }
    
    a[low] 
= temp;
    
return low;
}
    



void Qsort(int a[],int begin,int end)
{
    
int rec;
    
if(begin<end)
    {
        rec 
= partition(a,begin,end);
        printf(
"rec is %d\n",rec);                
        Qsort(a,begin,rec
-1);
        Qsort(a,rec
+1,end);
    }
}

int main()
{
    
int  a[] = {1,4,0,-3,90,7,9,23};
    Qsort(a,
0,7);
    
int i =0;
    
for(;i<8;i++)
        printf(
"%d\t",a[i]);

    
return 0;
}
 
  
  

posted @ 2011-08-19 18:28 兵临城下 阅读(1803) | 评论 (4)编辑 收藏

2010年4月19日

哈希数据库 -- Tokyo Cabinet

     摘要: Tokyo Cabinet  阅读全文

posted @ 2010-04-19 13:05 兵临城下 阅读(2505) | 评论 (6)编辑 收藏

2010年4月16日

网站架构演变体系

     摘要: 网站架构演变  阅读全文

posted @ 2010-04-16 18:12 兵临城下 阅读(2340) | 评论 (4)编辑 收藏

2010年4月7日

邮件服务器返回码

     摘要: 邮件服务器返回码  阅读全文

posted @ 2010-04-07 11:11 兵临城下 阅读(1571) | 评论 (0)编辑 收藏

2010年4月6日

PERL常用内部变量

     摘要: PERL常用内部变量  阅读全文

posted @ 2010-04-06 10:31 兵临城下 阅读(440) | 评论 (0)编辑 收藏

2010年3月21日

主动定位

     摘要: 坚持  阅读全文

posted @ 2010-03-21 15:34 兵临城下 阅读(468) | 评论 (0)编辑 收藏