6.Linux的文件权限与目录设置

Linux的文件权限与目录设置

Linux一般将文件可存取访问的身份分为三个类别:owner、group、others。文件所有者、用户组、其他非本用户组的用户。
可以设定文件的访问权限为文件所有者。
用户组中的用户可以共享文件。
root可以访问任何文件。
默认情况下所有系统上的账号与一般身份用户还有root的信息都记录在/etc/passwd文件中。个人密码则记录在/etc/shadow中。所有组名记录在/etc/group中。

Linux文件属性

ls -al

共十个字符来表示文件属性。第一个字符代表文件类型,-为文件,d为目录,l为链接。接下来的9个分为三组,分别代表文件所有者权限,所属用户组权限,其他权限。r(4)-可读,w(2)-可写,x(1)-可执行,-(0)无权限。
-rwxr–r–:该文件文件所有者可读写,用户组和其他只能访问。
drwxr-xr–:该目录文件所有者可以访问可读写,用户组只可访问和读,其他不能访问该目录。
lrwxr—–:链接文件…

如何改变文件属性与权限

  • chgrp : 修改文件所属用户组
  • chown : 修改文件所有者
  • chmod : 修改文件的权限

当我们在使用 cp 复制文件给另一个用户时,cp会复制执行者的属性和权限,所以需要修改文件的所有者与所有组。

chgrp [-R] dirname/filename
chown [-R] 账号名称 文件或目录
chmod [-R] xyz 文件或目录 xyz指rwx属性数值的想加,如777、741等。

改变文件权限两个方法:
1)数字类型改变文件权限
2)符号类型改变文件权限

文件是存放实际数据的地方,目录主要的内容是记录文件名列表。所以目录和文件对应的权限代表的意义不同。

权限对文件的重要性:

r:可读取此文件的实际内容,如读取文本文件的字节内容等。
w:可以编辑、新增或者是修改该文件的内容(但不含删除该文件)。
x:该文件具有可以被系统执行的权限。

权限对目录的重要性:

r:具有读取目录结构的权限,可以使用ls查看该目录的内容列表。
w:具有更改该目录结构列表的权限。新建新的文件与目录、删除已经存在的文件与目录等
x:代表用户能否进入该目录成为工作目录。

Linux文件种类与扩展名

文件类型
- -:普通文件
- d:目录
- l:连接文件,类似windows的快捷方式
- b:块设备文件。一些存储数据,以提供系统随机访问的接口设备,如硬盘、软盘等。
- c:字符设备文件。一些串行端口的接口设备,例如鼠标、键盘等。
- s:套接字,数据接口文件,被用于网络上的数据连接。
- p:管道FIFO(pipe)。FIFO(first in first out)主要目的在解决多个程序同时访问一个文件所造成的错误问题。

Linux文件能不能执行与它第一列的十个属性有关与文件名无关。只要属性中有x就代表可执行,但可执行不代表执行成功。但是可以通过文件名来了解该文件是什么东西。
*.sh :脚本或批处理文件,因为批处理文件是由shell写的,所以用.sh表示。
Z、.tar.gz、.zip、.tgz:经过打包的压缩文件。

Linux文件长度限制

在Linux下,使用默认的Ext2/Ext3文件系统时,针对文件的文件名长度限制为:
- 单一文件或目录的最大容许文件名为255个字符;
- 包含完整路径名称及目录(/)的完整文件名为4096个字符。

Linux目录配置

Linux目录配置标准:FHS

由于开发Linux distributions的团队太多了,如果每个人都用自己的想法来配置文件放置的目录,那么将造成管理上的困扰,因此制定了Filesystem Hierarchy Standard标准。

FHS一句文件系统使用的频繁与否与是否运行随意改动,将目录分为以下四类:
1)可分享的:可以分享给其他系统挂载使用的目录,包括执行文件与用户的邮件等数据。
2)不可分享的:自己机器上运行的设备文件或者是与程序有关的socket文件等。
3)不变的:不可变的数据,例如函数库、文件说明文件、系统管理员所管理的主机服务配置文件等。
4)可变动的:经常改变的数据,例如登陆文件等。

FHS针对目录树架构定义了三层目录下该放置说明数据:
1)/(root,根目录):与开机系统有关;
2)/usr(UNIX Software resource):与软件安装/执行有关;
3)/var(variable):与系统运作过程有关。

目录树

目录树的特点:
- 目录树的起点为根目录:/
- 每一个目录不只能使用本地端的文件系统,也可以使用网络上的文件系统。例如,可以使用NFS(Network File System)服务器挂载某特定目录等
- 每一个文件在此目录树中的文件名(包含文件名)都是独一无二的。

绝对路径:由根目录/开始写起的文件名或目录名称。例如/home/c/.bashrc
相对路径:相对于当前路径的文件名写法。例如./home/c或../../home/c

  • .代表当前的目录,也可以用./来表示。
  • ..代表上层目录,也可以用../来表示。

猜你喜欢

转载自blog.csdn.net/qq_34364995/article/details/81706366