Linux文件类型/权限

文件类型;

当用ls指令的长格式显示文件或目录的属性时;比如:

 

[root@localhost ~]# ls -lih
总计 104K

2408949 -rwxr-xr-x 1 root root    7 04-21 12:47 lsfile.sh
2408830 drwxr-xr-x 2 root root 4.0K 04-21 12:46 mkuml-2004.07.17
2408260 drwxr-xr-x 2 root root 4.0K 04-21 22:15 mydir
2408258 lrwxrwxrwx 1 root root    7 04-21 22:16 sun001.txt -> sun.txt
2408263 -rw-r--r-- 2 root root   11 04-20 14:17 sun002.txt
2408263 -rw-r--r-- 2 root root   11 04-20 14:17 sun.txt

 

我们来看一下lsfile.sh这行,其中有这样一个字段 -rwxr-xr-x 。这个字段包括两个信息,一是文件类型,二是文件的权限;文件类型就第一个字符,lsfile.sh的文件所归属的文件种类是- 。同理 mkuml-2004.07.17的这段是drwxr-xr-x,它所归属的文件种类应该是d;sun001.txt文件呢,对应的lrwxrwxrwx,sun001.txt所归属的文件种类应该是-l 。

我们可以知道Linux文件可以分为如普通文件、目录、符号链接文件、字符和块设备文件、套接口文件等。


文件的权限;

Linux文件或目录的权限是和用户和用户组联系在一起的;

 Linux文件类型/权限

每个文件或目录都有一组9个权限位,每三位被分为一组,他们分别是属主权限位(占三个位置 )、用户组权限位(占三个位置)、其它用户权限位(占三个位置)。比如rwxr-xr-x ,我们数一下就知道是不是9个位置了,正是这9个权限位来控制文件属主、用户组以及其它用户的权限。


关于权限位;

Linux文件或目录的权限位是由 9 个权限位来控制,每三位为一组,它们分别是文件属主(Ower)的读、写、执行,用户组(Group)的读、写、执行以及(Other)其它用户的读、写、执行;

文件属主: 读r、写w、执行x
用 户  组 : 读r、写w、执行x
其它用户: 读r、写w、执行x 

如果权限位不可读、不可写、不可执行,是用-来表示。


对于普通文件的读、写、执行权限可以这样理解:

 

可读:意味着我们可以查看阅读;
可写:意味着,可以修改或删除(不过删除或修改的权限受父目录上的权限控制);
可执行:意味着如果文件就可以运行,比如二进制文件(比如命令),或脚本(要用脚本语言解释器来解释运行)。

 

比如:
 

[root@localhost ~]# ls -l lsfile.sh
-rwxr-xr-x 1 root root 7 04-21 12:47 lsfile.sh

 

第一个字段 -rwxr-xr-x中的第一个字符是-,表示lsfile.sh是一个普通文件;

lsfile.sh的权限是 rwxr-xr-x。表示lsfile.sh文件,文件的属主root,拥有rwx(可读、可写、可执行)权限,用户组root,拥有 r-x(可读、可写)权限 ,其它用户拥有 r-x(可读、可写)权限。这9个权限连在一起就是 rwxr-xr-x,也就是说,lsfile.sh 文件,文件属主root拥有可读、可写、可执行权限,用户组root下的所有用户拥有可读可执行权限,其它用户拥有可读可执行权限。

查看文件的属性用 ls -l 文件 ;查看目录的属性是 ls -d 目录。

 

VPS中kloxo ftp用户无法上传和修改文件,不能更改文件属性的问题

在使用linux vps是出现了ftp无法上传和修改文件,不能更改文件属性问题,我进行了ftp不能修改文件内容和属性的尝试解决方法。最终通过反复尝试,终于找到问题的原因:

      我ssh登录vps后,转移网站是为了方便使用wget命令直接原服务器将备份下载到我的新的vps上,然后通过unzip解压缩。而这几部都是在root用户下操作的。因为ssh登录时,用户名就是root。在linux中root用户权限就相当于windows中的administrator,是顶级管理员,享有最高权限。我的新建ftp账号,在linux中只是个普通用户,自然就无法修改root创建的文件了,也无法更改这些文件的属性。找到了问题的根结。那么就是怎么解决了。方法就是将wget后unzip的所有文件和文件夹得权限改成ftp用户可以访问修改的。

