Linux系统用户及组管理详解
在Linux系统中,用户和组的管理是系统管理的基础,它涉及到用户权限的分配、文件访问控制等多个方面。本文将详细介绍如何在Centos7系统中管理用户和组,包括相关配置文件、用户和组的创建、删除及密码管理等关键技术点。
用户账号
用户的分类
Linux系统中用户分为三种角色:
- 超级用户:通常指root用户,拥有系统最高管理权限,UID为0。
- 普通用户:包括系统用户和本地用户,系统用户UID范围为1-999(Centos7/8版本)或1-499(Centos6版本),本地用户UID范围为1000+(Centos7/8版本)或500+(Centos6版本)。
- 虚拟用户:也称为伪用户,一般不用于登录系统,主要用于维持服务运行,如ftp、apache。
配置文件
- 用户配置文件:
/etc/passwd
,记录了每个用户的一些基本属性,对所有用户可读。 - 用户组文件:
/etc/group
,存放用户组信息,组名不能重复。 - 用户密码信息文件:
/etc/shadow
,存储密码信息,只有root用户有读权限,以保证密码安全性。
用户管理
用户命令
使用useradd
命令可以添加新用户,并通过参数指定用户ID(-u)、主目录(-d)、初始组(-g)、附加组(-G)和默认登录shell(-s)。
6添加登录用户
例如,添加一个名为harry的用户,并使用bash作为登录shell:
useradd harry
此命令会自动创建harry组,并成为harry用户的默认主组,同时默认的登录shell是bash。
指定用户UID
使用useradd -u 用户ID
命令可以指定用户的UID:
useradd -u 1100 oracle
指定用户主目录
使用useradd -d 主目录路径 用户名
命令可以指定用户的主目录:
useradd -d /opt/ftp ftp1
指定用户的主组
使用useradd -g 主组 用户名
命令可以指定用户的主组:
useradd -g xuegod xuegod2
指定用户的附加组
使用useradd -G 附加组 用户名
命令可以指定用户的附加组:
useradd -G xuegod,oracle,root xuegod3
创建用户的另一个命令
adduser
是useradd
的软链接,两者功能相同:
adduser xuegod4
删除用户
使用userdel
命令可以删除用户,选项-r
表示同时删除用户的家目录和/var/mail目录:
userdel -r xuegod3
密码管理
passwd
命令用于给用户添加或修改密码:
passwd oracle
- 非交互式设置用户密码:
echo 123456 | passwd --stdin xuegod
修改用户信息
usermod
命令用于修改用户信息,包括UID、主目录、主组、附加组和登录shell。
解决模板文件被删后显示不正常的问题
如果用户的bash配置文件被删除,可以复制/etc/skel/
中的配置文件到用户家目录,并更改所有权:
cp /etc/skel/.bash* /home/xuegod88/
chown xuegod88:xuegod88 /home/xuegod88/.bash*
切换用户
su
命令切换用户,不切换工作目录。su -
命令切换用户,并切换工作目录。
创建和删除组
- 创建组:
groupadd 组名
- 删除组:
groupdel 组名
总结
通过本章的学习,您可以掌握Linux系统中用户和组的管理,包括用户和组的创建、删除、密码设置以及用户信息的修改等操作,这些都是确保系统安全性和访问控制有效实施的关键技术点。