Linux文件权限与目录配置

本文详细介绍了Linux系统中的用户与群组管理、文件权限设置方法、文件属性的重要性和文件格式等内容,帮助读者理解Linux环境下如何有效管理和保护文件。

1 Linux 中的用户与群组

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

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


2 Linux 文件权限

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


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

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 目录配置

查看如下图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值