分类目录归档:Linux

无法查看目录,提示:vsftpd Transfer done (but failed to open directory)

系统是CentOS,是RH派系的。把vsftpd安装配置好了,以为大功告成,但客户端访问提示如下错误:
vsftpd Transfer done (but failed to open directory)
原因是CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。
//首先查看SELinux设置
# getsebool -a|grep ftp
发现ftpd_disable_trans –> off 或者 ftp_home_dir–>off

解决方法:
//使用setsebool命令开启
# setsebool ftpd_disable_trans 1
或者
# setsebool ftp_home_dir 1
再次查看当前状态是否是on的状态
# getsebool -a|grep ftp
ftpd_disable_trans –> on
或者
ftp_home_dir–>on

//setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
# service vsftpd restart

CentOS/Linux安装配置ftp服务器

1.安装vsftp
# yum -y install vsftpd
2.启动vsftp
# service vsftpd start
3.安装ftp客户端
# yum install –y ftp
4.测试连接ftp
# ftp localhost
5.输入用户名密码

默认用户名、密码均为ftp

6. 添加ftp用户
# useradd -G ftp -d /目录名 -M 用户名
# passwd 用户名
# chown 用户名.ftp /目录名 -R
# chmod 750 /目录名 -R

7.测试用新添加的用户名连接ftp,至此成功。

若在此发生无法列出目录的错误,请参考本博客的另外一篇文章:http://renrenstudy.com/linux/centos-vsftpd-selinux/

笔者在测试上传功能时,老是报出错误:vsftpd 553 Could not create file。后来,发现是由于ftp下的命令与linux终端稍有不同。

put /root/Downloads/team.zip ./

上面这句代码在linux终端下表示将team.zip上传至当前目录,但在ftp命令行状态下是不行的。正确方法应如下:

put /root/Downloads/team.zip team.zip

也就是,必须指定目标文件名,而不是指定目标目录。

Linux服务器:将文件拷贝到网站目录下无权限访问的问题

网上下载了一张图片,将其放在网站图片目录下,通过浏览器访问,提示:

You don’t have permission to access /images/design.png on this server.

起初,以为是Apache的mime映射未配置,但修改后仍然没有权限访问。

后来,终于找到解决办法:找到该文件,然后:

Properties — Permissions — SELinux Context需要设置为Read from all httpd scripts and the daemon

 

CentOS 6.4安装chrome

原文地址:http://www.cnblogs.com/VincentHome/archive/2013/05/19/3086438.html

CentOS 6.4安装chrome浏览器
vim /etc/yum.repos.d/CentOS-Base.repo
根据你的系统增加一个节点
32-bit

[google]
name=Google - i386
baseurl=http://dl.google.com/linux/rpm/stable/i386
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

64-bit

[google64]
name=Google - x86_64
baseurl=http://dl.google.com/linux/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

安装稳定版本: yum install google-chrome-stable
安装测试版本:yum install google-chrome-beta
安装不稳定版本:yum install google-chrome-beta

经过实验,发现上述方法在CentOS最新版本下无法使用,原因是C++库的版本问题。

于是,参考以下文章,安装Chrome的开源版本Chromium:

http://linux.cn/thread/10943/1/1/

是的,之前Google就说了,由于CentOS/RHEL 6已经是过期的系统,所以不再会有Chrome了。虽然后来由于引起了社区的抗议,从而改口,不再提CentOS/RHEL 6是过期系统了;但是,目前在CentOS/RHEL 6上已经没有Chrome可以下载使用了。

其实,根本的原因不是CentOS/RHEL 6有多老,连Windows XP和停止更新的Ubuntu 10.04都能继续使用Chrome呢。实际的原因是,Chrome由于种种考虑,使用了CentOS/RHEL 6中所不支持的C++ 11,所以才不能继续更新CentOS/RHEL 6上的Chrome。

那么,如果希望在CentOS/RHEL 7出来之前继续使用Chrome怎么办?使用Chrome的开源版本:Chromium。

1、切换到root:

su – 或者 sudo -i

