liunx_second_day

liunx- 基本权限

1、文件和目录权限的区别

  A. 文件的权限:所有者,所属组,其他人

   rwx,读,写,执行,没有权限就是 -

  • 第一组 rwx: 文件所有者的权限
  • 第二组 rwx: 文件所属组的权限
  • 第三组 rwx: 文件其他人的权限

   B. 目录的权限:

  r: 具有读取目录结构列表的权限,可以查看目录下有哪些文件

  w: 该权限对于目录来说是很大的

    1、可以在该目录下新建新的文件和目录

    2、可以删除已经存在和目录

    3、将已经存在的文件和目录重命名

    4、移动该目录内的文件和目录的位置、

  x: 是否可以进入该目录

2、修改文件权限

  • chown :修改文件的拥有者,前提是要有该拥有者
    • chown 拥有者 文件 / 目录
      • -R 递归修改
  • chgrp :修改问价所属组,前提是要有该组
    • -R 递归修改
  • chmod :修改拥有者和所属组的权限
    • 加减法:u/g/o   +/-/=  r/w/x     eg:(chmod u+w filename 《filename》)
    • 数字法:r = 4,w=2,x=1, 三位 两位 一位   eg:(chomd 764 《filename》)

3、创建一个组 -groupadd

  groupadd:创建组

  组的默认信息:/etc/login.defs

    -g: 指定 gid

  groupdel

  groupmod

  gpasswd

    -a:为组添加用户

    -d:为组删除用户

     权限特点:

     证明文件的 RWX 权限特点

    文件的拥有者,即使没有 W 权限,也可以强制写入。所属组和其他人不行

 

    证明目录的 RWX 权限特点:

    如果一个用户对一个目录没有 W 的权限,是可以编辑该目录中拥有者是自己的文件

4、默认权限 -umask

  0022 ---- 拿走的权限

    第一个数字表示特殊权限

    022 = rwxr_xr_x

  默认创建文件和目录的权限,文件会拿走 x 权限

  临时的修改:umask 0000

  永久修改:/etc/bashrc(不建议)

5、特殊权限

    当 s 出现在拥有者的 X 权限时候,表示拥有者 SUID 的权限(Set UID)

    当 s 出现在所属组的 X 权限位置时候,表示所属组有 SGID 的权限(Set GID)

    当 s 出现其他人的 X 权限位置时候,表示其他人有 SBIT 的权限(Sticky Bit)

  SUID, 临时获取文件拥有者的权限 ------- 只能针对文件

  SGID,即使可以作用于目录,也可以作用于文件

      作用于文件:SUID 一样

      作用于目录:继承父集目录 ------ 目录会不停的继承

  SBIT 指的是,只有文件的拥有者,才能删除,修改该目录下的文件 ------ 只能针对目录

  S 和 T 都有大写和小写之分

  小写说明:没有 X 权限

  大写说明:有 X 权限

  SUID=4 SGID=2 SBIT=1

6、用户账户管理

  • 账户和组名:人看的
  • UID 和 GID:Liunx 看的
  • id:查看当前登入用户的 UID 和 GID
  • 当我们使用 ls -l 的时候,系统会根据 /etc/passwd 和 /etc/group 文件的内容,找到 UID 和 GID 对应的名称
  • 如果随意修改了 /etc/passwd 下的用户的 UID 会发生什么情况
  • /etc/passwd:记录了 Liunx 上所有的账号
  • /etc/shadow:记录了账户对应的密码
  • /etc/group:记录了所有的组

  1、/etc/passwd

lewis❌1004:1004::/home/lewis:/bin/bash

  • lewis:用户名
  • X:早期这个部分党的是用户登入密码,现在密码放入了 /etc/shadow 中了
  • UID:0 表示系统管理员,1-999 保留给系统使用的 ID,1000 以上给一般使用者
  • GID:0 表示系统管理员,1-999 保留给系统使用的 ID,1000 以上给一般使用者
  • Lewis:使用者信息说明
  • /home/lewis:用户家目录,用户登入是,所在目录
  • /bin/bash:用户在登入的时候,是否可以使用 shell,如果不能使用 shell, 则会显示 /sbin/nologin

  2、/etc/shadow