具体:

1.先用root通过ssh登录vps,cd 到达网站根目录,然后可以通过# ls -l 显示文件夹的用户权限详情,我发现果然都是root,需要改成admin;
2.如何更改呢?

先介绍下chown这个命令。
指令名称 : chown     使用权限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file…
PS : 利用 chown 可以将档案的拥有者加以改变。这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
 

参数:
-c或-change:作用与-v相似,但只传回修改的部分
-f或–quiet或–silent:不显示错误信息
-h或–no-dereference:只对符号链接的文件做修改,而不更改其他任何相关文件
-R或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理
-v或–verbose:显示指令执行过程
–dereference:作用和-h刚好相反
–help:显示在线说明
–reference=<参考文件或目录>:把指定文件或目录的所有者与所属组,统统设置成和参考文件或目录的所有者与所属组相同
–version:显示版本信息

 

chown命令使用举例:(像我用的vps,就要先ssh登录)

# chown [-R] [用户名称] [文件或目录]
# chown[-R] [用户名称:组名称] [文件或目录]

范例1:将test3.txt文件的属主改为test用户。
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
# chown test:root test3.txt
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59

范例2:chown所接的新的属主和新的属组之间可以使用:连接,属主和属组之一可以为空。如果属主为空,应该是“:属组”;如果属组为空,“:”可以不用带上。

# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt

# chown :test test3.txt <==把文件test3.txt的属组改为test
# ls -l test3.txt
-rw-r–r– 1 test test 0 2009-10-23 9:59 test3.txt

范例3:chown也提供了-R参数,这个参数对目录改变属主和属组极为有用,可以通过加 -R参数来改变某个目录下的所有文件到新的属主或属组。
# ls -l testdir <== 查看testdir目录属性
drwxr-xr-x 2 usr root 0 2009-10-56 10:38 testdir/ <==文件属主是usr用户,属组是 root用户
# ls -lr testdir <==查看testdir目录下所有文件及其属性
total 0
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test3.txt
# chown -R test:test testdir/ <==修改testdir及它的下级目录和所有文件到新的用户和用户组
# ls -l testdir
drwxr-xr-x 2 test test 0 2009-10-23 10:38 testdir/
# ls -lr testdir
total 0
-rw-r–r– 1 test test 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test3.txt

 

3.按上面的操作一切搞定。ok了。
 

linux VPS PHP环境搭配,架设FTP,绑定域名

一,PHP环境

现在Linux VPS越来越便宜了,与虚拟空间价差越来越小了,当然空间拿起来就能用,而VPS还需要安装配置生产环境,否则还不能正式使用,尤其是Linux环境,也是让很多人头疼。

其实VPS安装也是蛮简单的,因为现在有很多热心网友制作了一键安装包,大大简化了新手安装的难度。

必备工具:Putty,推荐WinSCP(已内置Putty)

打开Putty,SSH登陆VPS。这次示例是安装Linux+Nginx+MySQL+PHP 生产环境,简称Lnmp。Linux VPS默认已经装好的,后台也可以选择安装不同的Linux系统,系统建议选择CentOS 32位,64位只在4G内存以上VPS才会发挥效能,VPS 32位系统更好。

1、因为是安装Nginx,不用Apache,因为可能有些系统环境会内置了Apache,首先我们要先卸载系统可能已经存在的Apache,下面三条命令一样,只是针对不同的版本,都试试(反正命令执行多一次没坏)

yum remove httpd
yum remove apache
yum remove apache2

2、下载Lnmp一键安装包,命令:(注:此版本的Lnmp一键安装包只适合于CentOS系统,我之所以选择这个版本的Lnmp一键安装包,是因为经过测试这个版本比较干净占资源最少)

