LINUX笔记4(文件及权限管理)

  • 字符解释

 "-"代表常规文件、"l"代表软连接、"d"代表目录、"b"和"c"代表硬件设备、"p"和"s"代表其他特殊用途的文件。

  • 身份介绍

在linux系统中,对文件或目录来说,访问者的身份有三种:

    1. 主用户,拥有者(owner)文件的创建者。
    2. 组用户,和文件的owner同组的用户。
    3. 其他用户,除所有者,所有者所属组和超级管理员外的用户。
  • 权限介绍

    1. 读(r),例如:ls、cat、more、head、tail等命令
    2. 写(w),例如:cp、mv、rm、touch、mkdir、>>等命令
    3. 执行(x),例如:cd
  • 查看权限的命令:ls -l或者是ll

 每一条记录由七部分组成,分别是:

1.代表文件类型的权限,2.表示链接数,3.表示文件拥有者,4.表示文件所属组,

5.表示文件容量,6.表示文件修改的日期(月日时分(年)),7.表示文件或目录名

前十位字符的含义:

第一个字符代表文件的类型,如软连接(l),目录(d),常规文件(-)等

第2-4位代表拥有者的权限

第5-7位代表所属组的权限

第8-10位代表其他用户权限

如果没有权限,则用"-"表示。

  • 权限管理命令:

  • chmod

chmod [options] dirname/filename

u代表拥有者(user),g代表所属组(group),o代表其他用户(others)。

 -代表取消权限,+代表增加权限。删去a的拥有者rwx权限,增加所属组和其他用户的w权限。

  a代表所有用户(all)

删除所有用户的rwx权限

rwx可以使用数字表示,r->4,w->2,x->1,没有权限->0

比如777,代表rwx,rwx,rwx,即4+2+1,4+2+1,4+2+1即所有用户都可读写执行该文件。

753,代表rwx,r-x,-wx,即4+2+1,4+0+1,0+2+1即拥有者可读写执行该文件,所属组可读执行该文件,其他用户只能写和执行该文件。

  • chown

改变文件或目录的拥有者或所属组

chown [-R]  newuser dirname

注意:改文件不需要加R,改目录需要加R

 

更改文件拥有者和所属组为jdr

  • chgrp

更改文件属组为root

  • 文件特殊权限管理
  • SetUID
    1. 只有可执行二进制程序才能设定SUID权限
    2. 命令执行者对文件要有x权限
    3. 命令执行者在执行时应获得拥有者权限
    4. SetUID只在程序执行过程中生效,执行完成就失效
  • 设置UID权限的两种方式(4代表UID)

chmod 4755 文件名

chmod u+s 文件名

  • SetGID

  • 针对文件
    1. 只有可执行二进制程序才能设定SUID权限
    2. 命令执行者对文件要有x权限
    3. 命令执行者在执行时应获得拥有者权限
    4. SetUID只在程序执行过程中生效,执行完成就失效
  • 针对目录
    1. 普通用户必须具备rx权限,才能进入
    2. 普通用户在此目录中的有效组,会变成此目录的所属组
    3. 目录被授予SGID权限后,普通用户对此目录拥有w权限时,新建的文件默认所属组是此目录的所属组。
  • 设置GID的两种方式(2代表SGID)

chmod 2755 文件名

chmod g+s 文件名

  • SBIT

  • 针对目录

        一旦给某个目录赋予最大权限777,若该目录由其他用户创建的文件,即便是root用户创建的文件,普通用户虽然不可以直接删除该文件,但是可以通过删除该目录来达到删除该目录下的所有文件,相当于也可以把其他用户创建的文件删除。

        通过赋予粘着位,可以限制不同的普通用户只能删除自己所建立文件,而不能删除其他用户所建立的文件。

        系统默认由粘着位权限的文件,如:/tmp

  • 设置粘着位

chmod 1755 目录名

chmod o+t 目录名

  • 取消粘着位

chmod 0755 目录名

chmod o-t 目录名

  • umask 0022

要想永久改变umask值,则可以修改文件/etc/bashrc,在文件中添加一行umask 027。即该文件的权限是777-027=750

网安小菜鸡
原文地址:https://www.cnblogs.com/jdr-gbl/p/13151711.html