root:$6$4eHpZlxH3dAxcEVZ$5EW9HK6XX12fMWATh21P80t4HIRTth1WVOC0Aw6xiveLIkKmcsKMWukhM8q8NCzbK.b/v1qMz3.L.hVIwnAVk/::0:99999:7:::

    1、root:用户名

    2、一串红色的数字,经过加密的数字

    3、最近更改过密码的日期:Liunx 中的日期,是通过 1970 年 1 月 1 号开始累加的日期

    4、密码不能改修改的 tianshu;0 表示随时可以修改

    5、密码需要重新被修改的天数,通过修改该值,可以强制用户修改密码

    6、密码需要变更的告警天数;7 天内系统会想用户发出告警

    7、密码到期后,账号还可以使用的时间

    8、账号失效日期:通过 1970 年 1 月 1 号开始累加的日期,到了时间后,无论密码是否过期,该账号就不能使用了。

    9、保留

   3、/etc/group

    lewis:X:1000:

    1、Lewis:组名

    2、X:组密码,一般不需要

    3、1000:GID

    4、附属组

    这些文件不建议直接进行修改,建议使用命令进行修改

7、常用命令

  a、用户创建 -useradd

    -u:设置 UID

    -g:设置主要组

    -G:设置要附属组

    -c:设置用户说明

    -d:指定用户家目录

    -s:指定用户 shell

    -e:账号失效日期,格式为 YYYY_MM_DD

    -f:指定密码是否失效,0 表示立刻失效,1 表示永不失效

  使用 useradd 后,会默认做一下几个操作

    • 在 /etc/passwd 下简历相关的资料
    • 在 /etc/shadow 下写入密码的相关的参数
    • 在 /etc/group 中写入和账户名一样的组
    • 在 /home 下创建用户的家目录 
    • id 命令 (显示用户的 uid 和 gid)  

  b、删除一个用户 -userdel

  • 要彻底的删除一个账号,比较麻烦

  1、删除 /etc/passwd;/etc/shadow 文件的内容

  2、删除 /etc/group;/etc/gshadow

  3、删除 /home/username;/var/spool/mail/username

  4、删除该用户曾经来该 liunx 中创建的文件

    find 进行搜索,先搜索,在使用 userdel

  -r 连同家目录和邮箱一起删除

 

  c、对用户账户的信息进行细微的修改  ------usermod

    -c:账户说明

    -d:修改家目录

    -g:修改主要组

    -G:修改附属组

    -a:与 -G 一起使用,增加附属组

    -l:修改用户名

    -u:修改 UID

    -L:冻结账号

    -U:解冻

  c、修改账号的密码 passwd

    -l :锁住该账号,在 /etc/passwd 中方密码的位置加个!

    -u :解锁

    -S:显示账号的密码参数

    -n:接天数,设置多节可不修改密码

    -x:接天数,设置多节必须修改密码

    -w:j 接天数,设置密码过期前警告天数

    -i:街天数,设置密码失效天数 

  d、chage 可以修改和密码有关的时间参数

    -l:查看一个账户和密码有关的时间参数

    -d :YYYY_MM_DD,修改最近一个更改密码的时间

    -E :YYYY_MM_DD,修改账号的失效时间

    -I:天数,设置密码几天后失效

    -m:天数,设置密码至少保留几天

    -M:天数,设置密码多久后,乣更新

    -W:天数,设置密码过期前警告时间

  e、文件权限 -getfacl 和 setfacl

    acl:针对单一使用者,设置单一文件或目录来进行 rwx 的权限修改

    getfacl:获取单一使用者,针对单一文件或目录的权限

    setfacl:配置单一使用者,对单一文件或者目录的权限

      -m:配置 acl 餐数据

      -x:删除单个文件的 acl

      -b:删除 acl 的配置

      -R:递归配置 acl 参数

      用法:setfacl -m u:用户名 :rwx 文件或者目录

         setfacl -m g :组名:rwx 文件或者目录

         setfacl -m m ::rwx 修改 musk 值

  getfacl 文件名

  mask 的定义 ------- 权限上线

      1、权限的集合(特定用户,特侗族,所属组的并集)

      2、如果 mask 中没有的权限,即使 getfacl 设定了,也不会有