Linux的档案属性和目录配置

一、用户与用户组

当组1内的用户文件设置为-rwxrwx---时,组2内的用户4不可以读写执行组1内的任何文件和档案

当组1内的用户文件设置为-rwxrwxrwx时,组2内的用户4可以读写执行组1内的任何文件和档案

当组1内的用户文件设置为-rwx------时,组1内的其他用户和组2内的用户不可以读写执行组1内任何用户的文件和档案

二、Linux文件权限

2.1  文件的一般权限

文件的执行者   执行文件的用户

文件的所有者   默认为创建文件的用户

文件的所有组   默认为创建文件的用户所属的用户组

相同权限对于文件与目录所代表的含义会有不同

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
read 读取权限
 
对于一般文件 有此权限用户就可以读取文件内容(例如 cat命令)
 
对于目录 有此权限的用户就可以显示目录下的文件列表,表示具有读取目录结构清单的权限,当用户具有读取一个目录的权限时,使用ls这个指令就能将目录的内容列表显示出来(例如 ls命令)
 
write 写入权限
 
对于一般文件 有此权限用户就可以编辑文件的内容(例如 vim命令)
 
对于目录 有此权限用户就可以在目录下新建、剪切、删除文件(例如touch、mv、rm等命令)(1)建立新的文档与目录(2)删除已存在的档案和目录(不论该文档或目录属于谁)(3)将已存在的档案或目录重命名(4)改变该目录内的档案、目录位置
 
execute 执行权限,与能否进入该目录有关
 
对于一般文件 有此权限用户就可以执行这个脚本文件(例如 . /脚本名 运行脚本)
 
对于目录 有此权限用户就能够进入到目录(例如cd命令 进入目录)
 
注意事项
 
W权限可以单独设置,只对文件进行写入操作 (通过重定向实现)
1
2
3
drwxr-xr-x      2           zk              zk              4096           411 16:48           Desktop/
[   1  ]       [2]          [3]             [4]             [ 5 ]          [    6    ]         [    7    ]
[档案属性]    [连结数]    [档案拥有者]       [档案所属群组]     [文件容量]         [修改时间]              [文件名]

read属性值为4,write属性值为2,execute属性值为1

档案权限

1、第一栏包含文件的档案类型。文件的权限

第一个属性代表这个档案是[目录、档案或者连结文件等]

-当为[d]则是目录

-当为[-]则是普通文件

-当是[l]则表示为连接档(link file)

-若是[b]则表示为装置文件里面的可供储存的接口设备(块设备文件)

-若是[c]则表示为装置文件里面的串行端口设备(字符设备文件),例如键盘、鼠标

2、第二栏表示连结占用的节点(i-node):这个跟连结档(link file)比较有关系。如果是目录的话,第二栏的这个数字与该目录下有多少目录有关(这个数字包括当前目录,上一级目录和当前目录所包含的目录所占的节点数的总和)

1
2
ls -l
ls -la     #可以显示隐藏文档

可以更改链接文档的链接点数量,注意使用touch创建文件,而不是mkdir创建目录,会产生无法link的错误,文件的档案类型是无法修改的:比如

链接数会随着连接建立增加

链接的命令行为

1
2
ln [选项] 目标 [链接名]
ln login.txt login1.back2

分软连接和硬链接:

软链接与硬链接的区别(通俗):

硬链接可认为是一个文件拥有两个文件名;

而软链接则是系统新建一个链接文件,此文件指向其所要指的文件

若源文件改名,则软连接不可用(找不到源文件);硬链接可正常访问到源文件;

修改软连接、硬链接和源文件,访问三者都是同步变化的。

软链接:

软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式

软链接可以跨文件系统 ,硬链接不可以。

软链接可以对一个不存在的文件名进行链接

软链接可以对目录进行链接

硬链接:

硬链接,以文件副本的形式存在。但不占用实际空间。

不允许给目录创建硬链接

硬链接只有在同一个文件系统中才能创建

针对于目录,如果目录的目录数为2,则表示该目录下面没有其他目录

3、第三栏表示档案(或目录)的[拥有者]

1
2
3
chgrp:改变档案的所属群组
chown:改变档案所属人
chmod:改变档案的属性

如果要连目录下的所有次目录或档案同时更改档案属性的话,直接加上-R的参数 

更改文件权限

可以分别使用'a','g','o'更改文件属性,分别代表文件拥有者、文件所属组和其他用户

添加用户组

1
2
3
4
5
6
root@zk-virtual-machine:/etc#sudo groupadd testgroup
root@zk-virtual-machine:/etc#sudo  useradd test1 -g testgroup
root@zk-virtual-machine:/etc#sudo  useradd test2 -g testgroup
root@zk-virtual-machine:/# cat etc/group
root@zk-virtual-machine:/# cat etc/passwd
root@zk-virtual-machine:/# sudo usermod -G root test1     #删除用户

设置用户密码:

1
2
3
4
zhangkun@zhangkun-virtual-machine:/etc$ sudo passwd test1
New password:
Retype new password:
passwd: password updated successfully

在/home目录下创建test1和test2隶属于不同的用户,但是是同一用户组(先创建目录,再使用chown更改文件权限)

 更改目录属性

 切换至test2用户,访问test1,此时,没有权限访问

 此时给test1文档添加读取权限R,切换至test2用户,读取test1

此时给test1文档添加执行权限X,切换至test2用户,可读取test1,可切入test1目录,但是无法新建文件

 此时给test1文档添加写入权限以及同组用户写入权限W,切换至test2用户,可读取test1,可切入test1目录,可新建文件

