Linux 用户管理相关命令

如果你正在管理一台liunx服务器,最常用的操作应该是给同学分配账号。本篇将系统地说明如何分配账号给用户,如何赋予用户不同权限。整篇都是干货,看完一定会对你有帮助的。

01 用户管理概述

Liunx最大的特点是一切皆文件,系统会根据用户身份决定该用户对文件的操作是否有效。

  • 基于账户身份对资源访问进行控制

    • 账号类别:用户账号,组账号
    • 识别方式:UID、GID
  • 用户账号:超级用户root、系统用户、普通用户

  • 组账号:用来区分权限,不用于登录。Linux用户至少属于一个组

    • 基本组(私有组):系统创建于用户同名
    • 附加组(从属组):由管理员创建,由管理员加入

注意:UID 范围

  • root 0
  • 系统用户 1-999
  • 普通用户 +1000 -60000

用户管理的命令都是对以下文件进行操作:

  • /etc/passwd:存放用户基本信息

hzq: x :1001:1001:,:/home/hzq:/bin/bash
[用户名]: [密码]: [UID]: [GID]:[描述信息]:[home]: [解释器]

  • /etc/shadow:存放用户密码

格式: [用户名]: [加密后密码]: [上一次修改时间(从1970-1-1开始算)]: [密码最短有效期]: [最长有效期]
示例:utest:$6$7.Vi5ANM.J28mXbx$LlKdd0A5ceuuc0m9HQPoKyO:19684:0:99999:7:::

  • /etc/group:组信息

格式: 【组名】:x:【GID】:
示例:utest: x:1010:

  • /etc/gshadow:组管理员信息

格式:【组名】:*:【组管理员】:【用户】
示例:sudo:*::aa

如果使用命令不管用的时候,也可以直接修改配置文件。当然,肯定是不推荐这样的,如果对于linux没有很深的了解,就直接修改配置文件的话,可能会出现系统崩坏的情况。例如,在直接对/etc/shadow 文件进行修改时,不小心把删了 root 用户密码的一个字符,这就导致root用户无法登录而且你也没有办法还原到原始密码,只能重装系统了QAQ。

02 对用户进行操作

2.1 创建用户 useradd

  • 格式

useradd [选项] [参数]

  • 选项
    • -u:指定uid
    • -d:指定家目录,缺省默认为/home/用户名
    • -G:指定所属附加组
    • -s:指定用户登录解释器
  • 示例
# 创建普通用户 utest
aa@mc:~$ sudo useradd -u 1003 utest
[sudo] password for aa: 

# home目录下没有utest家目录,原因是该用户不是root创建
aa@mc:~$ ls /home
bb  aa 

# 查看utest是否创建
aa@mc:~$ id utest
uid=1010(utest) gid=1010(utest) groups=1010(utest)

# 查看utest的家目录
aa@mc:~$ grep utest /etc/passwd
utest:x:1010:1010::/home/utest:/bin/sh

# nln不能登录操作系统
aa@mc:~$ sudo useradd -s /sbin/nologin nln
  • 单独创建组:groupadd
    用法和useradd命令类似。

2.2 修改用户信息

2.2.1 修改信息 usermod

  • 格式

usermod [选项] [参数]

  • 选项
    • -u:指定uid
    • -d:指定家目录,缺省默认为/home/用户名
    • -G:指定所属附加组(重置附加组)
    • -s:指定用户登录解释器
  • 示例
aa@mc:/home$ sudo usermod -u 1014 utest
aa@mc:/home$ id utest
uid=1014(utest) gid=1010(utest) groups=1010(utest)

aa@mc:/home$ sudo usermod -d /home/aa utest
aa@mc:/home$ sudo usermod -G aa utest
aa@mc:/home$ sudo usermod -s /sbin/nologin utest

2.2.2 修改密码 passwd

该命令修改用户密码,支持非交互式设置密码(–stdin)。

  • 示例
$ passwd
Changing password for utest.
Current password: 
New password: 
Retype new password: 
Password unchanged
New password: 
Retype new password: 
Bad: new and old password are too similar
New password: 
Retype new password: 
passwd: password updated successfully

$ echo 122 | passwd --stdin sdk
  • 强制初次登录用户修改密码
    将[上一次修改时间]的值改为 0 :

utest:$6$7.Vi5ANM.J28mXbx$LlKdd0A5ceuuc0m9HQPoKyO: 0: 0: 99999: 7:::

2.3 删除用户 userdel

  • 命令格式

userdel -r [用户名]

03 对组进行操作

3.1 添加组账号 groupadd

  • 命令格式

groupadd [-g 组号] 组名

  • 示例
$ groupadd stugrp # 单独创建一个组
$ grep stugrp /etc/group

3.2 管理组成员 gpasswd

  • 命令格式

gpasswd [选项] 组名

  • 选项

-A 定义组管理员
-a 添加组成员(一个)
-d 删除组成员(一个)
-M 定义组成员列表(多个)

  • 示例
$ gpasswd -A ldx stugrp
$ gpasswd -a xdx stugrp
$ gpasswd -d xdx stugrp
$ gpasswd -M adx,bdx,cdx stugrp

3.3 删除组 groupdel

  • 命令格式

groupdel 组名

  • 示例
$ groupdel stugrp

04 总结

相信大家对于用户管理命令有了更深的了解,对相关命令也熟悉了。在这些命令中,用户相关的命令一定要熟悉,这些都是我们日常使用linux时常常使用到的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

误伤这又何妨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值