wget http://catlnmp.googlecode.com/files/lnmp1.4.tar.gz

3、解压缩安装包,命令:

tar zxvf lnmp1.4.tar.gz

4、进入安装包目录,命令

cd lnmp

5、添加执行权限,命令

chmod +x *.sh

6、开始安装,命令

./install.sh

首先它会要设置一个默认域名(建议非做站的域名),设置MySQL密码,设置完之后,按任意键就开始安装,安装是全自动的,现在你可以出去喝东西,聊下天,大约半个小时,安装就会自动完成。

现在,你已经拥有做站所需要的生产环境了。

附:程序安装路径:

MySQL : /usr/local/mysql
PHP : /usr/local/php
Nginx : /usr/local/nginx
PHPMyAdmin /home/www/phpmyadmin
Web目录 /home/www

二:设置FTP
使用WinSCP已经可以像FTP上传文件了,也可以上传zip包,用unzip命令解压缩,也可以用 wget命令下载+unzip解包完成。

虽然这是最简单的方法,不过因为操作都是通过SSH命令,用的都是root身份操作,Linux系统当中root是最高级的用户,这或者会带来权限问题。这还需要使用SSH修改权限,又是命令。

为了稳健起见,我建议新手还是用最保险的方法,FTP上传。

那就要建立FTP账户了,可以通过安装vsFTPd来解决

1、安装,3条命令分开执行

yum -y install vsftpd
/etc/init.d/vsftpd start
chkconfig –level 345 vsftpd on

2、设置密码

passwd www

密码尽量复杂些,这个是以www为用户名的FTP账户,FTP根目录即为网站根目录 /home/www

好了,现在就可以像虚拟空间一样通过FTP上传源码,当然这会比较慢。如果你将端口改成22,就会换成SFTP上传,更保密更安全,你上传什么东西都没人能拦截,当然这又会牺牲速度了。

当然如果你是属于搬家,文件很大,不是新建网站的话,那还是 wget下载+unzip解压最方便,权限问题可以通过chmod或chown命令修正。

三:域名绑定
环境安装好了,可以开始做站了。

这个一键包自带一个简单主机管理,可以绑域名。

1、进入目录

cd lnmp

2、执行命令:

./host.sh

3、输入你要绑的域名,例如 caopeng.net,然后输入要绑定的目录(绝对路径)例如/home/www/caopeng

这样,域名就绑好了,然后你就可以上传源码到指定目录,域名解释好,就可以工作了。

 

linux vps中的贵族

Linode VPS简介

linode_logo_gray

官方网站 http://www.linode.com/

Linode VPS 在业界有着较高的信誉评价,在国外和国内用户中的口碑不错,价格适中。Linode 提供很多了原生的系统(Linode嘛,Linux Node,都是Linux的,没有Windows的),装好基本的系统之后,可以根据自己的需求随便安装什么软件。并且,“重装系统”也非常的方便。这对新手来说,既不复杂上手,也容易将精力集中到学习Linux上。

独立IP, 支持众多linux发行版,root权限,想怎么折腾怎么折腾。 与一般主机的价格持平,但关键是它的服务器性能更加出色,所以性价比相对更高。

Linode 的机房

Linode有6个机房可选:London、Newark、Atlanta、Dallas、Fremont、Tokyo,对于中国用户来说,选择东京机房会很快,并且服务器更新程序速度也超快。

Linode 新增的日本东京机房,速度相当给力。Linode 针对亚太地区用户的需求新开辟了日本东京机房。价格不变,速度会更快。 Linode Cloud Asia-Pacific!

如果创业团队要选择 VPS ,面向国内用户的话,建议选择 Linode 东京的机房就可以,访问速度相当不错。

使用信用卡就能付款。除了可以用来做Web服务器,Linode还可以用ssh跟vpn做代理翻墙。