2、下载新的软件源定义:

cd /etc/yum.repos.d

wget http://people.centos.org/hughesjr/chromium/6/chromium-el6.repo

3、安装Chromium:

yum install chromium

这样就安装完成了。可以通过菜单来启动浏览器。

如果是以root用户身份打开,会报错,提示如下:

Please start Google Chrome as a normal user. To run as root, you must specify an alternateuser-data-dir for storage of profile information.

按以下步骤即可解决此问题。

# yum install hexedit

# cp /opt/chromium/chrome /root

# cd /root

# hexedit chrome

运行完上步后,会显示十六进文件,此时按Tab键,再按Ctrl+s搜索geteuid,找到后,直接输入getppid,将会覆盖掉geteuid,最后按Ctrl+x保存。

# mv /root/chrome /opt/chromium/

提示是否覆盖文件,覆盖即可。此时即可以root身份正常打开Chromium了。

如果需要查看Flash和PDF,可以继续下面两步来安装插件。

4、安装Pepper Flash插件:

4.1、下载 hughesjr 辅助安装脚本:

cd /tmp

wget https://raw.github.com/hughesjr/chromium_el_builder/master/chrome_pepperflash_copy.sh

4.2、设置 chrome_pepperflash_copy.sh 为可执行:

chmod +x chrome_pepperflash_copy.sh

4.3、 执行脚本进行安装(你可以查看一下脚本内容来了解发生了什么):

./chrome_pepperflash_copy.sh

安装后,如果需要通过命令行方式启动(带有Flash支持),可以输入以下命令:

/opt/chromium/chrome-wrapper %U –ppapi-flash-path=/opt/chromium/PepperFlash/libpepflashplayer.so –ppapi-flash-version=$(grep ‘”version”:’ /opt/chromium/PepperFlash/manifest.json | grep -Po ‘(?<=version”: “)(?:\d|\.)*’)

也可以修改系统菜单中的对应命令。

5、安装Google Chrome PDF Viewer插件:

5.1、下载 hughesjr 辅助安装脚本:

cd /tmp

wget https://raw.github.com/hughesjr/chromium_el_builder/master/chrome_libpdf_copy.sh

5.2、设置 chrome_libpdf_copy.sh 为可执行:

chmod +x chrome_libpdf_copy.sh

5.3、执行脚本进行安装(你可以查看一下脚本内容来了解发生了什么):

./chrome_libpdf_copy.sh

 

参考资料:http://www.if-not-true-then-false.com/2013/install-chromium-on-centos-red-hat-rhel/

本文地址:http://linux.cn/thread/10943/1/1/

CentOS常用文件操作命令

创建目录

mkdir 文件名

mkdir /var/www/test

 

cp复制命令

cp命令复制文件从一个位置到另一位置。如果目的地文件存在,将覆复写该文件; 如果目的地目录存在,文件将复制到该目录下 (目录不会被复写)。

语法:
语法是
cp [命令开关]… SOURCE DEST
cp [OPTIONS]… SOURCE… DIRECTORY
cp [OPTIONS]… –target-directory=DIRECTORY SOURCE…

命令开关:

-a 等同于 -dpR.
–backup[=CONTROL] 对每个存在的目标文件制作备份。
-b 如同 –backup,但是不接受参数。
-f 如果存在的目标文件不能被写操作打开,删除它并且再试一次。
-p 等同于 –preserve=mode,ownership,timestamps (保留模式,所有者和时间戳信息)。
–preserve[=ATTR_LIST] 保留指定的属性 (默认属性:模式,所有者,时间戳)和安全配置, 如果可能的话添加附加属性:连接,所有。
–no-preserve=ATTR_LIST 不保留指定的属性。
–parents 在目录下添加源路径。

示例:

  1. C复制两个文件:
    cp file1 file2

    上述cp命令复制文件file1.php 的内容到文件file2.php中。

  2. 备份拷贝的文件:
    cp -b file1.php file2.php

    创建文件file1.php的带着符号 ‘~’的备份文件file2.php~。

  3. 复制文件夹和子文件夹:
    cp -R scripts scripts1

    上面的 cp 命令从 scripts 复制文件夹和子文件夹到 scripts1。

