Linux用户管理

前言:

Linux用户管理是指对Linux系统中的用户进行管理和控制的一系列操作和命令。它是Linux系统管理的重要组成部分,决定了系统中的用户可以访问哪些资源,以及对这些资源的权限限制。

通过用户管理,可以实现以下功能:

  1. 用户分组:根据用户的角色或职责,将他们分配到不同的组中,便于管理和控制。
  2. 权限分配:为不同的用户或用户组分配不同的权限,控制他们对系统资源的访问和操作。
  3. 用户帐号保护:通过密码策略、帐号锁定等方式,保护用户帐号的安全。
  4. 密码管理:设置和修改用户的密码,确保帐号的安全。

Linux提供了丰富的用户管理命令和工具,例如useradd、passwd等。这些命令可以用于创建新用户、设置用户密码、修改用户属性等。

此外,Linux用户管理还需要考虑一些最佳实践,如使用强密码、限制root账户访问、定期审查用户账户等,以确保系统的安全性。

root用户

在Linux系统中,root用户是超级用户,拥有系统中所有的权限。root用户可以对系统进行完全的控制和管理,执行任何操作,包括启动或停止进程、删除或增加用户、增加或禁用硬件等。root用户具有等同于操作系统的权限,是系统中唯一的超级管理员。

root用户的权限极高,可以超越任何用户和用户组对文件或目录进行读取、修改或删除操作。在Linux中,通过UID(用户标识符)来区分用户权限级别,UID为0的用户被系统认定为具有超级权限,即root权限。

然而,正因为root用户具有如此强大的权限,使用它时也伴随着较大的安全风险。错误的命令操作或恶意程序的运行可能导致系统崩溃或被入侵。因此,使用root用户时要特别慎重,并尽量遵循安全操作的原则。

在日常的Linux系统管理中,建议尽量避免直接使用root用户,而是使用具有适当权限的普通用户来执行任务。当确实需要执行需要root权限的操作时,可以使用sudo(superuser do)命令来临时提升权限,而不是长期以root用户身份登录。这样可以在保证系统安全性的同时,满足管理需求。

普通用户,切换其他用户,需要输入密码。

root用户,切换其他用户,无需输入密码。

sudo命令

为普通用户的命令授权,临时以root用户的身份执行。

语法:sudo 其他命令

在使用sudo命令前,需要配置sudo认证。

sudo认证
1、确认sudo已经安装

开始配置sudo认证之前,需要确认系统中已经安装sudo。在命令行中输入以下命令

sudo -V

2、切换到root用户

sudo认证必须是由root用户执行,所以先切换到root用户

su -root

3、配置相关文件

在终端中执行以下命令

visudo

进来之后, 在文本的最后(按shitf + g)添加以下数据

用户名 ALL=(ALL)    NOPASSWD:ALL

输入完后,按ESC键,再按冒号,最后输入wq,按回车退出vi编辑器。

4、最后验证sudo配置

输入exit返回普通用户

执行以下命令验证sudo配置完成

sudo -ls

这样就算是完成了sudo的配置,可以让普通用户使用sudo命令临时使用root用户的权限。

切换用户:su命令

语法:su - [用户名]

当不输入用户名时,默认切换root用户。

用户组:

在Linux系统中,用户组(group)是一个用于组织和管理用户的机制。用户组允许系统管理员将多个用户归并到一个组中,并对该组分配特定的权限和资源访问控制。通过用户组,可以更加有效地管理和控制用户对系统资源的访问。

每个用户组都有一个唯一的组ID(GID),用于标识该组。当创建新用户时,可以将该用户分配到一个或多个用户组中。一个用户可以是多个组的成员,而一个组也可以包含多个用户。

用户组的主要作用有以下几点:

  1. 权限管理:系统管理员可以为用户组分配特定的权限,而不是单独为每个用户分配权限。这样,属于同一个组的用户将共享相同的权限设置,简化了权限管理过程。

  2. 资源访问控制:用户组可以用来控制对特定文件、目录或设备的访问。通过设置文件或目录的组权限,可以限制只有特定组的成员才能访问或修改这些资源。

  3. 继承性:新创建的用户默认属于某个用户组(通常是与该用户同名的组),并继承该组的权限。这使得新用户能够自动获得一些基本的系统访问权限。

在Linux中,有几个特殊的用户组:

  • root组:具有最高权限的组,只有root用户属于该组。root组的成员可以执行任何操作,对系统具有完全的控制权。

  • 系统组:用于管理系统进程和服务的组。这些组通常包含执行特定任务的守护进程或系统账户。

  • 普通用户组:由系统管理员创建,用于组织和管理普通用户。这些组可以根据实际需要创建,并根据用户的角色和职责分配相应的权限。

使用用户组可以简化权限管理,提高系统的安全性和可管理性。通过合理地分配用户和组,并设置适当的权限,可以确保系统资源的正确访问和保护。

创建用户组和删除用户组:

注:该两个命令皆需root用户权限执行

创建用户组:groupadd命令
语法:groupadd 用户组名
删除用户组:groupdel命令
语法:groupdel 用户组名
注意
  • 在使用 groupdel 命令删除一个组之前,请确保该组中没有用户。如果组中有用户,那么需要先将这些用户从该组中移除,或者将其移动到另一个组,然后再删除该组。
  • 使用这些命令通常需要管理员(root)权限。因此,需要使用 sudo 命令来执行它们。例如:sudo groupadd mygroup

创建用户和删除用户:

创建用户:useradd命令
语法:useradd [-g  -d] 用户名

-g    ---------------------------------指定用户的组;不使用,则会创建同名组

-d    ---------------------------------指定用户的HOME路径;不使用,则在:/home/用户名

删除用户:userdel命令
语法:userdel [-r] 用户名

-r   ------------------------------删除用户的HOME目录

查看用户所属组:id命令

语法:id [用户名]

用户名  -------------------被指定查看的用户;不使用,则查看自身

修改用户所属组:usermod命令

语法:usermod -aG 用户组 用户名

将指定用户加入指定用户组

usermod常用参数
-l修改用户名
-u修改用户的用户ID
-g修改用户的主组
-G修改用户的附加组
-d修改用户的主目录
-m与-d一起使用,将原主目录的内容移动到新的主目录
-s修改用户的登录shell
-c修改用户的描述信息
-L锁定用户账号,锁住用户的密码
-U解锁用户账号
示例:

1、将用户名从olduser修改为newuser

usermod -l newuser olduser

2、将用户user1的UID修改为1001

usermod -u 1001 user1

3、将用户username的主目录更改为/home/newhome,并移动原目录内容到新目录

usermod -d /home/newhome -m username

4、将用户testuser的默认shell修改为/bin/bash

usermod -s /bin/bash testuser

5、将用户testuser添加到附加组group1 和group2中

usermod -aG group1,group2 testuser

6、修改用户lx的名称为lianxi

usermod -c lianxi lx

7、锁定用户lx的账户,锁住密码

usermod -L lx

8、解锁用户lx的账户

usermod -U lx

查看用户组:getent group

getent group

返回每行三条信息,从左至右分别是:组名称:组认证:组ID

查看当前系统中有哪些用户:getent passwd

getent passwd

返回每行七条信息,从左至右分别是:用户名:密码:用户ID:组ID:描述信息:HOME目录:执行终端(默认bash)

  • 14
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值