Linux账号管理

Linux 账号管理思路解析

如何辨认一个使用者???
  • 服务器的使用者需要怎么来辨认呢?是通过登录的账号名称吗?不是的,在Linux当中,通过两个标识符来区分一个使用者,UID与GID
  • UID(User ID) – /etc/passwd
  • GID(Group ID) – /etc/group
如果更改了一个用户的UID会有什么后果?
  • 由于文件的权限,所有权都是通过UID来进行区分的,如果你将一个用户的UID修改,那么在下一次登录,他将找不到自己的Home目录,因为文件的权限并不属于该修改过后的UID
  • 修改用户的UID后,原先文件的所有者显示的是该所有者名称,将变成原先的UID。侧面反映了其实都是通过UID来进行辨别,而不是通过名称
进行登录时发生了什么事?
  • 先找寻 /etc/passwd 里面是否有你输入的账号?如果没有则跳出,如果有的话则将该账号对应的 UID 与 GID (在 /etc/group 中) 读出来,另外,该账号的家目录与 shell 配置也一并读出
  • 再来则是核对口令表啦!这时 Linux 会进入 /etc/shadow 里面找出对应的账号与 UID,然后核对一下你刚刚输入的口令与里头的口令是否相符?
  • 如果一切都 OK 的话,就进入 Shell 控管的阶段
了解 /etc/passwd
  • 每一行都代表一个用户,使用:进行分隔。
  • 一共有七个部分,分别是 账号名称 - 口令(密码,存放于/etc/shadow) - UID - GID - 用户信息说明栏 - 家目录 - Shell
  • UID为0代表的是系统管理员,如果想要具有root权限,将UID改为0即可,不过不建议有多个UID为0的账号。
  • UID为1~499代表的是保留给系统使用的ID。其实除了0之外,其他的UID权限与特征并没有不一样。由于系统上面启动的服务希望以较小的权限运行,因此不希望使用root身份运行。
  • UID为500~65535给一般使用者使用,目前linux核心(2.6.x版)已经可以支持到4294967295(2^32-1)
了解 /etc/shadow
  • 一共有九个部分,分别是 账号名称 - 口令(默认权限只有root) - 最近更改口令的日期 - 口令不可被更改的天数 - 口令需要重新变更的天数 - 口令需要变更期限前的警告天数 - 口令过期后的账号宽限时间 - 账号失效日期 - 保留
  • 理解例子 **
    dmtsai: 1 1 1vyUuj.eX$omt6lKJvMcIZHx4H7RI1V.:14299:5:60:7:5:14419:**
  • 一般用户口令忘记了,可以通过root身份,passwd 命令进行处理
  • root口令忘记时,可以使用各种可行的方法启动进入Linux再去修改。例如重新启动进入担任维护模式,系统会主动地给予root权限的bash接口,此时再以passwd修改口令即可
了解 /etc/group
  • 一共有四个部分,分别是 组名 - 群组口令(极少使用,存放于/etc/gshadow) - GID - 此群组支持的账号名称
如果我有多个群组,在作业时,以哪个群组为准???
  • 有效群组(effective group) 与 初始群组(initial group)
  • /etc/passwd里面,使用者所属群组,即为初始群组
  • 用户能拥有所属群组的权限,但是,当创建新的目录或者是新的文件的时候,新文件的所属群组需要通过检查当时的有效群组(effective group)
  • groups : 可以查看使用者所有支持的群组,第一个输出的群组即为 有效群组
  • newgrp 组名 : 有效群组的切换。该切换是另外一个shell来提供这个功能,由于是新取得一个shell,因此如果想回到原本的环境,输入 exit 回到原本的shell
了解 /etc/gshadow
  • 一共有九个部分,分别是 组名 - 口令栏,开头为!表示无合法口令,所以无群组管理员 - 群组管理员的账号(/etc/gpasswd中) - 该群组的所属账号(与/etc/group内容相同)
账号管理
  • 账号的管理应该从增加和删除开始,关于账号的权限,已经功能应该熟悉
