`
happmaoo
  • 浏览: 4333522 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

4-Linux文件权限与目录配置(Linux教程)

阅读更多
<meta content="text/html; charset=utf-8" http-equiv="CONTENT-TYPE"> <meta content="OpenOffice.org 2.3 (Linux)" name="GENERATOR"> <style type="text/css"> <!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } --> </style>

Linux文件权限与目录配置


1Linux中的用户与群组

Linux是真正的多用户多任务,同一时刻可以允许多个用户同时使用Linux。

Linux的用户及群组功能是相当健全好用的一个安全防护。


2Linux文件权限

Linux拥有用户及群组的概念,就需要针对这些用户和群组设置文件或者目录的权限,成为文件或者目录的权限与属性


a. 查看文件的权限和属性,使用命令ls

ls -l 显示各个文件或目录的权限及属性信息;

ls -a 显示所有的文件或目录,包括隐藏文件dot file(以.开头的)

ls -la 多条选项的话,可以这样写

举例:

root@hemin-desktop:/home# ls -l


总用量 20


drwxr-xr-x 39 hemin hemin 4096 2007-11-24 13:37 hemin


drwx------ 2 root root 16384 2007-10-31 07:11 lost+found



b. 解释所列文件权限及属性:

1) 第一栏,如drwxr-xr-x,一般10个属性。

第一个代表文件类型,为目录、文件或者链接文件:

d表示目录

- 表示文件

l 表示链接文件

b 表示设备文件中可供储存的接口设备

c 表示设备文件中的串行端口设备,如鼠标,键盘

接下来9位共3组属性,以'rwx'形式

r 表示可读

w 表示可写

x 表示可执行

3组中第一组为'拥有者的权限, user', rwx表示文件的拥有者可以读写及执行;

3组中第二组为'群组的权限, group', r-x表示和文件的拥有者属于同一群组的用户,可读可执行但是不能写;

3组中第三组为'其他非本群组的用户的权限, others',r-x表示其他人可以读和执行,不可以写;

注意:对于一个目录如果允许进入,则需要开启r和x属性,否则只有r也无法进入。


2)第二栏表示链接占用的节点,若为目录,通常与该目录下有多少子目录有关;


3) 第三栏表示这个文件(或目录)的拥有者;


4) 第4栏表示拥有者的群组;

在linux每个用户有自己的用户ID,同时还有附属的群组ID。举例群组代号为testgroup, 群组下各个用户的代号为test1, test2, test3。

[-rwxrwx---]表示文件,文件的所有者可以读写执行,和该文件所有者属于同一群组的用户也可以读写执行,其他不属于该群组的用户不具备任何读写执行的权限。


5) 第5栏表示文件的大小

6) 第6栏表示该文件的建档日期或最近的修改日期。

7) 第7栏表示该文件的文件名,dot file(即以.开头的文件)为隐藏文件

还需要注意的是Windows下一个文件是否具有可执行能力是由其后缀名实现的,例如.exe, .bat等,在Linux下,文件是否能够执行,是由是否具有x这个属性来决定的,和后缀没有绝对的关系。


举例解释

root@hemin-desktop:/home# ls -l


总用量 20


drwxr-xr-x 39 hemin hemin 4096 2007-11-24 13:37 hemin


drwx------ 2 root root 16384 2007-10-31 07:11 lost+found


第一行表示:

最后的hemin为一个目录(d),对于用户hemin具备rwx即读写执行权限;对于和hemin用户同属组群hemin的其他用户具备r-x即具备读和执行权限,但是不具备写权限;最后不属于hemin群组的其他用户具备r-x即读和执行权限。 39表示链接个数,与hemin目录下的子目录个数有关系;4096表示hemin目录下文件的大小; 2007-11-24 13:37表示该目录的最后修改日期; hemin表示目录名称。


c. Linux文件属性的重要性

不同于Windows中文件,Linux中文件都附加了很多属性,尤其是群组的概念,更加安全更加易于管理。


3。更改文件权限

修改群组,拥有者,修改各种身份的权限;

a. 修改群组;

使用chgrp,但是改变的目标群组名称必须在/etc/group中存在,否则会显示错误。

语法

chgrp 群组名称 文件或目录

举例:

ls -l

-rw-r--r-- 1 root root 100 2007-11-24 14:40 new


chgrp hemin new

ls -l

-rw-r--r-- 1 root hemin 100 2007-11-24 14:40 new


b. 修改拥有者chown

使用chown命令修改文件的所有者,但是文件的拥有者必须已经存在于系统中,及拥有者必须在/etc/passwd文件中存在。

如果要将目录下的所有子目录或文件同时修改,加-R参数即可,表示递归的意思。

chown [-R] 用户名称 文件或者目录

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

chown不但可以修改用户名,而且可以同时修改用户名称和用户组群。

经常使用的需要变更文件的拥有者,是在文件复制给其他人的时候。


c. 修改各种身份的权限chmod

两种方法修改文件权限;

1) 数字类型修改

9个属性共3个组,分别对应拥有者,拥有者所属群组,其他用户

rwx三位的每一位用二进制表示,可以转化为一个0-7之间的数。

这样9位属性就可以表示为3位的

chmod [-R] xyz 文件或目录

例如

-rwxr-xr--转化为数字类型为- 111 101 100这样表示为754

-rwxrwxrwx可以表示为777

2) 符号类型修改

9个属性分为3组,分别属于user, group, others三组,可以使用u, g, o分别代表。

此外a代表all即全部三组u, g, o

权限属性可以用r, w, x表示

这样采用如下方式

chmod u/g/o/a +/-/= r/w/x 文件或目录

其中+表示添加之后权限;-表示删除之后的权限;=号表示设定之后的权限

举例:

chmod u=rwx,go=rx .bashrc

表示设置拥有者具备rwx权限,用户群组和其他用户都只有rx权限;

即rwxr-xr-x 755

使用数字类型修改应如下

chmod 755 .bashrc


4Linux支持的文件格式与文件种类,后缀名

a. 文件格式

文件格式是OS存取数据的格式。Windows下的文件格式有FAT, FAT32, NTFS文件格式。

Linux的正统的文件格式为ext2,目前Linux支持的文件格式非常多,不过必须将想要支持的文件格式编译到Linux的内核里。

举例,如果Windows和Linux安装在一个硬盘里,Linux也不能访问到Windows的分区,因为不支持Windows的文件格式;Windows的核心也不支持Linux的文件系统,因此在Windows下是看不到Linux分区的。

目前很多Linux发行版本,都预先将一些文件格式编译到其内核里面,进而支持多种文件格式。

要查看Linux支持的文件格式,可以查看系统的/lib/modules/'uname -r'/kernel/fs,知道Linux支持的文件格式。

一般Linux的正统文件格式是ext2,但是最近发布的Linux默认采用ext3或者reiserfs格式,因为具备日志管理功能。

Ubuntu系统默认支持多种文件格式,因此能够访问到Windows分区。


b. 文件种类

Linux主要有如下几类文件种类:

1)正规文件,就是一般类型的文件,ls -l之后第一个属性为-的文件,可以分为两种

纯文本文件ASCII码文件,UNIX系统最多的一种类型;

二进制文件binary,通常出了脚本之外,执行文件就是这种;

2)目录directory: ls -l第一个属性为d

3)链接文件link file: 类似Windows下的快捷方式,第一个属性为l

Linux下的链接文件可以视为一个文件或目录的快捷方式,但和Windows下的快捷方式又不太一样,Windows下修改快捷方式无法修改主程序,Linux修改链接文件主程序会做相应改变。

4) 设备文件(device): 与系统外设相关的文件,通常位于/dev目录下,可以分为两种

块block设备文件:用于储存数据以提供系统存取的接口设备,一般都指硬盘,ls -l的第一个属性为b

字符character设备文件:用于串行端口的接口设备,例如键盘,鼠标,ls -l的第一个属性为c


c. Linux文件的后缀名

Linux文件的后缀名没有意义。因为Linux下一个文件能不能被执行,与其ls -l第一栏的10个属性有关系,与文件名没有关系。

与windows不同,在Windows下,可执行文件的后缀名如.exe等。

在linux只要文件的文件属性中有x,即代表这个文件可以被执行。

在linux也适当地以文件后缀名表示文件类型,比如

批处理文件(脚本): 以.sh代表,因为批处理脚本使用shell编写

打包或者压缩文档: 以.Z, .tar, .tar.gz, .zip, .tgz表示,这是因为压缩软件不同而不同,如gunzip, tar等

网页文件:如html, php等

Perl文件:.pl



FAQ

Unix与Linux系统的文件名最多可以容许255个字符;

-rwxrwxrwx表示文件拥有者可以读写执行,和文件拥有者同属一个组群的用户可以读写执行,其他用户也可以读写执行;

将一个文件file的属性改为-rwxr-xr--可以采用的指令:

数字方式:chmod 754 file

符号方式:chmod u=rwx,g=rx,o=r file

PS: 符号方式在原有基础上修改不大时用比较方便

更改一个文件的拥有者与群组的指令:chown 用户名:群组 file

Linux传统的文件类型为ext2, 现在常用的带有日志功能的文件格式有ext3和reiserfs.

如下目录主要放置什么数据

/etc/ 启动及系统的数据文件都放在该目录下,还有应用程序的配置文件

/etx/rc.d/init.d 存放开关机过程中用到的脚本文件

/boot 存放Linux核心与启动相关文件的地方

/usr/bin, /bin 系统执行文件的放置目录,一般用户可以使用

/usr/sbin, /sbin 系统执行文件的放置目录,root用户可以使用的

/dev 存放与设备有关的文件

/var/log 主要放置可变的信息和数据,log放置错误信息文件

文件名以'.'开头,表示该文件为隐藏文件,显示该文件使用ls -a及属性ls -al




5. Linux目录配置

查看如下图片



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics