hongweipeng 发布的文章

解决vsftp 500 OOPS 的错误


起步

添加ftp用户后,给用户配置文件夹定义该用户的默认目录,连接时候报了错误

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

这个错误是我们限定了用户不能跳出主目录,毕竟是安全起见。

解决

从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者在vsftpd.conf配置文件中添加:

allow_writeable_chroot=YES

Python调用系统函数:pexcept模块


起步

人生苦短,我用python!最近涉猎也是越来越广了。需要创建ftp用户,然而创建用户是需要root的权限才能执行的,更是需要后续输入,好在有pexcept可以实现自由交互

举个栗子

要确定pexpect模块已安装:sudo pip install pexpect 看一个用sudo权限touch一个文件:

#!/usr/bin/env python
# coding=utf-8
import pexpect

cmd = "sudo touch sudo_touch"
passwd = '***'

run = pexpect.spawn(cmd)
try:
    run.sendline(passwd)
    ouput = run.read()
    print ouput
except:
    print 'Error'


OpenStack TaskFlow的介绍


前言

TaskFlow是OpenStack中的一个Python库,主要目的是让task(任务)执行更加容易可靠,能将轻量的任务对象组织成一个有序的流。

若未安装taskflow到环境中:

pip install taskflow

目前TaskFlow支持三种模式:

  • 线性:运行一个任务或流的列表,是一个接一个串行方式运行。
  • 无序:运行一个任务或流的列表,以并行的方式运行,顺序与列表顺序无关,任务之间不存在依赖关系。
  • 图:运行一个图标(组节点和边缘节点)之间组成的任务/流依赖驱动的顺序。


记一个git for windows的坑:文件名大小写问题


起步

我建个a.CSS并add commit了才发现,重新命名为a.css,然后发现git status还是一个干净的工作区。傻眼了。

原因

因为Windows系统文件名不区分大小写,Linux区分大小写。

解决

git config core.ignorecase  false

这样Win上的Git设置为大小写敏感。

开发真的首选linux,可以少走很多坑,避免windows很多不合理的设计。