VPS的优点在于可以按需购买,不必花费独立服务器的高昂费用;相比于Shared Hosting,VPS有可以保证的资源(CPU、内存等),不会有over selling。

Linode的客服灰常给力,不管什么时间,用Ticket联系客服之后,一般半小时之内能够给你答复。基本上问题都能联系客服解决。

选择Linode的理由:

  • 对中国用户来说,Linode网速够快,即使跨越太平洋,速度依然出色;
  • Linode自由度够大,有root权限,自己的主机完全由自己管理;
  • Linode的服务够好,准确、及时、专业。值得鼎力推荐。
  • Linode 是不是最好的 VPS ?不一定是,但可以肯定的是至少它是一个很不错的 VPS,这就够了。我看到有很多网友整天在各个 VPS 之前迁移来迁移去的,其实,人的时间也是很大的成本,也是要慎重考虑在内的。
  • 完善的技术支持:除了可以在后台发送 Ticket 并及时得到回应外, Linode 还通过 Wiki, 论坛等方式提供了大量的技术文档及协助。
  • 提供无缝升级功能:如果你有一天觉得现在的主机方案已不能满足需求,你可以直接在后台无缝升级到更高的主机方案,获取更多内存,存储空间及流量,而不必担心需要重装系统及数据的丢失。
  • 强大的后台管理功能:这是 Linode 最具特色的功能之一,是我见过的自定义功能最强,自动化最完善的后台管理功能。它可以把存储空间划分成几个硬盘,用来安装不同的 Linux 发行版,然后你可以选择启用哪个硬盘作为线上服务器,同时也可以停机后启动别的硬盘,这样就无需重新安装系统就可以在不同的发行版之间切换,极为方便,而且这一切都不需要人工干预。后台还提供了详细的图形化的数据统计功能,包括 CPU 使用率,流量使用,IO 使用等等
  • Linode 基于 iOs 还提供了 iPhone 版的后台管理工具,这样你可以在 iPhone 手机上直接管理你的 VPS 主机了。

 

Linode VPS 基本价格配置与流量
内存 512MB 768MB 1024MB 1536MB 2048MB 4096MB
磁盘 16GB 24GB 32GB 48GB 64GB 128GB
每月流量 200GB 300GB 400GB 600GB 800GB 1600GB
价格 $19.95 $29.95 $39.95 $59.95 $79.95 $159.95

官方网站 http://www.linode.com/

 

Linode VPS FAQ

Q:什么样的人适合用Linode?
A:由于Linode是Linux的VPS,所以需要有一定的Linux操作功底。Linode很适合作为Linux入门的材料。但对不熟悉shell的朋友,可能一开始安装软件、配置服务器都比较困难。当然,对不熟悉Linux服务器的人,也无疑是一次锻炼的机会。我就是在不熟悉Linux的情况下开始用Linode的。而且,Linode上也有相关的Linux教程

 
Linode 各大机房速度比较
机房 速度
Fremont, CA 140.90 KB/s
Dallas, TX 8.33 KB/s
Atlanta, GA 55.65 KB/s
Newark, NJ 141.09 KB/s
Tokyo, JP 245.20 KB/s

可以看到,Fremont机房和Newark机房都是很好的选择。我的Linode选择了Fremont机房,可以在此处实际测试一下服务器的速度(测出的数值除以8就是相应的KB/sec)。

Linode官方专门建立了一个速度测试页面。一共5个机房(包括最新的London机房),每个机房都提供相同的100MB大小的测试文件以供下载。用浏览器随意测试了一下,对于国内用户来说仍然是Fremont和Dallas两个机房最快,对于网通线路来说Dallas甚至比大部分人推荐的Fremont机房更快一点。

注:最近也有朋友发现达拉斯机房的速度很不错,相比Fremont/Newark要好。所以建议大家购买时,自己实际测试下,选一个表现最好的。

 

