Linux账号管理与ACL权限管理

Linux账号管理与ACL权限管理

Linux的账号与群组

使用者标识符:UID 与GID

每一个文件都具有『拥有人与拥有群组』的属性,每个登陆的使用者至少都会取得两个 ID ,一个是使用者 ID (User ID ,简称 UID)、一个是群组 ID (Group ID ,简称 GID)。
UID保存于/etc/passwd;GID保存于/etc/group;口令保存于/etc/shadow。

  • /etc/passwd 文件结构
    • 账号名称
      就是登录账号,用来对应 UID 的,例如 root 的 UID 对应就是 0 (第三字段),系统用户是1-499,普通用户是500+;
    • 口令:
      早期 Unix 系统的口令就是放在这字段上!但是因为这个文件的特性是所有的程序都能够读取,这样一来很容易造成口令数据被窃取, 因此后来就将这个字段的口令数据给他改放到/etc/shadow 中了。所以这里你会看到一个x;
    • UID:
      这个就是使用者标识符;
    • GID:
      与 /etc/group 有关,用来规范组名与 GID 的对应;
    • 用户信息说明栏:
      用来解释这个账号的意义;
    • 家目录:
      这是用户的家目录,root 的家目录在 /root ,所以当 root 登陆之后,就会立刻跑到 /root 目录里头啦!默认的用户家目录在 /home/yourIDname;
    • Shell:
      当用户登陆系统后就会取得一个 Shell 来与系统的核心沟通以进行用户的操作任务,默认为/bin/bash,用户合法但不能登录为/bin/nologin;
  • /etc/shadow 文件结构
    • 账号名称:
      由于口令也需要与账号对应,因此,这个文件的第一栏就是账号,必须要与 /etc/passwd 相同;
    • 口令:
      这个字段内的数据才是真正的口令,而且是经过编码的口令 (加密);
    • 最近更动口令的日期
      这个字段记录了更动口令那一天的日期,时间是以 1970 年 1 月 1 日作为 1 而累加的日期;
    • 口令不可被更动的天数:
      这个账号的口令在最近一次被更改后需要经过几天才可以再被变更!如果是 0 的话, 表示口令随时可以更动;
    • 口令需要重新变更的天数:
      为了强制要求用户变更口令,这个字段可以指定在最近一次更改口令后, 在多少天数内需要再次的变更口令才行;
    • 口令需要变更期限前的警告天数:
      当账号的口令有效期限快要到的时候 (第 5 字段),系统会依据这个字段的配置,发出警告言论给这个账号;
    • 口令过期后的账号宽限时间(口令失效日)
      这个字段记录了更动口令那一天的日期,时间是以 1970 年 1 月 1 日作为 1 而累加的日期;
    • 账号失效日期:
      这个账号在此字段规定的日期之后,将无法再使用。
  • /etc/group 文件结构
    • 组名:
    • 群组口令:
      很少用了,口令已经移动到 /etc/gshadow 去,因此这个字段只会存在一个x;
    • GID:
      就是群组的 ID ,我们 /etc/passwd 第四个字段使用的 GID 对应的群组名。
    • 此群组支持的账号名称:
      我们知道一个账号可以加入多个群组,那某个账号想要加入此群组时,将该账号填入这个字段即可。例,让 dmtsai 也加入 root 这个群组,那么在第一行的最后面加上[,dmtsai],注意不要有空格, 例如root❌0:root,dmtsai。

账号管理

