【Linux】创建、修改和删除用户(useradd 您所在的位置:网站首页 不能删除用户账户 【Linux】创建、修改和删除用户(useradd

【Linux】创建、修改和删除用户(useradd

2024-07-10 09:38| 来源: 网络整理| 查看: 265

摘要

本文将讨论如何在 Linux 中创建、修改和删除用户。

用法 创建用户

useradd

考虑到登录系统时仅需要用户名和密码,因此我们创建用户至少得需要这两个数据。还需要注意的是,只有根用户才能创建用户,非根用户没有该权限。

创建用户很简单,仅需要将要创建的用户名跟在 useradd 后面即可(下方示例中创建了一个名为 stu 的用户) [root@centos]# useradd stu 接下来,使用 passwd 命令为新用户 stu 设置密码(注意:1. 密码不能过于简单;2. 同样也只有根用户才能设置和修改其它用户的密码,普通用户只能修改自己的密码) [root@centos]# passwd stu Changing password for user stu. New password: Retype new password: passwd: all authentication tokens updated successfully. 用户至此创建完毕!使用 id 或 finger(需要安装:yum install finger 或 apt install finger)命令查看该用户的基本信息 [root@centos]# id stu uid=1003(stu) gid=1003(stu) groups=1003(stu) [root@centos]# finger stu Login: stu Name: Directory: /home/stu Shell: /bin/bash Never logged in. No mail. No Plan.

默认情况下,新建用户的基本信息如下:

UID:上一个用户 UID 加一家目录:/home/用户名用户备注:无主用户组:新建与用户同名的用户组(组 GID 默认是上一个组 GID 加一)从属用户组:无Shell 类型:bash

当然,创建用户时也可以指定上述信息。如这里要创建一个基本信息如下的用户:

UID:601家目录:/tmp/stu01用户备注:临时学生用户01主用户组:class2022从属用户组:stu,sgpShell 类型:tcsh [root@centos]# groupadd class2022 # 创建用户组 class2022 [root@centos]# groupadd stu # 创建用户组 stu [root@centos]# groupadd sgp # 创建用户组 sgp [root@centos]# useradd -c 临时学生用户01 -u 601 -d /tmp/stu01 -g class2022 -G stu,sgp -s /bin/tcsh stu01 [root@centos]# passwd stu01 # 为 stu01 用户设置密码 Changing password for user stu01. New password: Retype new password: passwd: all authentication tokens updated successfully. [root@centos]# id stu01 uid=601(stu01) gid=1004(class2022) groups=1004(class2022),1003(stu),1005(sgp) [root@centos]# finger stu01 Login: stu01 Name: 临时学生用户01 Directory: /tmp/stu01 Shell: /bin/tcsh Never logged in. No mail. No Plan.

新建用户时,我们特别需要注意三点:

创建用户后一般是要给那个用户使用的,因此需要修改家目录的权限为用户自己而不是 root:chown user:user /home/user用 -u 选项为新用户指定 UID 时,必须得确保这个 UID 未被使用过,因为必须要保证 UID 得唯一性用 -g 或 -G 指定用户组时,必须得确保这些用户组确实存在。如果不存在,你可以使用 groupadd 命令后跟用户组名来创建,否则会报错 修改用户

usermod

user modify 的缩写,usermod 能够修改用户的名称、UID、主用户组、从属的组、备注、家目录和默认 Shell 等属性。其所带的选项集合和 useradd 一模一样。唯一不同的就是 -l 选项是用来修改登录用户名的。

例如,将上述创建的 stu01 用户的用户名修改为 stu02,UID 修改为 602:

[root@centos]# usermod -u 602 -l stu02 stu01 [root@centos]# id stu02 uid=602(stu02) gid=1004(class2022) groups=1004(class2022),1003(stu),1005(sgp)

当然也可以修改备注、家目录和默认 Shell 等属性:

[root@centos]# usermod -c 临时学生用户02 -d /tmp/stu02 -g sgp -G class2022 -s /bin/bash stu02 [root@centos]# finger stu02 Login: stu02 Name: 临时学生用户02 Directory: /tmp/stu02 Shell: /bin/bash Never logged in. No mail. No Plan.

值得注意的是,在用户登录系统时,无法修改用户名和 UID。

删除用户

userdel

user delete 的缩写。将要删除的用户的用户名跟在命令后面就可以删除用户。

例如,删除之前创建的 stu02 用户:

[root@centos]# userdel stu02 [root@centos]# id stu02 id: stu02: no such use

需要注意的是,虽然用户被删除了,但用户的家目录仍然存在。你可以确认其中没有重要文件后,使用 rm -rf /home/user/ 手动删除该目录。当然,你也可以在使用 userdel 命令时加上 -r 参数,这样删除用户的同时也把家目录一并删除了。虽然,这样做很方便,但却不推荐,很容易误删用户文件。最后要提到的是,目前已经登录的用户是无法删除的。

提示

Linux 没有提供专门地列出所有已创建的用户的命令,不过我们可以在 /etc/passwd 文件中查看:

[root@centos]# tail /etc/passwd abrt:x:173:173::/etc/abrt:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin syslog:x:996:994::/home/syslog:/bin/false lighthouse:x:1000:1000::/home/lighthouse:/bin/bash www:x:1001:1001::/home/www:/sbin/nologin mysql:x:1002:1002::/home/mysql:/sbin/nologin stu:x:1003:1003::/home/stu:/bin/bash

可以看到最后一个是我们之前创建的 stu 用户。

总结 创建用户:useradd修改用户:usermod删除用户:userdel 参考

中国大学 MOOC | Linux 系统管理 | 主题 06 管好用户 | 小节 4 创建、修改和删除用户



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有