`
qm4050
  • 浏览: 74150 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

linux文件的访问权限和文件模式

阅读更多

linux文件的访问权限和文件模式

SUID含义:文件的该位被设 置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超级用户 的特权了,这是该位将变成一个安全漏洞,因此不要轻易设置该位。

SGID含义:运行者将具有文件所有组的权限。

STICKY粘合位: 要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映像,这样做是为了节省大型程序的启动时间,但是会占用系统资源,因此设置该位,不如把程序写好。

set uid ;set gid;sticky bit区别

每一个文件有所有者及组编号,set uid ;set gid可以改变用户对文件具有的权限:写和执行.

setuid: 在执行时具有文件所有者的权限.
setgid: 设置目录. 一个目录被标上setgid位,此目录下创建的文件继承该目录的属性.
sticky bit: 该位可以理解为防删除位. 设置sticky bit位后,就算用户对目录具有写权限,但也只能添加文件而不能删除文件。


如何设置:

操作这些标志与操作文件权限的命令是一样的, 都是 chmod. 有两种方法来操作,
1) chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效,U=用户)
chmod g+s tempdir -- 为tempdir目录加上setgid标志 (setgid 只对目录有效,g=组名)
chmod o+t temp -- 为temp文件加上sticky标志 (sticky只对文件有效)

2) 采用八进制方式. 这一组八进制数字三位的意义如下,
abc
a - setuid位, 如果该位为1, 则表示设置setuid
b - setgid位, 如果该位为1, 则表示设置setgid
c - sticky位, 如果该位为1, 则表示设置sticky

设置后, 可以用 ls -l 来查看. 如果本来在该位上有x, 则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)
如:

rwsrw-r-- 表示有setuid标志 (rwxrw-r--:rwsrw-r--)
rwxrwsrw- 表示有setgid标志 (rwxrwxrw-:rwxrwsrw-)
rwxrw-rwt 表示有sticky标志 (rwxrw-rwx:rwxrw-rwt)

理解文件权限

所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。Linux 是一个多用户操作系统,它允许多个用户同时登录和工作。因此 Linux 将一个文件或目录与一个用户和组联系起来。请看下面的例子:

drwxr-xr-x 5 root root 1024 Sep 13 03:27 Desktop

与文件权限相关联的是第一、第三、第四个域。第三个域是文件的所有者,第四个域是文件的所属组,而第一个域则限制了文件的访问权限。在这个例子中,文件的 所有者是 root,所属的组是 root,文件的访问权限是 drwxr-xr-x。对于文件和目录讲,每个文件和目录都有一组权限标志和它们结合在一起,在上例中就是第一个域中的内容。下面来仔细分析这个域中各个 符号的意义:

该域由 10 个字符组成,可以把它们分为四组,具体含义分别是:

d rwx r-x r-x

文件类型 所有者权限标志 组权限标志 其他用户权限标志

其中:

文件类型:第一个字符。由于 Linux 系统对与设备、目录、文件都当作是文件来处理,因此该字符表明此文件的类型,字符与对应的意义如下表:

文件标志 文件类型 例子

- 普通文件 数据文件、ASCII 纯文本 文件、程序
d 目录 /bin
b 块设备 /dev/hda(第一个 IDE 硬盘)
c 字符设备 /dev/ttyS1(与 DOS 种的串口 2 等同)
s 套接字 /dev/log
p 命名管道 /dev/initctl(与“|”等同)
l 符号链接 /dev/modem->/dev/ttyS1



权限标志:

对每个文件或目录都有 4 类不同的用户。每类用户各有一组读、写和执行(搜索)文件的访问权限,这 4 类用户是:

root:系统特权用户类,既 UID = 0 的用户。

owner:拥有文件的用户。

group:共享文件的组访问权限的用户类的用户组名称。

world:不属于上面 3 类的所有其他用户。

作为 root,他们自动拥有了所有文件和目录的全面的读、写和搜索的权限,所以没有必要明确指定他们的权限。其他三类用户则可以在耽搁文件或者目录的基础上别 授权或撤消权限。因此对另外三类用户,一共 9 个权限位与之对应,分为 3 组,每组 3 个,分别用 r、w、x 来表示,分别对应 owner、group、world。

权限位对于文件和目录的含义有些许不同。每组 3 个字符对应的含义从左至右的顺序,对于文件来说是:读文件的内容(r)、写数据到文件(w)、做为命令执行该文件(x)。对于目录来说是:读包含在目录中 的文件名称(r)、写信息到目录中去(增加和删除索引点的连接)、搜索目录(能用该目录名称作为路径名去访问它所包含的文件或子目录)。具体来说就是:

1. 有只读权限的用户不能用 cd 进入该目录;还必须有执行权限才能进入。

2. 有执行权限的用户只有在知道文件名并拥有该文件的读权限的情况下才可以访问目录下的文件。

3. 必须有读和执行权限才可以使用 ls 列出目录清单,或使用 cd 进入目录。

4. 如用户有目录的写权限,则可以创建、删除或修改目录下的任何文件或子目录,既是该文件或子目录属于其他用户。

修改文件权限

首先讲修改文件的所有权,使用 chown 和 chgrp 命令:

chown new_user file or directory:修改文件或目录的所有者。

chgrp new_group file or directory:修改文件或目录的所属组。

这里需要注意的是:普通用户不能将文件或目录的所有权交与他人,只有 root 有这一权限。但是普通用户有权改变文件或目录的所属组。


由于每类用户的权限都是由 rwx 三位组成,因此可以用三个八进制数字表示文件的访问权。一个八进制数字可以用三个二进制数字表示,那么与其对应,权值为 4 的位对应 r,权值为 2 的位对应 w,权值为 1 的位对应 x。对于一类用户,将这三位与其对应的权值相乘求和,就可以得出对该类用户的访问权限。

改变文件访问权限的命令是 chmod,格式是:

chmod permission file_name

比如 chmod 764 a.txt,它表示对于文件的所有者,具有对该文件读、写、执行的权限。对于文件所属组的用户,拥有读、写的权限。对于其他用户,只有读权限。

这里需要注意的是:文件的创建者是唯一可以修改该文件访问权限的普通用户,另外一个可以修改文件访问权限的用户是 root。

还有一种表示方法,就是用字符串来设定文件访问权限。其中读用 r 表示,写用 w 表示,执行用 x 表示;所有者用 u 表示,组用户用 g 表示,其他用户用 o 表示,所有用户用 a 表示。那么上面例子就写成西面的模样:

chmod a+r,u+w,u+x,g+w a.txt

本文来处www.javablogs.com

分享到:
评论

相关推荐

    Linux系统的文件模式和访问权限介绍

    Linux系统每个文件都有三种类型用户ID:文件拥有者ID、同组用户ID、所有剩下用户ID。并且每种类型用户都有三种类型的访问权限:读、写、执行。文中还介了进程的分类及进程读/写/执行文件的过程。

    Linux改变文件或目录的访问权限命令

    Linux改变文件或目录的访问权限命令

    Linux文件权限.pdf

    从命令行中修改权限: 1) 使用文件系统来控制安全访问。 2) 回顾chmod命令模式。 3) 使用符号模式修改文件或目录的权限。 4) 确定八进制模式权限。 5) 使用八进制模式修改文件或目录的权限。 6) 使用vi编辑器创建一...

    第三章 Linux文件管理.docx

    “Linux文件管理” ...Linux文件系统的管理包括文件的创建、删除、复制、移动、重命名、权限设置、访问控制等操作。用户可以使用各种命令和工具来管理文件和目录,例如mkdir命令、rm命令、cp命令、mv命令等。

    解析LINUX环境中FTP服务器的用户访问权限.pdf

    "解析 LINUX 环境中 FTP 服务器的用户访问权限" FTP(File Transfer Protocol)是互联网上用于提供文件传输服务的一种通信协议,用于不同的主机之间进行文件传输。在 LINUX 环境中,FTP 服务器可以提供四种用户访问...

    Android 访问文件权限的四种模式介绍

    Linux文件的访问权限 * 在Android中,每一个应用是一个独立的用户 * drwxrwxrwx * 第1位:d表示文件夹,-表示文件 * 第2-4位:rwx,表示这个文件的拥有者(创建这个文件的应用)用户对该文件的权限 * r:读 * w:写...

    Linux使用scp命令进行文件远程拷贝详解

    前言 scp是 secure copy的缩写, scp是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令。Linux的scp命令可以在Linux服务器之间复制文件和目录。...-p:保留原文件的修改时间,访问时间和访问权限

    用Rsync实现Linux文件系统备份.pdf

    接下来,在服务器机器上使 Rsync 以 daemon 模式运行,并在 Rsync 服务器上设置一个称为 rsyncd.conf 的配置文件,该配置文件位于 /etc 目录下。配置文件用来控制认证、访问、日志等。之后,其他任何一台安装了 ...

    Linux的文件系统及常用文件和目录操作命令看这一篇就够啦!超详细!

    文章目录一、Linux文件系统基础1、Linux文件系统的特点2、Linux文件系统的组成二、Linux文件系统操作1、文件的基本概念2、Linux系统下的通配符和快捷操作3、文件操作命令4、目录操作命令 一、Linux文件系统基础 1、...

    Linux操作系统:配置匿名账号FTP服务器.pptx

    允许匿名用户上传和下载文件 设置用户免密登录 设置本地系统权限 配置思路 启动vsftpd软件 进入vsftpd主配置文件 启用匿名用户 设置匿名用户可以在一个具备写权限的目录中创建新目录 启用匿名用户 service ...

    linux命令.txt

    linux 目录结构、文件权限 drwxr-xr-x 3. linux 命令 - 开关机 - 文件操作 - 系统命令 1. top 2. who 3. ifconfig 4. ping 5. kill 6. man 7.clear 8.netstat 4. 软件管理 - dpkg :离线 .deb .rpm .apk ...

    武汉大学计算机学院linux复习题.doc

    本文对武汉大学计算机学院 Linux 复习题进行了总结和分析,并对每个问题进行了详细的解释和讲解,涵盖了 Linux 操作系统的基础知识点,如文件权限和访问控制、Linux 文件系统、文件和目录管理、进程管理、磁盘管理、...

    为Linux系统添加新硬盘.pdf

    * Paranoid模式:对Linux文件系统进行极其详细的扫描和分析,扫描内容包括Verbose模式中的内容,以及文件关联情况和不可读取文件目录。 Adeos执行参数 Adeos提供了四个执行参数供用户使用: * -d:扫描所有动态...

    深入分析Linux内核源码.chm

    1.2 Linux的开发模式和运作机制 1.3走进Linux内核 1.4 分析Linux内核的意义 1.5 Linux内核结构 1.6 Linux内核源代码 1.7 Linux内核源代码分析工具 第二章 Linux运行的硬件基础 2.1 i386的寄存器 2.2 内存地址 2.3 段...

    浅谈LINUX操作系统中Samba3.0服务器实战.pdf

    通过 Samba 服务器,我们可以实现文件共享、文件访问控制等功能,不仅限于文件共享,还可以实现打印机共享、用户权限控制等功能。 打印机共享是 Samba 服务器的另一个重要功能,通过 Samba 服务器,可以实现打印机...

    linux教程——很使用的那种

    linux中的文件(普通文件或设备文件等)都必须有挂在点,只有挂载到一个目录下才能访问,swap分区是不需要挂载点的,在分区的时候,将文件系统类型选为swap,挂载点自动会变为灰色。一般linux中的swap大小为内存的两倍。...

    cmd操作命令和linux命令大全收集

    get server.exec:server.exe 登陆后,将“IP”的server.exe下载到目标主机c:server.exe 参数:-i指以二进制模式传送,如传送exe文件时用,如不加-i 则以ASCII模式(传送文本文件模式)进行传送 tftp -i 对方IP put...

    Linux输入输出与文件

    1. 基于文件指针的文件操作(缓冲)  linux中对目录和设备的操作都是文件操作,文件分为普通文件,目录文件,链接文件和设备文件。  1.1....  fopen创建的文件的访问权限将以0666与当前的umask结

    LINUX网站建设技术指南

    第4章 Linux文件及系统管理 4.1 文件和目录 4.1.1 文件和目录概述 4.1.2 文件类型 4.2 文件权限 4.2.1 文件权限的概念 4.2.2 文件权限的构成 4.2.3 文件权限的依赖性 4.2.4 改变权限 4.3 文件链接 4.3.1 硬链接 ...

Global site tag (gtag.js) - Google Analytics