Linux中文件权限管理

1 文件权限存在的意义
系统最底层安全设定方法之一
保证文件可以被可用的用户做相应操作

2 文件权限的查看
ls -l file ##查看文件的属性、大小等详细信息
ll file ##同上

ls -d ##列出目录或文件本身,而不是目录或文件的内容
ls -ld file ##组合使用,更加详细
ll -d file ##同上

3.文件权限读取内容解释
示例为目录文件

[1] : 文件的类型
相似的参数类型

  • ##空文件
    d ##目录
    l ##软链接
    s ##socket 套接字 相当于门 一个出口或者入口
    b ##block 块设备
    c ## 字符设备

    文件的访问权限
    [2] rwx [u] 文件拥有者对文件的权限 7
    [3] r-x [g] 文件所有组对文件的权限 5
    [4] r-x [o]除去拥有者、所有组其他的对文件的权限 5
    r:表示文件可以被读 w:文件可以写入 x:文件可以被执行

    rwx r=22=4 w=21=2 x=2*0=1 rwx=7 rw=6 rx=5 wx=3

[5] 文件: 被写入次数
目录: 子目录的个数

[6]文件所属的用户

[7]文件所属的用户组

[8]占用磁盘的大小

[9]修改时间

[10]文件名称

4.chown命令
改变文件的所有者和所在组
chown user.group file|dir ##改变文件或目录的所有者和组

chown -R user.group dir ##递归改变目录的所有者和组

5.chgrp命令
更改目录或文件的组
chgrp group file|dir ##改变文件或目录的组

chgrp -R group dir ##递归改变目录的组

6.权限的理解
上面说道rwx具体代表的权限,对文件与目录的效果是不一样。
r:对文件:是否可以查看文件中的内容 --->cat file
对目录:是否可以查看目录中有什么字文件或者子目录 ---> ls dir

w:对文件:是否可以改变文件里面记录的字符
对目录:是否可以对目录中子目录或子文集的元数据进行更改

x:对文件:是否可以通过文件名调用文件内记录的程序
对目录:是否可以进入目录

7 chmod命令
更改目录文件权限的命令

chmod (u|g|o)(+|-|=)(r|w|x) file|dir ##更改文件或目录的权限
chmod u+x /dir/file ##增加文件所有者的执行权限

chmod g-w /dir/file ##减少文件所在组的写入权限

chmod ugo+rwx /dir/file ##增加文件所有者、所在组、其它用户的读、写入、执行的权限

chmod u=rw,g=wx,o=rwx /dir/file ##赋予所有者rw权限、所在组wx权限、其他用户rwx权限

chmod 0755 dir/file ##更改u的权限为rwx、g的权限为rx、o的权限为rx
0:是否为目录,0为否,1为是

将档案 file1设为所有人皆可读取 :

chmod a+r file1

将档案 file1 与 file2设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :

chmod ug+w,o-w file1.txt file2.txt

文件权限755

1、第一位7,代表文件所有者拥有的权限为可读(4)+可写(2)+可执行(1)

2、第二位5,代表文件所有者同组用户的权限为可读(4)+不可写(0)+可执行(1)

3、第三位5,代表公共用户的权限为可读(4)+不可写(0)+可执行(1)

!!!!!!!!注意chmod +w 默认只加文件所有者即u的写入权限,因为该权限较为重要。

8.umask
什么是umask

当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。

umask是设置限制新文件权限的掩码,效果与chmod的效果刚好相反
umask的值越大,获得的权限越少,系统越安全

即时修改
umask xxx 即时修改生效

这里umask设置的077 创建出来后的的文件权限却为600

umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最 大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来 说,umask中各个数字最大可以到7。

https://www.cnblogs.com/zhangchengxiang/p/5196439.html) 这里加个博客对umask的理解

永久修改
vim /etc/profile ##系统配置文件修改
vim /etc/bashrc ##shell配置文件修改
修改方式:用 vim 运行上述配置文件
末行模式键入/umask 高亮显示
找到 if[ $UID -gt 199 ] && ["id -gn" = "id -un"]; then
umask 002 ##普通用户的umask
else
umask 077 ##root的umask
fi
修改完毕:wq 退出保存


注意:不会立即生效

需要键入:

source /etc/profile
source /etc/bashrc
才会生效

!在超级用户下创建的文件权限被默认更改

!在普通用户下创建的文件权限被默认更改

9.acl权限列表
作用:让特定用户对特定的文件拥有特定权限

acl列表的查看

drwx------+ 2 root root 6 Mar 28 03:19 /mnt/file

# file: mnt/file ##文件名称
# owner: root ##文件拥有者
# group: root ##文件拥有组**
user::rwx ##文件拥有者的权限
user:student:rwx ##制定用户的权限
group::--- ##文件拥有组的权限
mask::rwx ##能赋予用户的最大权力伐值
other::--- ##其他人的权限
注意:acl开启时权限末尾会出现"+"

acl列表相关命令
getfacl file ##查看文件的acl列表
目录和文件的acl列表展示:

setfacl -m u:username:rwx file ##设定username用户对file拥有rwx权限
(对用户老张增加rwx的权限)

setfacl -m g:group:rwx file ##设定group组成员对file拥有rwx权限
(使该组对文件file拥有rwx的权限)

setfacl -x u:username file ##从acl列表中删除username用户


setfacl -b file ##关闭file上的acl列表

(关闭刚才对acl列表的设定 )

10.mask值

在权限列表中mask表示能生效的权力值,当用chmod减小开启acl的文件权限是mask值会发生改变
即用了chmod g-w file
如果要恢复mask值
setfacl -m m:rw file