mv移动命令

mv 命令是move的缩写。 用它从一个目录到一个目录移动/重命名文件。 mv命令不同于cp命令,mv命令是完全的从源移动文件并且把文件移动到指定的目录,这里cp命令只是复制文件的内容从一个文件到另一个文件。

语法:
语法是
mv [-f] [-i] 原名称 新名称

命令开关:

-f 在覆盖前不提示(equivalent to相当于 –reply=yes). mv -f 将在没有提示的情况下移动文件(多个文件),即使它将复写存在的目标文件。
-i 在复写另一文件前做出提示

示例:

  1. To Rename / Move a file:
    mv file1.txt file2.txt

    这个命令重命名file1.txt文件的名字为file2.txt。

  2. To move a directory移动一个目录
    mv hscripts  tmp

    在上述命令中,如果tmp目录已经存在,mv命令将移动hscripts文件夹/目录下的所有文件,目录和子目录到tmp目录。 如果没有tmp目录,它将重命名 hscripts目录为tmp目录。

  3. 移动多个文件/更多问价到另一目录
    mv file1.txt tmp/file2.txt newdir

    这个命令移动当前目录的file1.txt文件和tmp文件夹/目录的file2.txt文件到newdir目录。

rm删除命令

rm Linux 命令用来移除/删除目录下的文件。

语法:
语法是
rm [命令开关..] [文件 | 目录]

命令开关:

-f 不提示用户,删除目录下的所有文件。
-i 交互模式。使用这个选项,rm命令在删除任何文件前提示用户确认。
-r (或) -R 递归的删除参数表中的目录及其子目录。 目录将被清空并且删除。 当删除目录包含的具有写保护的文件时用户通常是被提示的。

示例:

  1. 移除/删除文件:
    rm file1.txt

    这里rm命令将移除/删除文件file1.txt。

  2. 删除目录树:
    rm -ir tmp

    这里rm命令递归的删除tmp目录下所有子目录下内容,对于每个文件的删除都会提示你,然后删除tmp目录本身。

  3. 一次删除多个文件。
    rm file1.txt file2.txt

    rm命令同时删除文件file1.txt 和file2.txt。

Linux中zip压缩和unzip解压缩命令详解

以下命令均在/home目录下操作
cd /home #进入/home目录
1、把/home目录下面的mydata目录压缩为mydata.zip
zip -r mydata.zip mydata #压缩mydata目录
2、把/home目录下面的mydata.zip解压到mydatabak目录里面
unzip mydata.zip -d mydatabak
3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip

zip -r abc123.zip abc 123.txt
4、把/home目录下面的wwwroot.zip直接解压到/home目录里面

unzip wwwroot.zip
5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面

unzip abc\*.zip
6、查看把/home目录下面的wwwroot.zip里面的内容

unzip -v wwwroot.zip
7、验证/home目录下面的wwwroot.zip是否完整

unzip -t wwwroot.zip
8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录

unzip -j wwwroot.zip
系统运维 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
=====================================================
主要参数
-c:将解压缩的结果
-l:显示压缩文件内所包含的文件
-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
-t:检查压缩文件是否正确
-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中
-v:执行是时显示详细的信息
-z:仅显示压缩文件的备注文字
-a:对文本文件进行必要的字符转换
-b:不要对文本文件进行字符转换
-C:压缩文件中的文件名称区分大小写
-j:不处理压缩文件中原有的目录路径
-L:将压缩文件中的全部文件名改为小写
-M:将输出结果送到more程序处理
-n:解压缩时不要覆盖原有的文件
-o:不必先询问用户,unzip执行后覆盖原有文件
-P<密码>:使用zip的密码选项
-q:执行时不显示任何信息
-s:将文件名中的空白字符转换为底线字符
-V:保留VMS的文件版本信息
-X:解压缩时同时回存文件原来的UID/GID