Linux的文件权限和目录配置



2.1、Linux的文件权限和目录配置

2.1.1、Linux文件属性

以root身份登录后,执行“ls–al”将会出现如下内容:

<span style="font-size:10px;">[root@localhost ~]# ls -al

总用量 44

dr-xr-x---.  5 root root 4096 8月   6 14:44 .

dr-xr-xr-x. 17 root root 4096 7月  25 05:33 ..

-rw-------.  1 root root 1426 7月  25 05:35 anaconda-ks.cfg

-rw-------.  1 root root  431 8月   6 11:13 .bash_history

-rw-r--r--.  1 root root   18 12月 29 2013 .bash_logout

-rw-r--r--.  1 root root  176 12月 29 2013 .bash_profile

-rw-r--r--.  1 root root  176 12月 29 2013 .bashrc

drwx------.  4 root root   29 8月   6 10:23 .cache

drwxr-xr-x.  3 root root   17 8月   6 10:23 .config

-rw-r--r--.  1 root root  100 12月 29 2013 .cshrc

drwx------.  3 root root   24 7月  24 21:39 .dbus

-rw-r--r--.  1 root root 1474 7月  24 21:53 initial-setup-ks.cfg

-rw-r--r--.  1 root root  129 12月 29 2013 .tcshrc

-rw-------.  1 root root   66 8月   6 14:44 .xauthqxoZZ4</span>

从上述可以看出,共有七列数据,下面将一一讲述
  •   第一列代表文件的类型与权限

               第一列共有10个字符,第一列代表这个文件是“目录、文件或链接文件等”

  •  若是[d]则表示目录
  •  若是[-]则表示文件
  •  若是[l]则表示链接文件
  •  若是[ b ]则表示为装置文件里面的可供储存的接口设备
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

   接下来的字符中,以三个为一组,且均为[rwx]的三个参数的组合, [r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]。

  •   第一组:文件拥有者的权限
  •   第二组:同群组的权限
  •   第三组:其他非本用户组的权限
  •   第二列表示有多少个文件名链接到此节点
    记录有多少不同的档名连结到相同的一个i-node,一般来说,若是文件则为1,若是文件夹(目录)则表示其下文件和目录的个数.
  •  第三列表示文件(或目录)的拥有者
  •  第四列表示文件的所属群组
  •  第五列表示文件的容量大小(默认单位为bytes)
  •  第六列表示文件的建档日期或者是最近的修改日期
  • 第七列表示文件的全路径及其文件名

2.1.2、文件属性和权限更改

Linux文件属性和权限的更改主要通过以下几个命令来实现:

(1)chgrp:更改文件所属用户组

(2)chown:更改文件拥有者

(3)chmod:改变文件的权限

  •   改变所属用户组:chgrp

[root@localhost tmp]# ls -al dir

总用量 4

drwxrwxr-x.  3 www1234  www1234   32  8月   6 15:14  .

drwxrwxrwt. 25 root       root      4096  8月   6 15:14  ..

drwxrwxr-x.  3 www1234  www1234   17  8月   6 15:13  dir2

-rwxrw-rw-.  1 www1234  www1234    0  8月   6 15:13  file.txt

从上可以看出,dir2和file.txt文件是属于www1234用户组。

[root@localhost tmp]# chgrp user -R dir

[root@localhost tmp]# ls -al dir

总用量 4

drwxrwxr-x.  3 www1234  user   32    8月   6 15:14  .

drwxrwxrwt. 25 root       root  4096   8月   6 15:15  ..

drwxrwxr-x.  3 www1234  user   17    8月   6 15:13  dir2

-rwxrw-rw-.  1 www1234  user    0    8月   6 15:13  file.txt

  • 改变文件所有者:chown

[root@localhost tmp]# chown user1 -R dir

[root@localhost tmp]# ls -al dir

总用量 4

drwxrwxr-x.  3 user1  user   32   8月   6 15:14  .

drwxrwxrwt. 25 root   root  4096  8月   6 15:22  ..

drwxrwxr-x.  3 user1  user   17   8月   6 15:13  dir2

-rwxrw-rw-.  1 user1  user    0   8月   6 15:13  file.txt

关于文件的复制cp

复制行为会复制执行者的属性与权限,通过以下例子可以理解:

[root@localhost tmp]# ls -al /home/www1234/file.txt

-rwxrw-r--. 1 www1234 www1234 0 8月   6 15:13 /home/www1234/file.txt

[root@localhost tmp]# cp /home/www1234/file.txt /home/user1/file.txt

[root@localhost tmp]# su user1

[user1@localhost tmp]$ ls -al /home/user1/file.txt

-rwxr--r--. 1 root root 0  8月   6 15:36  /home/user1/file.txt

从上表看出,用户www1234文件file.txt的用户所有者,所属用户组均为www1234,而执行复制的操作的执行者是root用户,所以复制的文件属于root用户所有,文件的读写属性也发生了变化。

  •  改变权限:chmod

数字类型改变权限:r:4,w:2,x:1

每种身份(owner、group、others)各自的三个权限(r、w、x)分数是需要累加的。

例如:[-rwxr-x---]