11.acl的默认权限设定
acl默认权限只针对目录设定
acl权限只针对设定完成之后信件里的文件或目录身生效,而已经存在的文件是不会继承默认权限。

setfacl -R -m u:student:wx /mnt/test 对之前目录下存在的文件赋予其权限
(对oop1下的文件file2用户权限为wx)

setfacl -m d:u:student:rwx /mnt/test 对目录之后创建的文件赋予其权限

oop1下新建file3用户老张的权限为rwx

setfacl -k /oop1/file3

12.特殊权限

粘制位:sticky(t)
作用:只针对目录生效,当一个目录上有sticky权限时在这个目录中的文件只能被文件的所有者删除
设定方式:
chmod o+t dir
chmod 1xxx dir

强制位:sgid(s)
作用:
对文件:只针对与二进制可执行文件,当文件上有sgid时任何人执行此文件产生的进程都属于文件的组
对目录:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组
设定方式:
chmod g+s file|dir
chmod 2xxx file|dir

冒险位:suid(s)
作用:只针对于二进制可执行文件,当文件上有suid时任何人执行这个文件中的程序产生的进程都属于文件的所有人
设定方式:
chmod u+s file
chmod 4xxx file

原文地址:https://blog.51cto.com/12893781/2371868

时间: 2024-10-11 06:42:51

Linux中文件权限管理的相关文章

Linux中文件权限、用户和用户组管理

1.文件权限 2.文件和目录rwx权限说明 文件rwx权限: r  :  可读,具有读取文件内容的权限(),如果没有r,vi/vim编辑器提示无法编辑(可强制编辑),echo可以追加或重定向. w :  可写,具有修改文件内容的权限 x  :  可执行,具有执行文件的权限. 需满足:文件本身具有可执行权限:普通用户还需具有r权限:root用户只要x权限就可执行.linux中可执行文件:*.sh     *.py     *.perl等等. 目录rwx权限: r  :  可读,查看目录下面文件及子

Linux中文件权限的一些知识

读<Linux命令行和shell脚本编程大全>,想起来在入侵中一些Linux文件权限的一些问题,简单记一下要点: umask中 0022中第一个0带便粘着位,八进制含义为: 0      0       0 SUID SGID T位 看到关于应急响应中出现的问题,作者说设置了facl会造成一些root用户的读写问题.[我手工设置了 发现依然能编辑.删除,存疑] https://www.91ri.org/10394.html 作者还提到了,因为隐藏属性会导致文件无法被删除: 关于这个找到一个 h

Linux中文件权限查看和修改

权限定义 linux文件权限分为:r读权限(4).w写权限(2).x执行权限(1) linux权限对象分为:拥有者.组用户.其他用户 权限修改: chown user:group /usr/local/xxx:将目录或文件/user/local/xxx的拥有者分配给组(group)中的用户(user) chown -R user:group /usr/local/xxx:-R表示递归,该目录下的所有文件和文件夹都做同样授权操作 chmod 777 /uss/local/xxx:拥有者.组内用户和

linux 中文件权限和磁盘管理、linux服务器项目如何部署

chmod chmod 421 xx.txt //4=r,2=w,1=x df 查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 df常用参数有 –i -h -k –m等 -i 使用inodes 显示结果 -h 使用合适的单位显示,例如G -k -m 分别为使用K,M为单位显示 du 用来查看某个目录所占空间大小 语法:du [-abckmsh] [文件或者目录名] 常用的参数有: -a:全部文件与目录大小都列出来.如果不加任何选项和参数只列出目录(包含子目

Linux中ACL权限管理

用户的特殊权限 我们在之前的课程中已经讲过了基本权限.所谓的基本权限指得是,用户对文件拥有所有者所属组和其他人每个身份都有三个权限分别是读.写.执行,今天我们将介绍特殊权限ACL权限. 所谓了ACL权限指的针对一个目录或文件指定一个用户,为这个用户分配指定的权限. 这个ACL权限一般用在需要指定的用户拥有一定的权限的时候才会使用,就相当于windows的文件夹或文件的权限一样的,需要哪个用户有哪些权限就分配就可以了. 举一个例子 图1 上图为一个班级的共享目录,老师属于这个目录的所属主,拥有rw

Linux中的权限管理命令-chmod

命令名称:chmod 英文原意:change the permissions mode of a file 执行权限:所有用户 语法:chmod [{ugoa}{+-=}{rwx}][文件或目录] [mode=421][文件或目录] -R 递归修改 功能:修改目录或文件的权限 u:user(所有者) g:group(所属组) o:other(其他人) a:all(所有人) r:read(读) w:write(写) x:execute(执行) 如上图所示,对于文件test.txt,文件所有者有读写

Linux 学习 - 文件权限管理

ls -l 命令:查看用户文件详细信息 命令后 ,显示如图 : 各部分表示的意思 : -rw------.  其中 . 表示安全环境下创建的文件 , . 前面的部分是权限信息 ,总共 10位, 1  表示硬链接数量 第一个 root 表示属主,是一个用户名,表示 anaconda-ks.cfg 这个文件属于root 第二个 root 表示 属组 后面的数字 1269  表示文件大小 Jul 4 02:44 表示文件创建时间 anaconda-ks.cfg 文件名 -rw------.   权限信

linux中的权限管理命令

一. 改变文件或目录的权限:chmod 命令详解 命令名称:chmod 命令所在路径:/bin/chmod 执行权限:所有用户 语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录]   [mode=421] [文件或目录]   -R 递归修改 功能:改变文件或目录权限 权限的数字表示 r ------ 4 w ------ 2 x ------ 1 rwxrw-r-- 7   6    4 实例 chmod g+w testfile #赋予文件testfile所属组写权限 ch

LINUX中文件权限的判断