新增与移除使用者
  • useradd 命令,附带一系列的参数选项
  • 既然我们能不通过设置参数就创建账号,那么必定有一个默认的useradd参考档 useradd -D 。 其实文件位于 /etc/default/useradd 主要包含基本的账号配置值
  • 默认上,GROUP=100:作为新建账号的初始群组。但是在不同的系统中,具有两种不同的机制针对群组。一种是 私有群组机制 ,创建一个与账号一样的群组给使用者作为初始群组,这种群组的配置机制会比较有保密性,这是因为使用者都有自己的群组,而且家目录权限将会配置为700之故。另一种是 公共群组机制 ,就是以GROUP=100这个配置值作为新建账号的初始群组,且默认家目录的权限会是【drwxr-xr-x】,由于每个账号都属于users群组,因此大家都可以互相分享家目录内的数据之故
  • 类似于UID/GID还有口令参数等,这些都是参考/etc/login.defs
  • etc/skel/* 用户家目录参考基准目录
  • 因此在 useradd 创建Linux账号时,至少会参考 /etc/default/useradd /etc/login.defs /etc/skel/*
  • passwd + 账号(缺少账号为修改自己的) 单纯使用useradd创建账号之后,账号是暂时被封锁的,该账号是无法登录的,因为缺少口令(密码)
  • 口令的规范是非常严格的,尤其是新的distributions大多使用 PAM 模块来进行口令的检验,包括太短、口令与账号相同等,都会被PAN检查而拒绝修改口令,这个管理的机制写在/etc/pam.d/passwd
  • passwd -S vbird2 查看vbird2账号的信息
  • passwd -l vbird2 将账号状态变成【Lock】,无法登陆
  • 或者是暂时无法登陆,最简单方法是将口令变成不合法。 grep vbird2 /etc/shadow 在口令亲前加上 !!
  • 除了使用 passwd -S ,还存在更详细的口令参数显示功能,就是chage。 chage -l vbird2
  • chage还有一个实用功能,如果想让使用者在第一次登陆时,强制他们一定要更改口令后才能够使用系统资源 useradd agetestecho “agetest” | passwd --stdin agetestchage -d 0 agetest
  • 出现错误的配置数据,可以使用usermod进行微调。 usermod -c “VBird’s test” vbird2grep vbird2 /etc/passwd :修改使用者vbird2的说明栏
  • userdel [-r:连同用户的家目录一起删除] 用户 目的在删除用户的相关数据。用户的相关数据包括 用户账号/口令相关参数: /etc/passwd, /etc/shadow使用者群组相关参数: /etc/group, /etc/gshadow用户个人文件数据 /home/username, /var/spool/mail/username
  • 如果想要完整地将某个账号完整移除,最好先通过 find / -user username 查出整个系统内属于username的文件,再加以删除
  • id username 可以查询某人与自己的相关UID/GID等的信息。
新增与移除群组
  • groupadd group1 增加群组
  • groupmod -g 201 -n mygroup group1 进行group相关参数的修改
  • groupdel group1 删除群组。如果该群组有相关用户在使用,那么群组不能被删除,如果硬要删除,必须要确认 /etc/passwd以内的账号没有任何人使用该群组作为 initial group 才行。因此需要 修改vbird1的GID OR 删除vbird1这个使用者
  • 群组管理员功能,可以管理哪些账号可以加入/移出该群组
  • 实例 groupadd testgroup : 创建群组 – gpasswd testgroup :给群组口令 – gpasswd -A vbird1 testgroup 加入群组管理员为vbird1 – gpasswd -a vbird1 testgroup 将vbrid1成为testgroup成员
使用者身份切换
  • su 以及 sudo 为使用者切换提供了便捷
  • 有些登陆方式可以配置拒绝root登陆(例如ssh),那么我们一般都是使用一般使用者来登陆Linux服务器,在服务器之内进行身份转换为root
我们有两种方式
  • su ,可直接将身份变成root即可。但是这个命令需要root的口令(密码)
  • sudo,运行root的命令串,由于sudo需要事先配置妥当,且sudo需要输入用户自己的口令,因此多人共管同一部主机时,sudo好过su,至少root口令不会泄漏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值