文件权限

文件的权限

当运行如下命令时:

[[email protected] ~]# ll /etc/passwd

出现下面结果:

-rw-r--r--. 1 root root 1933 May 19 11:14 /etc/passwd

解释如下:

1)- 代表文件类型

-:普通文件

d:目录文件

l:软连接文件

s:套接字文件

p:管道文件

c:字符设备文件 无缓存,顺序访问

b:块设备文件 有缓存,随机访问

2)rw-r--r-- 代表文件的权限

能使用此文件的用户分为三类,属主,属组的用户和其他用户

从左到右,每三位分别代表三类用户的权限

r:读权限

w:写权限

x:执行权限

-:代表没有相应位置的权限

对于文件,读写执行分别代表的含义:

r:可用文件查看类工具获取文件内容

w:可修改其内容,只有此权限时,不能查看再修改,但是可以用重定向修改

x:可以把文件提交给内核,启动一个进程来执行

对于目录来说,读写执行分别代表的含义:

r:可以数用ls查看此目录中的文件列表

w:可以在目录中创建/删除文件

x:可以使用ls -l查看此目录中文件列表的详细信息,也可以用cd进入此目录

Attention:对于某个用户来说,目录有w权限,无论里面文件是否有w权限,都可被删除

基本的文件权限就用这9位来表示,这样将其功能位置固定,用10表示对应其功能开关,那么就是一个9位的二进制数,再将每三为捆绑加以区分对每类用户的权限,这样就可以清晰的看到每类用户的权限了

e.g.rw-r----- 对应二进制 110 100 000 再将每三位捆绑 变成三位的八进制数。 640 属主读写权限,属组读权限,其他无权限,这通常是一个文件的默认权限 目录默认 755

3). 如果有此项,则代表该文件有selinux标签,使用ll -Z查看,如果是目录则用ll -dZ

Following the file mode bits is a single character that specifies

whether an alternate access method such as an access control list

applies to the file.  When the character following the file mode

bits is a space, there is no alternate access method.  When it is

a printing character, then there is such a method.

在文件权限位后面,附加有一个单字符。用来表示是否有一个

可替换的访问控制措施应用在这个文件上。例如,访问控制列表(ACL,access control list)。

当文件权限位后面附加的是一个空格时,表示系统没有可替换的访问控制措施。

当是一个可打印字符时,表示系统存在这样一个访问控制措施。

GNU `ls‘ uses a `.‘ character to indicate a file with an SELinux

security context, but no other alternate access method.

GNU的ls命令使用‘.’字符表示文件使用了selinux

安全上下文,但是没有其他可替代的访问控制措施

A file with any other combination of alternate access methods is

