RHEL/CENTOS 上配置可写入型tftp的方法

  1. tftp是xinet服务,所以安装tftp服务至少需要安装xinetd和tftp-server两个包。另外tftp包为tftp客户端程序,可用于测试。
  2. 编辑tftp配置文件/etc/xinetd.d/tftp,确保命令选项中有-c,意思是可以上传(创建)新文件,如果没有此参数,则只能覆盖现有文件(如果权限足够的话)。另外disable当然要设为no,否则服务不会启用。
  3. 设置SELinux放行写入操作:setsebool -P tftp_anon_write=1
  4. 设置tftp目录权限,开放所有权限,RHEL6/CENTOS6的目录默认为/var/lib/tftpboot,RHEL5/CENTOS5则为/tftpboot:
chmod 777 /var/lib/tftpboot

RHEL/CENTOS 下启用vsftpd匿名上传可能需要做的操作

1、修改文件系统权限

chmod -R 777 /var/ftp/pub/

2、使用可写入型的SELinux Context值

semanage fcontext -a -t public_content_rw_t '/var/ftp/pub(/.*)?' #semanage来自于policycoreutils-python包
restorecon -R /var/ftp/pub/

3、修改SELinux布尔值放行匿名上传(写入)

setsebool -P allow_ftpd_anon_write=1

4、修改/etc/vsftpd/vsftpd.conf配置文件

anonymous_enable=YES    #启用匿名模式
anon_upload_enable=yes   #允许匿名用户上传文件
anon_mkdir_write_enable=yes  #允许匿名用户创建目录
anon_other_write_enable=yes   #允许匿名用户删除、移动、修改文件权限等其他修改操作
write_enable=YES    #全局可写开关,默认已开启(Debian系默认关闭)
chown_uploads=YES    #可选,对于匿名用户上传的文件,是否指定其所有者(不指定则为ftp)
chown_username=ftp    #如果chown_uploads设为YES,指定哪个用户为匿名上传文件的所有者
chown_upload_mode=644   #貌似效果不如anon_umask
anon_umask=000     #匿名上传文件的umask值,为8进制,必须以0开头,chown_uploads=NO时有效
local_umask=000     #本地用户上传文件的umask值,为8进制,必须以0开头,chown_uploads=YES时有效
no_anon_password=YES  #匿名用户无需密码验证

seccomp_sandbox=NO    #某些发行版上传出现530报错可以尝试这个参数

Linux下bash脚本借用tr命令批量修改文件名 (Change file name by command ‘tr’ using bash script under Linux)

bash脚本调用tr命令修改文件名,tr命令参数由用户指定。The bash script will call command ‘tr’ to change file names. parameters transfered to ‘tr’ is specified by user.

# Usage: fn-tr -p <tr parameters> -r <file/directory> <file/directory> ...
# -p parameters will transfered to command 'tr'  指定将会传递给tr命令的参数
# -d change directory     对目录执行更改操作
# -f change normal file  对普通文件执行更改操作
# -r recursive  递归搜索子目录

举例Example:
将/docs下文件名中的多个连续空格压缩到一个 remove duplicated white spaces of the filenames under /docs

ftr -p '-s " "' -fr /docs/*

bash脚本下载:bash script download:
https://gitee.com/mjpclab/Shell-Utility/raw/master/bin/fn-tr
https://raw.githubusercontent.com/mjpclab/Shell-Utility/master/bin/fn-tr

Linux下bash脚本批量修改文件名大写/小写 (Change file name to uppercase/lowercase using bash script under Linux)

# Usage: chfcase [-lur] <file/directory> <file/directory> ...
# -l change file name to lower case (default)    更改文件名为小写(默认)
# -u change file name to upper case  更改文件名为大写
# -d change directory  对目录执行更改操作
# -f change normal file  对普通文件执行更改操作
# -r recursive  递归搜索子目录
#

举例Example:

更改当前目录及所有子目录普通文件名为小写 Change all normal file names to lowercase under current directory recursively:

chfcase -lfr *

将当/var/html下的子目录更改为大写 Change directory name which under /var/www to upper case

chfcase -ud /var/html/*

bash脚本下载:bash script download:
https://gitee.com/mjpclab/Shell-Utility/raw/master/bin/fn-case
https://raw.githubusercontent.com/mjpclab/Shell-Utility/master/bin/fn-case

Redhat Enterprise Linux (RHEL) 6 没有php-mbstring包的解决办法

如果你有RHN订阅账号,可以直接用RHN提供的RHEL Optional仓库安装。
如果没有,可以使用CentOS 6 第二张DVD中的php-mbstring来安装,CentOS6 和RHEL6 使用的是相同的内核编译,因此可以放心兼容使用。

以本人虚拟机中的RHEL 6.2为例,在安装了php各个包以后,发现缺少php-mbstring,于是找到CentOS 6.2的DVD2 iso文件并提取出php-mbstring-5.3.3-3.el6_1.3.i686.rpm,直接安装即可:

rpm -ivh php-mbstring-5.3.3-3.el6_1.3.i686.rpm
#或者:
yum localinstall php-mbstring-5.3.3-3.el6_1.3.i686.rpm