Linux如何创建用户、新增用户、创建新用户、删除用户(adduser、deluser)(useradd、userdel)、获取用户列表、查看家目录 您所在的位置:网站首页 用户文件夹删除了能再建一个吗 Linux如何创建用户、新增用户、创建新用户、删除用户(adduser、deluser)(useradd、userdel)、获取用户列表、查看家目录

Linux如何创建用户、新增用户、创建新用户、删除用户(adduser、deluser)(useradd、userdel)、获取用户列表、查看家目录

2024-06-27 03:57| 来源: 网络整理| 查看: 265

文章目录 1. 新增用户1.1 adduser1.2 useradd(1)不使用任何参数选项创建用户:sudo useradd tt(2)为用户指定参数的useradd命令20230428 关于useradd -m 2. 删除用户2.1 deluser2.2 userdel3. 相关文件 3. 获取用户列表4. 查看家目录查看所有用户家目录查看本地用户家目录查看指定用户家目录 本文主要包含两部分内容:

新建一个用户允许该用户以管理员身份执行命令(在使用服务器的时候,不建议给予普通用户管理员权限) 注:本文基于Ubuntu系统的主机名为HPZ640-1,用户名为mqk,进行创建与删除的新用户名为tt创建用户

创建用户有两条命令:adduer和useradd,对应着两条删除用户的命令:deluser和userdel。 这两种命令之间的区别: adduser:会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。 useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。

1. 新增用户 1.1 adduser wq@DESKTOP:~$ sudo adduser tt [sudo] password for mqk: 正在添加用户"tt"... 正在添加新组"tt" (1006)... 正在添加新用户"tt" (1006) 到组"tt"... 创建主目录"/home/tt"... 正在从"/etc/skel"复制文件... 输入新的 UNIX 密码: 重新输入新的 UNIX 密码: passwd:已成功更新密码 正在改变 tt 的用户信息 请输入新值,或直接敲回车键以使用默认值 全名 []: 房间号码 []: 工作电话 []: 家庭电话 []: 其它 []: 这些信息是否正确? [Y/n] y

这样在创建用户名时,就创建了用户的主目录以及密码。

默认情况下: adduser在创建用户时会主动调用 /etc/adduser.conf; 在创建用户主目录时默认在/home下,而且创建为 /home/用户名

如果主目录已经存在,就不再创建,但是此主目录虽然作为新用户的主目录,而且默认登录时会进入这个目录下,但是这个目录并不是属于新用户,当使用userdel删除新用户时,并不会删除这个主目录,因为这个主目录在创建前已经存在且并不属于这个用户。

为用户指定shell版本为:/bin/bash 因此常用参数选项为:

–home: 指定创建主目录的路径,默认是在/home目录下创建用户名同名的目录,这里可以指定;如果主目录同名目录存在,则不再创建,仅在登录时进入主目录。 –quiet: 即只打印警告和错误信息,忽略其他信息。 –debug: 定位错误信息。 –conf: 在创建用户时使用指定的configuration文件。 –force-badname: 默认在创建用户时会进行/etc/adduser.conf中的正则表达式检查用户名是否合法,如果想使用弱检查,则使用这个选项,如果不想检查,可以将/etc/adduser.conf中相关选项屏蔽。如:...

在这里插入图片描述

1.2 useradd

注意: 在使用useradd命令创建新用户时,不会为用户创建主目录,不会为用户指定shell版本,不会为用户创建密码。

(1)不使用任何参数选项创建用户:sudo useradd tt

为用户指定登录密码:sudo passwd tt 输出显示:

输入新的 UNIX 密码: 重新输入新的 UNIX 密码: passwd:已成功更新密码

为用户指定命令解释程序(通常为/bin/bash):sudo usermod -s /bin/bash tt 为用户指定用户主目录:sudo usermod -d /home/tt tt

(2)为用户指定参数的useradd命令

常用命令行选项:

-d: 指定用户的主目录 -m: 如果存在不再创建,但是此目录并不属于新创建用户;如果主目录不存在,则强制创建; -m和-d一块使用。 -s: 指定用户登录时的shell版本 -M: 不创建主目录

