本文主要包含两部分内容:
新建一个用户
- 允许该用户以管理员身份执行命令(在使用服务器的时候,不建议给予普通用户管理员权限)
注:本文基于Ubuntu系统的主机名为HPZ640-1,用户名为mqk,进行创建与删除的新用户名为tt
创建用户
创建用户有两条命令:adduer和useradd,对应着两条删除用户的命令:deluser和userdel。
这两种命令之间的区别: - 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命令提取用户名和家目录路径,并以冒号分隔。输出结果将显示所有本地用户的用户名和对应的家目录路径。
查看指定用户家目录