Linux基础--用户管理

目录

查看用户

[使用命令: id](#使用命令: id)

创建用户

[使用命令: useradd](#使用命令: useradd)

​编辑

为用户设置密码

[使用命令: passwd](#使用命令: passwd)

​编辑

删除用户

[使用命令: userdel](#使用命令: userdel)

创建用户组

[使用命令: groupadd](#使用命令: groupadd)

删除用户组

[使用命令: groupdel](#使用命令: groupdel)

用户设置

[使用命令: usermod](#使用命令: usermod)

将用户从组中去除

[使用命令: gpasswd](#使用命令: gpasswd)

用户信息文件

[文件位置: /etc/passwd](#文件位置: /etc/passwd)

用户组信息文件

[文件位置: /etc/group](#文件位置: /etc/group)

其他

系统用户与普通用户的区分

统计不同用户的数量

[使用命令: awk](#使用命令: awk)

对文件内容进行排序

[使用命令: sort](#使用命令: sort)


查看用户

使用命令: id

查看用户tom是否存在

用户存在会显示对应信息,用户不存在会报错

创建用户

使用命令: useradd

创建用户jack

如果用户jack存在,则会报错

可以使用"&&"和"||"来进行创建,避免报错

为用户设置密码

使用命令: passwd

为jack用户设置密码

使用--stdin来为tom进行密码的设置

此方法虽然方便,但是会将密码明文显示在终端,可以使用cat来读取密码文件来增强安全性

删除用户

使用命令: userdel

删除用户jack

使用userdel直接对用户进行删除时,用户的家目录文件和邮件目录文件不会被删除,需要进行手动删除,否则会影响下次用户的添加,

选项: -r

删除用户tom以及tom用户家目录和邮件目录文件

使用此选项可以将用户在删除的时候将其家目录和邮件目录一并删除

创建用户组

使用命令: groupadd

创建用户组hr

删除用户组

使用命令: groupdel

用户设置

使用命令: usermod

更改用户tom登录的shell,使其无法进行登录

更改用户登录shell为/sbin/login后,用户将无法进行登录

将用户tom追加一个附加组hr

将用户从组中去除

使用命令: gpasswd

将tom用户从hr组中除去

用户信息文件

文件位置: /etc/passwd

文件内的内容以":"分隔;

第一列: 用户名

第二列: 密码占位符

第三列: 用户ID

第四列: 组ID

第五列: 用户描述信息

第六列: 用户家目录

第七列: 用户登录shell

用户组信息文件

文件位置: /etc/group

文件内容仍然是以":"进行分隔:

第一列: 组名字

第二列: 占位符

第三列: 组ID

第四列: 组其他成员(不以此组为主族的用户)

其他

系统用户与普通用户的区分

系统用户UID都是小于1000,普通用户UID大于1000,其中root用户UID为0

统计不同用户的数量
使用命令: awk

统计系统用户的数量

bash 复制代码
cat /etc/passwd | awk -F":" 'BEGIN{i=0;print "统计用户数量"}{if ($3<1000){i++}}END{print"系统用户数量为:"i}'
对文件内容进行排序
使用命令: sort

对文件/etc/passwd以用户ID从大到小的顺序进行排序

bash 复制代码
cat /etc/passwd | sort -t":" -k3nr 

对文件/etc/passwd进行排序,以GID为标准进行从小到大排序,当GID一样时,根据UID从大到小进行排序

bash 复制代码
cat /etc/passwd | sort -t":" -k4n -k3nr 
相关推荐
Mr.HeBoYan7 小时前
一次持续三天才出现的丢包故障——深入解析 DPDK Memory Ordering、rte_ring 与 CPU Memory Barrier (下)
linux·网络·算法·架构·dpdk
zhangrelay8 小时前
笔记本轻量高品质延寿工具完整分系统清单
运维·笔记·学习
Discipline~Hai9 小时前
ARM01-ARM体系架构
linux·c语言·arm开发·架构
RisunJan9 小时前
Linux命令-screen(终端复用器)
linux·运维
啊哦11110 小时前
安装VMware Workstation
linux·运维·服务器
持敬chijing10 小时前
Linux基础命令与目录命令
linux·运维·服务器
yunwei3710 小时前
实证研究:AI Agent 规则需要上下文与分层强制执行
linux·安全·ai编程
小张成长计划..10 小时前
【Linux】12:进程状态
linux·运维·服务器
会周易的程序员10 小时前
Libnodave S7 通信库:架构设计与实现解析
linux·c++·物联网·架构·c·s7·工业协议
云栖梦泽11 小时前
Camera驱动开发与应用开发中的零拷贝与DMA
linux·驱动开发·嵌入式硬件