useradd
  • 功能:添加用户
  • 格式
    useradd [-u UID] [-g 初始群组] [-G 次要群组] [-mM] [-c 说明栏] [-d 家目录绝对路径] [-s shell] 用户名
    • -u :后面接的是 UID ,是一组数字。直接指定一个特定的 UID 给这个账号;
    • -g :后面接的那个组名就是我们上面提到的 initial group , 该群组的 GID 会被放置到 /etc/passwd 的第四个字段内。
    • -G :后面接的组名则是这个账号还可以加入的群组。
    • -M :强制不要创建用户家目录(系统账号默认值)
    • -m :强制要创建用户家目录(一般账号默认值)
    • -c :用户信息注释
    • -d :指定家目录,使用绝对路径
    • -r :创建一个系统的账号,这个账号的 UID 会有限制
    • -s :后面接一个 shell ,默认是 /bin/bash (用户合法但不可用:/bin/nologin)
    • -e :后面接一个日期,格式为YYYY-MM-DD,账号失效日期;
    • -f :后面接 shadow 的第七字段项目,指定口令是否会失效。0为立刻失效,
    • -1 :口令永远不失效。
  • 若使用默认值创建用户即:useradd username时
    • 在 /etc/passwd 里面创建一行与账号相关的数据,包括创建 UID/GID/家目录等;
    • 在 /etc/shadow 里面将此账号的口令相关参数填入,但是尚未有口令;
    • 在 /etc/group 里面加入一个与账号名称一模一样的组名;
    • 在 /home 底下创建一个与账号同名的目录作为用户家目录,且权限为700。
passwd

功能:修改密码
格式:
passwd [-l] [-u] [–stdin] [-S] [-n 日数] [-x 日数] [-w 日数] [-i 日期] 用户名

  • –stdin :可以透过来自前一个管线的数据,作为口令输入,例如 echo “password” | passwd --stdin 用户名
  • -l :是 Lock 的意思,会将 /etc/shadow 第二栏最前面加上 ! 使口令失效;
  • -u :与 -l 相对,是 Unlock ;
  • -S :列出口令相关参数,亦即 shadow 文件内的大部分信息;
  • -n :后面接天数,shadow 的第 4 字段,多久不可修改口令天数;
  • -x :后面接天数,shadow 的第 5 字段,多久内必须要更动口令;
  • -w :后面接天数,shadow 的第 6 字段,口令过期前的警告天数;
  • -i :后面接 日期,shadow 的第 7 字段,口令失效日期。
usermod

功能:修改用户信息
格式:
usermod [选项] [用户名]

  • -c :后面接账号的说明;
  • -d :后面接账号的家目录;
  • -e :后面接日期,格式是 YYYY-MM-DD;
  • -f :后面接天数;
  • -g :后面接初始群组;
  • -G :后面接次要群组;
  • -a :与 -G 合用,添加次要群组的支持;
  • -l :后面接账号名称;
  • -s :后面接 Shell 的实际文件;
  • -u :后面接 UID;
  • -L :暂时将用户的口令冻结,无法登录;
  • -U :解冻用户的口令,可以登录。
userdel

功能:删除用户
格式:
userdel [选项][用户名]

  • -r:连同用户得我家目录一起删除
id

功能:查询用户相关的UID/GID等信息
格式:id 用户名

groupadd

功能:添加组
格式:
groupadd [选项] [组名]

  • -g :后面接某个特定的 GID ,用来直接给予某个 GID;
  • -r :创建系统群组。
groupdel

功能:删除组
格式:
groupdel 组名

ACL

ACL 可以针对单一使用者,单一文件或目录来进行 r,w,x 的权限规范。

  • 使用者 (user):可以针对使用者来配置权限;
  • 群组 (group):针对群组为对象来配置其权限;
  • 默认属性 (mask):还可以针对在该目录下在创建新文件/目录时,规范新数据的默认权限。
setfacl

功能:配置某个目录/文件的 ACL 规范
格式:
setfacl [-bkRd] [{-m|-x} acl参数] 文件名

  • -m :配置后续的 acl 参数给文件使用,不可与 -x 合用;
  • -x :删除后续的 acl 参数,不可与 -m 合用;
  • -b :移除所有的 ACL 配置参数;
  • -k :移除默认的 ACL 参数;
  • -R :递归配置 acl ,亦即包括次目录都会被配置起来;
  • -d :配置默认 acl 参数,只对目录有效,在该目录新建的数据会引用此默认值;
  • –set:设置文件或者目录的acl(覆盖以前的文件参数)
  • –restore:恢复
针对特定使用者的方式:

u:[使用者账号列表]:[rwx]

针对特定群组的方式:

g:[群组列表]:[rwx]

针对有效权限 mask 的配置方式:

m:[rwx]

getfacl

功能:取得某个文件/目录的 ACL 配置项目
格式:
getfacl 文件名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值