可创建目录,可更改文件名,也可移动文件至文件夹下

4、第四栏表示拥有者的群组

5、第五栏表示这个档案的容量大小

6、第六栏为这个档案的建档日期或者是最近的修改日期,分别是月份,日期和时间

7、第七栏为这个档案的档名,如果档名之前多一个[.],则代表这个档案为隐藏文件

三、Linux目录配置

Linux文件类型与扩展名

第一个属性代表这个文档的类型

(1)若为[d]是目录

(2)若为[-]是普通文件(ascii,binary,data),使用last命令读取

(3)若是[l]为连结档(link file)

(4)若是[b]为存储数据以供系统访问的接口设备

(5)若是[c]为串行接口的端口设备,例如键盘、鼠标

(6)若是[s]套接字(sockets)(var/run),通常用在数字链接当中,客户端通过套接字进行通信。

(7)若是[p]管道(FIFO,pipe)(var/run),主要作用是解决多个程序同时访问一个文件的错误。

管道文件

通常套接字文件和管道文件在/var/run文件夹下

last指令(特定2进制文件用last读取,若为[-]是普通文件(ascii,binary,data))

last指令主要用于检索和展示系统中用户的登录信息。

显示所有用户的登录记录:

1
last

该命令将列出所有用户的登录记录,包括登录时间、持续时间、登录来源等信息。  

显示特定用户的登录记录:

1
last [用户名]

通过指定用户名,可以仅显示该用户的登录记录。 

显示最近的N条登录记录:

1
last -n [数量]

该命令将显示最近的指定数量(N)的登录记录。

显示登录记录的详细信息:

1
last -f /var/log/wtmp

通过使用"-f"选项,可以指定读取的日志文件,从而查看更详细的登录信息。 

Linux档案能否执行,与文件的第一栏的十个属性和文件内容有关,与文件名无关

Linux文件后缀名与文件名

-*.sh:批文件处理文档(scripts),因为它使用shell编写,所以后缀名就编成.sh

-*Z,*tar,*tar.gz,*.zip,*,tgz:经过打包的压缩档。这是因为压缩软件分别为gunzip,tar等,由不同的压缩软件,而取其相关的后缀名。

-*.html,*.php:网页相关档案,分别代表HTML语法与PHP语法的网页档案,.html的档案可以使用网页浏览器来直接开启,至于.php的文档,则可通过client端的浏览器来浏览server端,以得到运算后的网页结果。

-程序语言perl的档案,其后缀名也可能取成.pl这种档案名。

单一文档或目录的最大允许文件名为255个字符;

包含完整路径名称及目录(/)的完整路径名为4096个字符。

 Linux文件名的限制(1)一般来说,设置Linux文件名时,最好避免一些特殊字符(*?<>;&![]|\'"(){}),这些符号在命令行下有特殊的含义

Linux的目录配置

  • /bin目录:用来存放二进制可执行命令的目录,用户常用的命令都存在该目录下。系统预设的执行文件目录放置位置,放置可执行文件
  • /sbin目录:用来存放二进制可执行文件,这里面的命令只供系统管理员,管理系统使用(root用户)。系统预设的执行文件放置位置,放置可执行文件
  • /dev目录:设备文件存放的目录,因为linux中一切皆文件,所以就像鼠标、键盘、光驱,对linux来说也都是一个个的文件。例如/dev/cdrom(光驱)、/dev/sda1(硬盘)等。
  • /tmp:类似windows中的垃圾回收站
  • /home:普通用户的家目录,用来存放普通用户的文件。
  • /boot目录:存放内核文件和系统引导程序
  • /lib目录:存放二进制库文件,库文件一般以.so|lib*|ld*
  • /mnt目录:临时挂载临时存储设备的目录
  • /opt目录:下载目录,一般是给第三方厂家开发的程序的安装目录,一般用不了
  • /media目录:用于挂载可移动设备的临时目录。
  • /root目录:系统管理员的家目录。
  • /sys目录:与/proc一样,存放系统运行过程中的信息文件。
  • /etc目录:yum/rpm安装的软件配置文件所在的目录,开机和系统数据文件放置路径。存放配置文件
  • /usr目录:安装除操作系统本身外的一些应用程序或组件的目录,一般可以认为是linux系统上安装的应用程序默认都安装在此目录中,放置共享数据。
  • /usr/local目录:这是系统预设的安装升级的套件的目录。
  • /var目录:放置系统服务。
  • /usr/share/man,/usr/local/man:这两个目录为放置各类套件说明档的地方。
1
cat /proc/cpuinfo

1
ls -l /usr

Linux支持的文件系统放置在目录/lib/modules/'uname -r'/kernel/fs

Linux使用的文件系统有ext2、ext3,最新的版本还支持reiserfs(基于平衡树结构的文件系统) 
EXT 文件系统  
EXT -- 扩展文件系统,是于 1992 年 4 月发表的一种文件系统,是为 Linux 核心所做的第一个文件系统,最大可支持 2GB 的文件系统。
  EXT2:是 EXT文件系统的升级版,最大支持 16TB 的分区和最大 2TB 的文件;
  EXT3:是 EXT2文件系统的升级版,最大的区别是带有日志功能,以在系统突然崩溃时提高文件系统的可靠性,最大支持 16TB 的分区和最大 2TB  的文件;
  EXT4:是 EXT3文件系统的升级版,EXT4在性能、伸缩性、可靠性上进行了大量的改进。它向下兼容 EXT3,最大支持 1EB(1024 * 1024TB) 的分区和 16TB 文件,更快,更安全。
posted @   leagueandlegends  阅读(38)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示