A:Linode的VPS是相当价廉的VPS。Linode的VPS有多种配置,最便宜一款$19.95。年付打9折。所有VPS配置列表可以在Linode首页找到。
A:由于Linode是Linux的VPS,所以需要有一定的Linux操作功底。Linode很适合作为Linux入门的材料。但对不熟悉shell的朋友,可能一开始安装软件、配置服务器都比较困难。当然,对不熟悉Linux服务器的人,也无疑是一次锻炼的机会。我就是在不熟悉Linux的情况下开始用Linode的。而且,Linode上也有相关的Linux教程

 
Linode 各大机房速度比较
机房 速度
Fremont, CA 140.90 KB/s
Dallas, TX 8.33 KB/s
Atlanta, GA 55.65 KB/s
Newark, NJ 141.09 KB/s
Tokyo, JP 245.20 KB/s

可以看到,Fremont机房和Newark机房都是很好的选择。我的Linode选择了Fremont机房,可以在此处实际测试一下服务器的速度(测出的数值除以8就是相应的KB/sec)。

Linode官方专门建立了一个速度测试页面。一共5个机房(包括最新的London机房),每个机房都提供相同的100MB大小的测试文件以供下载。用浏览器随意测试了一下,对于国内用户来说仍然是Fremont和Dallas两个机房最快,对于网通线路来说Dallas甚至比大部分人推荐的Fremont机房更快一点。

注:最近也有朋友发现达拉斯机房的速度很不错,相比Fremont/Newark要好。所以建议大家购买时,自己实际测试下,选一个表现最好的。

 

修改kloxo控制面板默认IP主页Kloxo Default Page的方法

点击在新窗口中浏览此图片
    安装了kloxo之后,所有的PHP环境都是一起自动配置好的,所以新手就不用再去命令行下在繁琐的配置php环境了。不过安装好后默认使用ip浏览的话会出现kloxo自己的主页,也就是Kloxo Default Page,那么我们要如何修改这个主页呢?今天就为大家带来了修改的方法。

    方法如下:首先使用sftp软件通过ssh登陆到VPS系统当中,进入根目录,如下图所示:
点击在新窗口中浏览此图片

    然后进入home目录,如下图所示:
点击在新窗口中浏览此图片

      然后进入kloxo目录,如下图所示:
点击在新窗口中浏览此图片

      最后的default目录就是默认的kloxo ip网页,在这里修改掉index.html文件就可以使得ip访问的页面修改了。
点击在新窗口中浏览此图片

    kloxo是一款免费的虚拟主机管理软件,他的使用也是非常简单的,只要你用心去钻研了,终究会得到回报的。

实现Putty免密码登录

使用puttygen.exe生成SSH密钥

1、下载Puttygen.exe

下载地址:http://puttycn.googlecode.com/files/puttyfile_0.60cn2.zip

2、打开puttygen.exe,点击按钮Generate,并在空白处随意移动鼠标以便产生随机数据。保持各项参数默认,点击按钮Save private key,会提醒“Are you sre you want to save this key without a passphrase to protect it ?”,可以不需要密码保护,点击是即可。

创建.ssh/authorized_keys

1、通过Putty密码方式登录CentOS,创建文件authorized_keys

  1. vim ~/.ssh/authorized_keys

2、把刚才用puttygen.exe软件生成的密钥(显示的公钥()由OpenSSH认可:下面的内容)复制并粘贴到authorized_keys文件,保存退出。

设置putty实现用证书登录

Putty→Session:将Host Name(Or IP Address)填好
Putty→Connection→Date:填好Auto-login username(自动登陆用户名)
Putty→Connection→SSH→Auth:在Private key file for authentication选择认证私钥文件
回到Putty→Session:Saved Session,填个名称保存下吧,下次直接双击名称就可以登录了,赶紧登录吧.

至此,你的Putty已经可以不用密码登录CentOS了,不过记得保管好你的密钥文件。

CAO PENG DOT COM | 看邦主文摘来CAOPENG.NET | 学编程之邦去CAOPENG.ORG | 搜索引擎XML地图1 2 | WMV to DVD | remove drm from wmv | DVD Creator | 虚拟现实