当前位置: 首页 > news >正文

Ubuntu系统下的用户管理

Ubuntu系统下的用户管理

  • 一、ubuntu介绍
    • 1.1 ubuntu简介
    • 1.2 主要特点
  • 二、创建新用户
    • 2.1 查看当前Ubuntu版本
    • 2.2 创建新用户
    • 2.3 修改密码
    • 2.4 查看用户id
  • 三、新建用户组
    • 3.1 新建用户组
    • 3.2 查询用户组
    • 3.3 加入某个用户组
  • 四、赋予sudo权限
    • 4.1 将用户添加到 sudo 组
    • 4.2 查看admin用户的用户组
    • 4.3 切换admin用户登录
  • 五、查看passwd文件
  • 六、总结

在这里插入图片描述

一、ubuntu介绍

1.1 ubuntu简介

Ubuntu 是一个基于 Debian 的开源 Linux 操作系统,由 Canonical Ltd. 公司及其全球社区共同开发和维护。自 2004 年首次发布以来,Ubuntu 已经成为最受欢迎的 Linux 发行版之一,被广泛应用于个人电脑、服务器以及云计算等领域。

1.2 主要特点

  • 易用性:Ubuntu 设计为对新手用户友好,提供图形化安装界面和直观的桌面环境(默认使用 GNOME 桌面环境),使得即使是第一次接触 Linux 的用户也能快速上手。
  • 免费且开源:遵循自由软件和开源的原则,Ubuntu 及其所有组件都是免费提供的,并且源代码开放给公众查阅和修改。
  • 定期更新与支持:Ubuntu 有规律地每六个月发布一次新版本,每个版本都提供至少九个月的支持。长期支持(LTS)版本则每隔两年发布一次,提供长达五年的安全更新和技术支持。
  • 庞大的软件库:通过 APT 包管理系统,用户可以方便地访问成千上万种软件包,涵盖了从办公软件到游戏娱乐的各种应用。
  • 社区支持:Ubuntu 拥有一个活跃的国际社区,成员们不仅贡献代码,也帮助解答其他用户的问题,促进了知识共享和技术交流。

二、创建新用户

2.1 查看当前Ubuntu版本

查看Ubuntu系统版本,当前版本为22.04.1 LTS

root@jeven01:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

2.2 创建新用户

使用 adduser 命令来创建一个新的用户。这个命令会询问一些信息,如用户的密码、全名等。

adduser admin

在这里插入图片描述

2.3 修改密码

可以使用passwd命令修改新建用户admin的密码

root@jeven01:~# passwd admin
New password:
Retype new password:
passwd: password updated successfully

2.4 查看用户id

使用以下命令,查看admin用户的id信息。

root@jeven01:~# id admin
uid=1001(admin) gid=1001(admin) groups=1001(admin)

三、新建用户组

3.1 新建用户组

使用addgroup命令,新建IT用户组。

root@jeven01:~# addgroup it
Adding group `it' (GID 1002) ...
Done.

3.2 查询用户组

  • 查看系统所有用户组
root@jeven01:~# getent group |head
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,jeven
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
  • group_name 是用户组的名字。
  • password 通常是占位符 x 或者空的,因为现代 Linux 系统通常将密码存储在影子文件中。
  • GID 是用户组的 ID。
  • user_list 列出了属于该组的所有用户,用逗号分隔。
  • 查询个特定用户的所属组
root@jeven01:~# groups admin
admin : admin

3.3 加入某个用户组

  • 加入IT用户组
usermod -aG it admin
  • 查询admin用户的所属用户组
root@jeven01:~# groups admin
admin : admin it
  • 新建用户时加入用户组
useradd -m -G it zhangsan

四、赋予sudo权限

4.1 将用户添加到 sudo 组

. 将admin用户添加到 sudo 组

usermod -aG sudo admin

4.2 查看admin用户的用户组

验证用户是否已成功添加到 sudo 组

root@jeven01:~# groups admin
admin : admin sudo it

4.3 切换admin用户登录

  • 切换admin用户登录
root@jeven01:~# su - admin
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.admin@jeven01:~$

执行以下命令,如果一切正常,命令应该返回 root,并且可能会提示输入用户的密码。

admin@jeven01:~$ sudo whoami
root

五、查看passwd文件

  • 查看/etc/passwd密码文件
admin@jeven01:~$ cat /etc/passwd |head
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin

/etc/passwd 文件中的每一行代表一个用户,并且每行由七个字段组成,这些字段用冒号(:)分隔。

  • /etc/passwd 文件字段解释
字段编号字段名称说明
1用户名用户的登录名。
2密码占位符实际密码存储在 /etc/shadow 文件中,这里通常是一个 x
3用户 ID (UID)每个用户的唯一标识符。root 用户的 UID 是 0。
4组 ID (GID)用户的主要组 ID。
5用户信息通常是用户的全名或描述信息。
6主目录用户登录时的初始工作目录。
7登录 shell用户登录时使用的 shell,默认通常是 /bin/bash

六、总结

  • 使用 sudo 而不是直接以 root 用户身份进行操作:尽量使用 sudo 来执行需要超级用户权限的命令,以减少安全风险。
  • 定期审查用户和组:定期检查 /etc/passwd/etc/group 文件,确保所有用户和组都是必要的,并删除不再需要的账户。
  • 设置强密码策略:确保所有用户都设置了强密码,并启用密码复杂性和过期策略。
  • 禁用不必要的系统账户:禁用或删除不需要的系统账户(如 daemonbin 等),并确保它们没有登录权限。
  • 限制 sudo 权限:仅授予真正需要 sudo 权限的用户,并根据最小权限原则配置具体的 sudo 规则。
  • 使用 visudo 编辑 /etc/sudoers 文件:使用 visudo 命令编辑 /etc/sudoers 文件,以防止语法错误导致系统无法使用 sudo
  • 备份重要文件:在进行任何用户管理操作之前,备份重要的配置文件如 /etc/passwd/etc/shadow/etc/sudoers
  • 记录和审计用户活动:启用日志记录并定期检查日志文件,以便跟踪用户的活动,特别是 sudo 命令的使用情况。
  • 使用 PAM 模块增强安全性:利用 Pluggable Authentication Modules (PAM) 模块来增强认证机制,例如启用双因素认证。
  • 更新和打补丁:定期更新系统和相关软件包,以修复已知的安全漏洞。

http://www.mrgr.cn/news/50121.html

相关文章:

  • 【C++】二叉搜索树的概念与实现
  • 面试十分钟不到就被赶出来了,问的实在是太变态了...
  • 周易解读:两仪01
  • 高德地图怎么定位自己的店铺位置?
  • VHDL基本结构和逻辑示例
  • libevent_structure
  • 图像及视频的基本操作
  • 西门子S7-200 SMART选型指南之电源需求
  • SQL Server LocalDB 表数据中文乱码问题
  • 代码训练营 day32|LeetCode 122,LeetCode 55,LeetCode 45,LeetCode 1005
  • 金融信用评分卡建模项目:AI辅助
  • 【深圳大学/大学物理实验2】超声探伤实验 实验前预习题答案参考
  • 数据结构期中考试复习(二叉树及之前)1-12
  • Java基础 02
  • EDM平台排行榜与工具推荐
  • 一篇 带你了解 XSS——(上篇)
  • [NewStar 2024] week2
  • matlab怎样将数据按行拼接和按列拼接(水平拼接竖直拼接)
  • 《C++内存对齐策略:提升性能的关键之路》
  • 深度学习基础—神经风格迁移