marked with a `+‘ character.

在使用SElinux安全上下文的同时,混用其他访问控制措施的文件用+字符标记

4) 1代表硬链接或软链接的数量(参见MyNewDocument/New_1/文件系统下/inode)

5)文件的属主

6)文件的属组

7)时间戳

8)文件或目录名字

1.修改文件权限

chmod [option] OCTAL/MODE file/directory

-R 递归修改权限 修改目录权限采用

OCTAL 八进制数,在上一节上中描述了八进制数的由来,跟此处的八进制数一致

chmod 644 file

将文件权限设为644 即 rw- r-- r--

MODE [u,g,o] [+/-/=] [rwx]

u:代表要设置属主权限

g: 代表要设置属组权限

o:代表要设置其他权限

a:代表所有人

这三个可以组 例如 ug= uo+等

+:某一类用户增加权限

-:某一类用户减少权限

=:指定某一类用户的权限

rwx:最多3位,要什么权限就写什么权限,没有不写

这是基本权限位,除此还有st

chmod --reference=rfile file 依据rfile的权限来设置file的权限

小窍门:

设置一个目录本身及目录中的所有文件和目录的权限,对于所有人来说,使文件具有读写权限,目录具有读写执行权限

chmod -R a=rwX dir

只有x位有大写的权限,除此之外,大写,还有ST

2.改变文件的属主和属组

chown [option] [owner][:group] file

-R 递归修改

owner 只修改属主

owner:Group 修改属主和属组

:group 修改属组

Attention:“:”可以被.代替

chown --reference==rfile file 依据rfile的属主属组来设置file的属主属组

3.umask 参见 MyDocument/1/umask

4.特殊权限 SUID SGID Stickybit

1)安全上下文

前提:进程有属主和属组(但是没有基本组和附加组的概念),文件有属主和属组

(1)任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否有执行权限

(2)执行文件启动为进程之后,其进程的属主为发起者,进程的属组为发起者的属组

(3)进程访问文件时的权限,取决于进程的发起者

(a)进程的发起者,就是文件的属主,则应用文件属主的权限

(b)进程的发起者,属于文件的属组,则应用文件属组的权限

(c)应用文件“其他”权限

2)可执行文件上的SUID

(1)作用对象:二进制可执行文件

(2)标记,二进制可执行文件的属主的执行权限位:

s:代表在设置SUID之前,这个二进制可执行文件属主有x权限

S:代表在设置SUID之前,这个二进制可执行文件属主没有x权限

(3)意义:

任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否有执行权限

执行文件启动为进程之后,其进程的属主不是发起者,而是可执行程序文件的属主

以可执行二进制文件的属主身份启动进程,而后进程访问的文件的权限,都要看二进制可执行文件的属主,而非此二进制可执行文件的发起者(当前用户)

(4)设置在目录上无意义

chmod u+/-s file

3)SGID权限

(1)作用对象:二进制可执行文件或目录

(2)标记,二进制可执行文件或目录的属组的执行权限位:

s:代表在设置SGID之前,这个二进制可执行文件或目录的属组有x权限

S:代表在设置SGID之前,这个二进制可执行文件或目录的属组没有x权限

(3)意义:

(a)作用在二进制可执行文件上

任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否有执行权限

执行文件启动为进程之后,其进程的属主不是发起者,而是可执行程序文件的属组

以可执行二进制文件的属主身份启动进程,而后进程访问的文件的权限,都要看二进制可执行文件的属组,而非此二进制可执行文件的发起者(当前用户)

(b)作用在目录上

有这样一种需求,有一组用户加入了同一个组gp1,在磁盘上想创建一个目录pub,作为gp1组的公共目录,每个人都可以在这个目录中,增删文件,修改组内成员的文件

mkdir pub

chown -R :gp1 pub

这样组内成员都可以在pub中增删文件,但创建的文件的属组还是自己的属组,也只能删除自己的文件。

我们似乎可以这样做

chown -R :gp1 pub

但是每每有人创建文件或目录,管理员都要执行此操作,实在显得有些难堪

那么这就是目录上SGID的发挥的地方了

默认情况下,在某目录中,用户创建文件或目录时,其属组为用户的属组

一旦某目录被设定了SGID,则对此目录有写权限的用户(可能是目录的属主,属组用户,或其他用户)在此目录中,创建的文件或子目录所属的组为此目录的属组,而权限要应用对应用户的umask,

Attention:子目录继承sgid,且目录(也就是前面子目录的父目录)设置sgid之前,其目录内已存在的文件或目录不会的属组不会被修改,sgid权限也不会被修改(特指已存在的目录)

(4)设置权限

chmod g+/-s DIR/file

4)Sticky

(1)作用对象:目录

(2)标记目录的其他用户的执行权限位:

x:代表在设置sticky之前,这个目录的属组有x权限

X:代表在设置sticky之前,这个目录的属组没有x权限

(3)意义:

通常,对于某目录,用户有写权限,那么这个用户就可以删除该目录下的任意文件或目录(包括root的文件或目录)

在目录上设置sticky位,只有文件或目录的所有者或root可以删除文件或目录,但是否能修改为文件和目录,还是要看这个文件和目录对于用户来说有无权限,

Attention:设置了sticky位的目录的子目录不继承sticky

sticky设置在文件上无意义

(4)设置权限

chmod o+/- dir

5)特殊权限的数字表示法

三个特殊权限的二进制位,组成了一个8进制数,在数字表示法中放在普通权限前面

如chmod 4640 file 代表给文件设置了suid

5.另外的特定属性

chattr +i file 不能删除,改名和更改

dir  不能删除,改名和创建和删除文件

chattr +a file/dir 只能增加

lsattr 显示这里的特定属性

Attention:这个属性和cp --preserve=xattr中的xattr不是一回事

时间: 2024-10-06 06:34:20

文件权限的相关文章

linux文件权限管理与ACL访问控制列表

一.文件属性 1.文件属性: 文件属性操作 chown : change owner  ,设置文件所有者 chgrp : change group  ,设置文件的属组 文件属主修改: chown 格式:chown [OPTION]- [OWNER][:[GROUP]] FILE- 用法: OWNER OWNER:GROUPNAME    (同时修改属主.属组) :GROUPNAME                (默认属主,修改属组) ( 命令中的冒号可用.替换:) chown  –refere

Linux 文件权限总结

在 Linux 中最基本的任务之一就是设置文件权限.理解它们是如何实现的是你进入 Linux 世界的第一步.如您所料,这一基本操作在类 UNIX 操作系统中大同小异.实际上,Linux 文件权限系统就直接取自于 UNIX 文件权限(www.lampbrother.net). 但不要以为理解文件权限需要长时间的学习.事实上会很简单,让我们一起来看看你需要了解哪些内容以及如何使用它们. 基础概念 你要明白的第一件事是文件权限可以用来干什么.当你设置一个分组的权限时发生了什么?让我们将其展开来说,这个

Linux的文件权限与目录配置

Linux最优秀的地方之一,在于它的多用户.多任务环境.正因如此(为了让各用户具有较保密的文件数据),文件的权限管理就格外重要了. Linux一般将文件可存取访问的身份分为3个类别,分别是owner.group.others,且3种身份各有read.write.execute等权限. 一.用户与用户组 由于Linux是个多用户.多任务的系统,因此可能常常会有多人同时使用这台主机进行工作,所以保护每个人的隐私就极为重要了. 1. 文件所有者 将该文件设置成只有文件所有者才能查看与修改这个文件的内容

Linux文件权限

A B    C        D           E                 F-rw-r--r--. 1 xiaol_1 gp_1 0 10月 6 13:10 test.txtA 文件权限,-文件,d文件夹,l连接B 如果是1表示这是一个文件,如果是非1表示这是个文件夹,数字为文件夹内文件数如果是1表示这是一个文件,如果是非1表示这是个文件夹,数字为文件夹内文件数C 文件创建者D 文件所在组E 创建时间F 文件名称 A  B     C     D-   rw-  rw-   r

Linux 基础学习文件权限(三)

用户和用户组 用户:UID /etc/passwd 组成 (用户名)account:passwd(x占位符不显示):UID:GID:GECOS(可选用户注释信息):HOMEDIR(家目录):SHELL(默认shell) 用户组:GID /etc/group 组成 组名:密码占位符:GID:额外组 影子口令 /etc/shadow 用户密码 使用md5加密 组成 account(登陆名):passwd(加密的密码$1$sort$md5 加密方式,其他,MD5密钥)(!号和*代表锁定不可登陆):密码

ubuntu下修改进入root用户和修改文件权限

(1)进入root用户 su root 密码:设置的root密码 (2)修改文件权限 sudo chmod +777  file (3)执行shell ./shellfile (4)编写shell 第一行:普通用户  #!/bin/sh,root用户  #!/bin/bash

C#设置文件权限

在开发中,我们经常会使用IO操作,例如创建,删除文件等操作.在项目中这样的需求也较多,我们也会经常对这些操作进行编码,但是对文件的权限进行设置,这样的操作可能会手动操作,现在介绍一种采用代码动态对文件设置权限的操作. 在对文件进行权限设置在DOtNet中,会采用FileSystemAccessRule类进行文件的权限操作. 1.现在看一下FileSystemAccessRule的实现代码: public FileSystemAccessRule( IdentityReference identi

Linux的文件权限和目录配置

二.Linux的基本操作 2.1.Linux的文件权限和目录配置 2.1.1.Linux文件属性 以root身份登录后,执行“ls –al”将会出现如下内容: [[email protected] ~]# 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 ana

第6章 Linux的文件权限与目录配置

用户与用户组 Linux文件的所有者概念包括:所有者,用户组,其他人. 系统上的账户与一般身份用户存放在/etc/passwd,个人密码记录在/etc/shadow下,组名放在/etc/group下. Linux文件权限概念 Linux文件属性 查看文件属性,可以使用ls指令,如下: dr-xr-xr-x. 17 root root 4096 6月 27 16:16 . dr-xr-xr-x. 17 root root 4096 6月 27 16:16 .. lrwxrwxrwx. 1 root