linux用户管理的命令及手动添加用户
发布日期:2025-04-09 22:50:21 浏览次数:8 分类:精选文章

本文共 2642 字,大约阅读时间需要 8 分钟。

Linux用户管理详解

在Linux系统中,用户管理是系统管理员日常工作中的重要环节。通过合理分配权限,我们可以实现对用户的精细化管理。本文将从文件和命令两个方面详细介绍Linux用户管理的实现方式。

1. 用户相关文件

在Linux系统中,用户信息主要存储在以下几个文件中:

  • /etc/passwd

    这个文件存储了系统中用户的基础信息。每一行对应一个用户,每行包含七个字段,用冒号“:`”分隔。字段内容如下:

    username:x:UID:GID:comment:homedirectory:shell

    其中:

    • username:用户名
    • x:密码(实际密码存放在/etc/shadow中)
    • UID:用户标识符,系统管理员为“0”,系统用户为“1-499”,普通用户为“500-65535”
    • GID:组标识符
    • comment:用户描述信息
    • homedirectory:用户家目录
    • shell:用户的shell环境
  • /etc/shadow

    这个文件存储了用户的加密密码及相关信息。每一行对应一个用户,每行包含九个字段,用冒号“:`”分隔。字段内容如下:

    username:encrypted password:D1:D2:D3:D4:D5:D6:D7

    其中:

    • username:用户名
    • encrypted password:经过加密的密码,默认使用MD5加密
    • D1:密码最近一次改变的时间(从1970年1月1日计算)
    • D2:密码的最短使用时间
    • D3:密码的最长使用时间
    • D4:密码过期前多天发送警告
    • D5:密码过期后多久账号被禁用
    • D6:账号禁用多久(从1970年1月1日计算)
    • D7:保留域
  • /etc/group

    这个文件存储了组的信息。每一行对应一个组,每行包含四个字段,用冒号“:`”分隔。字段内容如下:

    groupname:x:GID:username

    其中:

    • groupname:组名
    • x:组密码(实际密码存放在/etc/gshadow中)
    • GID:组标识符
    • username:组中的用户名
  • /etc/gshadow

    这个文件存储了组密码及相关信息。每一行对应一个组,每行包含四个字段用冒号“:`”分隔。字段内容如下:

    groupname:encrypted password:admins:users

    其中:

    • groupname:组名
    • encrypted password:经过加密的组密码
    • admins:组管理员(用逗号分隔)
    • users:组成员(用逗号分隔)

2. 用户管理命令

在Linux系统中,用户管理主要通过以下命令实现:

  • useradd

    用于添加用户。命令格式为:

    useradd [options] username

    常用选项:

    • -r:添加系统用户(系统用户无家目录)
    • -u:指定UID
    • -g:指定GID(基本组必须存在)
    • -c:指定用户全名
    • -d:指定家目录
    • -s:指定shell
    • -G:指定附加组
    • -M:不创建家目录
    • -m:必须创建家目录
  • usermod

    用于修改用户信息。命令格式为:

    usermod [options] username

    常用选项:

    • -u:指定UID
    • -g:指定GID
    • -G:指定附加组
    • -d:指定家目录
    • -s:指定shell
    • -l:更改用户名
    • -L:锁定用户账号
    • -U:解锁用户账号
    • -o:允许重复用户名(需与-u一起使用)
  • passwd

    用于设置或改变用户密码。命令格式为:

    passwd [options] username

    常用选项:

    • -l:上锁用户账号
    • -u:解锁用户账号
    • -S:通过管道设置密码
  • userdel

    用于删除用户。命令格式为:

    userdel [options] username

    常用选项:

    • -r:一并删除用户的家目录
  • groupadd

    用于添加组。命令格式为:

    groupadd [options] groupname

    常用选项:

    • -g:指定GID
    • -r:添加系统组
  • groupmod

    用于修改组信息。命令格式为:

    groupmod [options] groupname

    常用选项:

    • -g:指定GID
    • -n:修改组名
  • gpasswd

    用于设置组密码。命令格式为:

    gpasswd [options] groupname

    选项包括指定管理员和组成员。

  • groupdel

    用于删除组。命令格式为:

    groupdel groupname
  • chown

    用于更改文件或目录的属主和属组。命令格式为:

    chown [options] owner:group file

    常用选项:

    • -R:递归修改
    • --reference:根据指定文件的权限修改
  • chmod

    用于更改文件或目录的权限。命令格式为:

    chmod [options] permissions file

    常用选项:

    • -R:递归修改
    • --reference:根据指定文件的权限修改
  • id

    用于查看用户的UID、GID及所属组的信息。命令格式为:

    id [options] username

    常用选项:

    • -g:显示用户所属组的GID
    • -G:显示用户所属附加组的GID
    • -n:显示用户或组的名称
  • chfn

    用于修改用户的详细信息,如全名和注释。

  • chsh

    用于修改用户的shell环境。

3. 手动添加用户(示例)

要手动添加一个用户slackware,其属组为slackware,UID=5000,GID=5000,可以按照以下步骤操作:

  • 创建组

    打开/etc/group文件,添加一行:

    slackware:x:5000:

    然后保存文件。

  • 创建用户

    打开/etc/passwd文件,添加一行:

    slackware:x:5000:5000:test user:/home/slackware:/bin/bash

    然后保存文件。

  • 生成密码

    使用openssl passwd -1 -salt 12345678生成MD5加密密码。

  • 设置密码

    打开/etc/shadow文件,添加一行:

    slackware:生成的密码:::::::

    然后保存文件。

  • 创建家目录

    使用cp -r /etc/skel /home/slackware创建用户的家目录。

  • 设置权限

    使用chown -R slackware:slackware /home/slackware设置目录权限。使用chmod -R go=slackware设置文件权限。

  • 通过以上方法,可以手动添加并管理用户和组。

    上一篇:linux用户管理:添加用户、设置密码、修改删除
    下一篇:Linux用户管理常用命令及对应配置文件

    发表评论

    最新留言

    感谢大佬
    [***.8.128.20]2025年04月23日 18时22分00秒