Linux-运维管理-用户管理.md

本文主要包含两部分内容:

新建一个用户

  • 允许该用户以管理员身份执行命令(在使用服务器的时候,不建议给予普通用户管理员权限)
    注:本文基于Ubuntu系统的主机名为HPZ640-1,用户名为mqk,进行创建与删除的新用户名为tt
    创建用户
    创建用户有两条命令: addueruseradd ,对应着两条删除用户的命令: deluseruserdel
    这两种命令之间的区别:
  • adduser:会自动为创建的用户指定主目录、 系统 shell版本,会在创建时输入用户密码。
  • useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。
    默认情况下:
    adduser在创建用户时会主动调用 /etc/adduser.conf
    在创建用户主目录时默认在 /home 下,而且创建为 /home/用户名
    如果主目录已经存在,就不再创建,但是此主目录虽然作为新用户的主目录,而且默认登录时会进入这个目录下,但是这个目录并不是属于新用户,当使用userdel删除新用户时,并不会删除这个主目录,因为这个主目录在创建前已经存在且并不属于这个用户。
    为用户指定shell版本为:/bin/bash

删除一个用户

deluser

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

userdel

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

获取用户列表

  • cat /etc/passwd:这个命令会显示系统中的所有用户信息,包括用户名、用户ID、用户组ID、用户家目录等。用户信息以冒号分隔。
  • cut -d: -f1 /etc/passwd:这个命令会仅显示用户名,使用冒号作为分隔符。
  • getent passwd:这个命令会显示系统中的所有用户信息,包括本地用户和网络用户。
  • awk -F: ‘{print $1}’ /etc/passwd:这个命令会仅显示用户名,使用冒号作为分隔符。
    注意,有些命令可能需要root权限才能执行。

查看家目录

查看所有用户家目录
要列出所有用户的家目录,可以使用以下命令:
这个命令会从/etc/passwd文件中 提取 用户名和家目录,并以冒号分隔。输出结果将显示所有用户的用户名和对应的家目录路径。
查看本地用户家目录
要列出本地用户的家目录,可以使用以下命令:
这个命令会使用getent passwd获取所有用户 信息 ,并使用grep过滤出家目录路径包含/home的用户。然后,使用cut命令提取用户名和家目录路径,并以冒号分隔。输出结果将显示所有本地用户的用户名和对应的家目录路径。
查看指定用户家目录

-------------本文结束感谢您的阅读-------------