例如:sudo useradd -d "/home/tt" -m -s "/bin/bash" tt 解释: -d “/home/tt” :就是指定/home/tt为主目录 -m 就是如果/home/tt不存在就强制创建 -s 就是指定shell版本

修改用户密码:sudo passwd tt 输出显示:

输入新的 UNIX 密码: 重新输入新的 UNIX 密码: passwd:已成功更新密码 20230428 关于useradd -m

useradd -m ky_ftp 是一个Linux系统中创建用户的命令,其中:

useradd 是创建用户的命令;-m 参数表示在创建用户的同时,为该用户创建一个家目录(home directory); ky_ftp 是要创建的用户名。 因此,useradd -m ky_ftp 的意思是创建一个名为 ky_ftp 的用户,并为该用户创建一个家目录。

在FTP服务器中,通常会为每个用户创建一个独立的家目录,用于存放该用户的FTP文件。因此,在创建FTP用户时,使用 -m 参数可以方便地为该用户创建一个家目录。

在Linux系统中,用户的家目录位置是固定的,通常是 /home/username,其中 username 是用户的用户名。因此,使用 useradd -m ky_ftp 命令创建用户 ky_ftp 时,其家目录的位置就是 /home/ky_ftp。

当然,也可以通过修改 /etc/passwd 文件中的相应条目来更改用户的家目录位置。但是,这样做需要谨慎,因为如果不正确地修改了 /etc/passwd 文件,可能会导致系统出现问题。因此,如果没有必要,最好不要修改 /etc/passwd 文件。

2. 删除用户 2.1 deluser

只删除用户:sudo deluser tt 输出显示:

正在删除用户 'tt'... 警告:组"tt"没有其他成员了。 完成。

连同用户的主目录和邮箱一起删除:sudo deluser --remove-home tt 输出显示:

正在寻找要备份或删除的文件... 正在删除文件... 正在删除用户 'tt'... 警告:组"tt"没有其他成员了。 完成。

连同用户拥有的所有文件删除:sudo deluser --remove-all-files tt

2.2 userdel

只删除用户:sudo userdel tt

连同用户主目录一起删除:sudo derlser -r tt 如果创建时主目录已经存在,即主目录不属于当前要删除的用户,则无法删除主目录。

3. 相关文件 /etc/passwd - 使 用 者 帐 号 资 讯,可以查看用户信息 /etc/shadow - 使 用 者 帐 号 资 讯 加 密 /etc/group - 群 组 资 讯 /etc/default/useradd - 定 义 资 讯 /etc/login.defs - 系 统 广 义 设 定 /etc/skel - 内 含 定 义 档 的 目 录

可以这样打开来查看:cat /etc/passwd

3. 获取用户列表

cat /etc/passwd:这个命令会显示系统中的所有用户信息,包括用户名、用户ID、用户组ID、用户家目录等。用户信息以冒号分隔。

cut -d: -f1 /etc/passwd:这个命令会仅显示用户名,使用冒号作为分隔符。

getent passwd:这个命令会显示系统中的所有用户信息,包括本地用户和网络用户。

awk -F: '{print $1}' /etc/passwd:这个命令会仅显示用户名,使用冒号作为分隔符。

注意,有些命令可能需要root权限才能执行。

4. 查看家目录 查看所有用户家目录

要列出所有用户的家目录,可以使用以下命令:

cut -d: -f1,6 /etc/passwd

这个命令会从/etc/passwd文件中提取用户名和家目录,并以冒号分隔。输出结果将显示所有用户的用户名和对应的家目录路径。

查看本地用户家目录

要列出本地用户的家目录,可以使用以下命令:

getent passwd | grep '/home' | cut -d: -f1,6

这个命令会使用getent passwd获取所有用户信息,并使用grep过滤出家目录路径包含/home的用户。然后,使用cut命令提取用户名和家目录路径,并以冒号分隔。输出结果将显示所有本地用户的用户名和对应的家目录路径。

查看指定用户家目录 grep "用户名" /etc/passwd | cut -d: -f6


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

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