owner:rwx=4+2+1=7

group:r-x=4+1=5

others:---=0+0+0=0

改变main.c的权限:

chmod 777 main.c  权限变为[-rwxrwxrwx]

  •  权限对文件的意义:
  •  r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;
  • w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);
  •  x (execute):该文件具有可以被系统执行的权限.
在Windows底下一个文件是否具有执行的能力是藉由扩展名来判断的, 例如:.exe, .bat, .com 等等

在Linux底下,我们的文件是否能被执行,则是藉由是否具由x这个权限来决定的!跟档名是没有绝对的关系的。

  •   权限对目录的意义:
  •  r (read contents in directory):

    表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据. 所以你就可以利用 ls 这个指令将该目录的内容列表显示出来!

  • w (modify contents of directory):
    建立新的文件与目录;
    删除已经存在的文件与目录(不论该文件的权限为何)
    将已存在的文件或目录进行更名;
    搬移该目录内的文件、目录位置.

  • x (access directory):
    用户具备进入该目录成为工作目录的权限

2.1.3、Linux目录配置


Linux目录结构

目录

应存放文件内容

/bin

系统启动时需要的执行文件(二进制)

/boot

这个目录主要放置开机时会使用到的文件,包括Linux内核文件以及开机菜单与开机所需配置文件等

/dev

在Linux系统上任何设备和接口设备都是以文件的形式存放在系统目录的。只要通过访问目录下的某个文件就等于访问某个设备。

/etc

系统的主要配置文件几乎都放置在这个目录内,例如人员的账号密码文件、各种服务的起始文件等。一般来说,这个目录下的各文件属性是可以让一般用户查阅的,但只有root用户有修改权力。

/home

这是系统默认的用户主文件夹。在你创建一个一般用户账户时,默认的主文件夹都会规范到这里。~:代表当前这个用户的主文件夹,~dmtsal:代表dmtsal用户的主文件夹

/lib

系统的函数库非常多,而/lib放置则是开机时会用到的函数库,以及/bin或/sbin下面的命令或调用的函数库

/media

/media下面放置的是可删除的设备,包括软盘、 光盘、DVD等设备都挂载于此。常见的文件名有/media/floppy,/media/cdrom等。

/mnt

如果你想暂时挂载某些额外设备,一般可以放置到这个目录中。

/opt

给主机额外安装软件所摆放的目录,第三方软件安放的目录。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

/root

系统管理员的主文件夹

/sbin

可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行

/svr

服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内

/tmp

这是让一般用户或者是正在执行的程序暂时放置文件的地方。这个目录是任何人都能访问的,但一般开机后都会对/tmp下的数据进行删除。

/proc

此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等

/lost+fount

统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found

/sys

这个目录和/proc非常相似,也是一个虚拟文件系统,主要记录与内核相关的信息。包括目前已加载的内核模块与内存检测到的硬件设备信息等。这个目录同样不占硬盘容量。

 

/usr:应用程序存放目录,所以系统默认的软件都会放到/usr目录下,这个目录有点类似于windows系统中的“C:\Windows\”和“C:\Program files\”这两个目录的综合体,系统刚安装完毕,系统会占用最多的硬盘容量。

目录

应存放文件内容

/usr/X11R6

该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。

/usr/bin/

这个目录是可执行程序的目录,普通用户就有权限执行; 当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录

/usr/sbin/

非系统正常运行所需要的系统命令。最常见的就是某些网络服务器软件的命令

/usr/include/

C/C++等程序语言的头文件与包含文件的放置处,当我们以tarball方式(*.tar.gz的安装方式安装软件)安装某些数据时,会使用到里面的很多头文件。

/usr/lib/

包含各应用软件的函数库、目标文件,以及不被用户惯用的执行文本或脚本

/usr/local/

系统管理员在本机自行安装自己下载的软件时,建议安装到此目录,这样比较方便管理。

/usr/share/

系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,是用户都共用的。

/usr/src

是内核源码存放的目录

/var:

/usr是安装时会占用较大硬盘容量的目录,/var是在系统运行后才会逐渐占用硬盘容量的目录。/var目录主要针对常态性变动的文件,包括缓存(cache)、登录文件(logfile)以及某些软件运行所产生的文件,包括程序文件(lock file,run file)或者mysql数据库文件。

目录

应存放文件内容

/var/cache

应用程序本身运行过程中会产生的一些缓存文件

/var/lock/

某些设备或者某些文件资源一次只能被一个应用程序所使用,如果同时两个应用程序使用设备时,就有可能产生一些错误的状况,就需要对设备进行上锁。

/var/log/

随时更改的日志文件

/var/mail/

放置个人电子邮件的目录,不过这个目录也被放置到/var/spool/mail目录中,通常这两个目录互为连接文件

/var/run

某些程序启动后,它会将它们的PID放置在这个目录

/var/spool/

这个目录通常放置一些队列数据

2.1.4、绝对路径与相对路径

  •  绝对路径:由跟目录(/)开始写起的文件名或目录名称
  • 相对路径:相对于目前路径文件名的写法
  • . :表示当前目录,也可以使用./代替
  •   ..:表示上一层目录,也可以用../来表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值