七-2、Linux用户和组管理 学习笔记

7.1 创建用户和修改用户属性

Sample:

[root@mytest001-18-56 ~]# useradd angus
[root@mytest001-18-56 ~]# passwd angus 
Changing password for user angus.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@mytest001-18-56 ~]# tail -1 /etc/shadow
angus:$6$aApHjUOWJJ6KE7qQ$FjoPy4dr3GcD8jO62ZpNEywKeij886Jt2Nz7XJQORoXIVU0/4sXephfCV2IWwTXxjrNAij4imNqUDrt6jp/HB.:19907:0:99999:7:::
[root@mytest001-18-56 ~]# id angus
uid=1505(angus) gid=1506(angus) groups=1506(angus)
[root@mytest001-18-56 ~]# usermod -u 1111 angus
[root@mytest001-18-56 ~]# id angus 
uid=1111(angus) gid=1506(angus) groups=1506(angus)
[root@mytest001-18-56 ~]# usermod -s /sbin/nologin angus   #修改shell

范例分析:

这段命令序列在Linux系统上执行了以下功能:

  1. 创建新用户

    useradd angus
    

    这条命令创建了一个名为angus的新用户账户。默认情况下,这会为用户创建家目录,并根据系统的配置文件设置一些基本的用户环境。

  2. 设置用户密码

    passwd angus
    

    接着,为用户angus设置了密码。第一次尝试设置的密码因少于8个字符而被系统拒绝。之后,成功设置了符合要求的密码,并得到消息“all authentication tokens updated successfully.”,表明密码设置成功。

  3. 查看shadow文件的尾部记录

    tail -1 /etc/shadow
    

    此命令显示了/etc/shadow文件的最后一行,这里包含了用户angus的密码散列信息。密码前的$6$表示使用的是SHA-512加密算法。这条记录还包含了密码的最近更改信息、最小密码年龄、最大密码年龄、警告周期、失效后的宽限期以及保留字段等信息。

  4. 查询用户ID信息

    id angus
    

    首次查询了用户angus的ID信息,显示其初始用户ID(uid)为1505,组ID(gid)为1506,并且属于同名的基本组。

  5. 修改用户ID

    usermod -u 1111 angus
    

    使用usermod命令修改了用户angus的用户ID(uid)为1111。

  6. 再次查询用户ID信息
    再次使用id angus命令,确认用户angus的用户ID(uid)已经被改为1111,组ID(gid)和所属组保持不变。

  7. 修改用户登录Shell

    usermod -s /sbin/nologin angus
    

    最后,使用usermod命令修改了用户angus的默认登录Shell为/sbin/nologin。这意味着用户angus将不能登录系统,通常用于服务账户或需要禁用登录权限的情况。
    总结起来,这些命令完成了创建用户angus、设置密码、查看密码策略与用户ID信息、调整用户ID以及禁止用户登录系统的操作。

7.2 修改用户注释和锁定用户

Sample2:

[root@mytest001-18-56 ~]# usermod -c 'Sunia old name' angus 
[root@mytest001-18-56 ~]# grep angus /etc/passwd
angus:x:1111:1506:Sunia old name:/home/angus:/sbin/nologin
[root@mytest001-18-56 ~]#

[root@mytest001-18-56 ~]# clear
[root@mytest001-18-56 ~]# usermod -c 'Sunia old name' angus 
[root@mytest001-18-56 ~]# grep angus /etc/passwd
angus:x:1111:1506:Sunia old name:/home/angus:/sbin/nologin
[root@mytest001-18-56 ~]# usermod -L angus 
[root@mytest001-18-56 ~]# ssh angus@192.168.18.56
angus@192.168.18.56's password: 
Permission denied, please try again.
angus@192.168.18.56's password: 
Permission denied, please try again.
angus@192.168.18.56's password: 
angus@192.168.18.56: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

命令分析:

这段命令序列主要执行了以下几个功能:

  1. 更新用户注释信息:

    usermod -c 'Sunia old name' angus
    

    这条命令修改了用户angus的注释字段(通常用于描述用户的信息),将其改为Sunia old name。这可以通过查看/etc/passwd文件来验证,其中每个用户记录的第5个字段即为注释信息。

  2. 验证用户信息变更:

    grep angus /etc/passwd
    

    运行此命令后,显示出angus用户在/etc/passwd文件中的条目,确认了注释信息确实被更新为了Sunia old name

  3. 锁定用户账号:

    usermod -L angus
    

    这条命令将用户angus的账号锁定,意味着用户无法通过密码认证登录系统。在Linux系统中,这是通过在/etc/shadow文件中,在用户密码hash前添加一个感叹号(!)或在某些系统中使用特殊日期来实现的。

  4. 尝试SSH登录:

    ssh angus@192.168.18.56
    

    尝试使用SSH协议从当前主机远程登录到IP地址为192.168.18.56的主机上的angus用户。由于angus账号已被锁定,即使提供了正确的密码,系统也会拒绝登录,显示“Permission denied”。此外,由于未提供密钥认证,公钥认证、GSSAPI认证等其他方式也均未通过,最终导致登录失败。

综上所述,这段命令首先修改了用户angus的注释信息,然后验证了修改结果,接着锁定了angus的账号,最后尝试通过SSH登录验证账号确实被锁定无法登录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值