CentOS 7 权限管理实战指南:用户管理相关命令详解

news2024/11/18 21:23:59

前言

掌握 CentOS 7 用户管理命令,轻松管理系统用户!本文详细介绍了在 CentOS 7 系统中常用的用户管理命令,从创建和删除用户、修改用户属性,到密码管理和用户权限设置,一应俱全。无论你是 Linux 新手还是经验丰富的管理员,这篇文章都将为你提供清晰而实用的用户管理技巧以及示例,希望可以帮到你。

Linux权限控制的基本工作原理

Linux系统的权限管理基本原理是基于用户和用户组的访问控制。每个文件和目录都有一个所有者和一个所属用户组,以及对应的读、写、执行权限。那什么是所有者和所属组呢?又是如何控制权限呢?

  • 所有者(Owner)是指创建该文件或目录的用户。所有者具有最高权限,可以对文件或目录进行读、写和执行操作,也可以修改权限和更改所有者。
  • 所属用户组(Group)是指将文件或目录分配给某个特定用户组。所属用户组的成员具有与所有者相同的权限,但不能更改文件或目录的所有者。通常情况下,文件或目录的所属用户组与创建它的用户的默认用户组相同。
  • Linux系统有三种权限,分别是可读、可写、可执行,用数字4、2、1分别表示可读、可写、可执行。文件和目录的权限可以分为三部分,分别是所有者权限、所属用户组权限和其他用户权限,其中每一部分又分别包括读、写、执行权限。例如,一个文件的权限为-rw-r--r--,其中第一位表示这是一个普通文件;后面的三组r、w、x分别表示所有者、所属用户组、其他用户的读、写、执行权限。具体来说,这个文件的所有者具有读和写的权限,所属用户组和其他用户则只有读的权限。请注意,数字0代表没有权限,数字1代表执行权限,数字2代表写权限,数字4代表读权限。这些数字权限可以通过相加来表示不同权限的组合,例如,读和写权限为6(4+2),读、写和执行权限为7(4+2+1)。

通过设置文件和目录的权限,Linux系统可以实现对不同用户的权限控制,从而保证文件和目录的安全性和机密性。同时,Linux系统还提供了一些特殊权限,如SUID、SGID和Sticky Bit,以更精细地控制用户和进程对文件和目录的访问。

用户管理相关命令

useradd

在 CentOS 7 系统中,useradd 命令用于创建新的用户账户。

语法:

useradd [选项] 用户名

可选参数:

  • -c, --comment COMMENT:设置用户的注释/描述信息。
  • -d, --home HOME_DIR:指定用户的主目录路径。
  • -g, --gid GROUP:指定用户所属的初始用户组。
  • -G, --groups GROUPS:指定用户附加的附属用户组。
  • -s, --shell SHELL:指定用户登录后使用的默认Shell。
  • -u, --uid UID:指定用户的用户ID。

使用示例:

  • 创建一个名为 ayi 的用户,并将它添加到 root 用户组:
useradd -g root ayi
  • 创建一个名为 ayi 的用户,指定其主目录为 /home/ayi,并指定它登录后使用的默认Shell为 /bin/bash:
useradd -d /home/ayi -s /bin/bash ayi
  • 创建一个名为 myuser 的用户,并设置它的注释信息为 "My Test User":
useradd -c "My Test User" fanfu

请注意,在使用 useradd 命令创建用户时,需要以 root 权限或具有适当的权限进行操作。

passwd

passwd 命令用于更改用户的密码。

语法:

passwd [选项] 用户名

可选参数:

  • -n, --mindays MIN_DAYS:设置用户必须等待更改密码的最小天数。
  • -x, --maxdays MAX_DAYS:设置密码有效期的最大天数。
  • -w, --warndays WARN_DAYS:设置在密码过期之前发出警告的天数。
  • -i, --inactive INACTIVE:设置账户非活动期间的天数,超出此期限后,账户将被禁用。
  • -l, --lock:锁定指定用户的密码。
  • -u, --unlock:解锁指定用户的密码。

使用示例:

  • 更改当前用户的密码:
passwd
  • 更改用户 fanfu 的密码:
passwd fanfu
  • 将用户 fanfu 的密码锁定:
passwd -l fanfu
  • 将用户 fanfu 的密码解锁:
passwd -u fanfu
  • 设置用户 fanfu 的密码最小天数为 7 天:
passwd -n 7 fanfu
  • 设置用户 fanfu 的密码最长有效期为 90 天:
passwd -x 90 fanfu

请注意,为了更好地保护用户账户的安全性,建议定期更改密码,并设置合适的密码策略。同时,需要确保只有授权用户才能更改密码。

userdel

userdel 命令用于删除用户账户。在 CentOS 7 中,可以使用以下语法、可选参数和使用示例:

语法:

userdel [选项] 用户名

可选参数:

  • -r, --remove:删除用户账户及其相关文件。
  • -f, --force:强制删除用户账户,即使用户当前登录或拥有进程。

使用示例:

  • 删除一个名为 fanfu 的用户账户:
userdel fanfu
  • 删除用户账户 fanfu 及其相关文件(主目录等):
userdel -r fanfu
  • 强制删除一个当前已登录或拥有进程的用户账户 fanfu:
userdel -f fanfu

请注意,在删除用户账户时,需要以 root 权限或具有适当的权限进行操作。确保在删除用户账户之前,已经备份了相关的数据。

usermod

usermod 命令用于修改用户账户的属性。

语法:

usermod [选项] 用户名

可选参数:

  • -c, --comment COMMENT:为用户添加注释/描述信息。
  • -d, --home HOME_DIR:修改用户的主目录路径。
  • -s, --shell SHELL:修改用户登录后使用的默认Shell。
  • -g, --gid GROUP:修改用户所属的初始用户组。
  • -a, --append:将用户附加到附属用户组列表中,而不是替换它们。
  • -G, --groups GROUPS:设置用户的附属用户组列表。
  • -l, --login NEW_LOGIN:修改用户的用户名。
  • -L, --lock:锁定用户的密码。
  • -U, --unlock:解锁用户的密码。

使用示例:

  • 修改用户 fanfu 的主目录为 /home/fanfu001:
usermod -d /home/fanfu001 fanfu
  • 将用户 fanfu 的默认Shell更改为 /bin/bash:
usermod -s /bin/bash fanfu
  • 将用户 fanfu 添加到用户组 guest 中:
usermod -a -G guest fanfu
  • 更改用户 fanfu 的用户名为 fanfu1024:
usermod -l fanfu1024 fanfu
  • 锁定用户 fanfu 的密码:
usermod -L fanfu

请注意,在修改用户账户属性时,需要以 root 权限或具有适当的权限进行操作。确保在修改用户账户之前,已经备份了相关的数据。

su

su 命令用于切换用户身份。

语法:

su [选项] [用户名]

可选参数:

  • -l, --login:以登录shell的方式切换到新用户。
  • -c, --command COMMAND:执行完命令后返回原用户。
  • -s, --shell SHELL:指定使用的shell。

使用示例:

  • 使用 root 用户身份切换到另一个用户 fanfu:
su fanfu
  • 使用 root 用户身份切换到另一个用户 fanfu,并使用其默认shell:
su - fanfu
  • 使用 root 用户身份切换到另一个用户 fanfu,并以 /bin/bash 作为新shell:
su -s /bin/bash fanfu
  • 普通用户 fanfu 切换到 root 用户身份,并执行命令 ls -l:
su -c 'ls -l' root

请注意,在切换用户身份时,需要输入目标用户的密码。同时,需要确保已经授权使用 su 命令的用户具有必要的权限。

cat /etc/passwd

在CentOS系统上,你可以使用以下命令来查询系统中的所有用户:

cat /etc/passwd

这个命令会显示系统中所有用户的信息,每个用户信息一行。每行的格式通常是这样的:

username:password:UID:GID:comment:home_directory:shell

具体解释如下:

  • username: 用户名
  • password: 密码字段,通常是 "x" 表示密码存储在 /etc/shadow 文件中
  • UID: 用户ID
  • GID: 组ID
  • comment: 注释,一般是用户的全名或其他描述
  • home_directory: 用户的主目录
  • shell: 用户登录时使用的shell

如果你只想显示用户名,你可以使用以下命令:

awk -F':' '{print $1}' /etc/passwd

这会仅显示每行中的用户名部分。请注意,查询系统用户的命令可能需要以管理员权限执行,你可以使用 sudo 命令来获取足够的权限。

id

id 命令可以查看当前用户或指定用户的 UID(用户 ID)和 GID(组 ID)。它的语法如下:

id [选项] [用户名]

如果没有指定用户名,id 命令将显示当前用户的 UID 和 GID。常用的选项包括:

  • -G, --groups:显示用户所属的所有组。
  • -g, --group:显示用户所属的主要组。
  • -u, --user:显示用户的 UID。

下面是 id 命令的一些常见使用方法示例:

  • 显示当前用户的 UID 和 GID:
id
  • 显示用户 fanfu 的 UID 和 GID:
id fanfu
  • 显示用户 fanfu 所属的所有组:
id -G fanfu
  • 显示用户 fanfu 所属的主要组:
id -g fanfu

who

who 命令用于显示当前登录系统的用户信息。它可以列出登录到系统的用户,并提供有关每个用户的详细信息,如用户名、终端设备、登录时间和来源 IP 地址等。

语法:

who [选项] [文件]

可选参数:

  • -a, --all:显示所有用户的登录信息,包括系统进程。
  • -b, --boot:显示系统启动时间。
  • -d, --dead:显示已注销的用户信息。
  • -H, --heading:在输出中显示表头。
  • -l, --login:显示用户名和登录时间。
  • -p, --process:显示与终端相关的进程状态。
  • -q, --count:只显示当前登录用户数量。
  • -s, --short:使用短格式输出。
  • -t, --time:显示最后一次活动时间。
  • -u, --users:显示用户名。

使用示例:

  • 显示当前登录系统的用户信息:
who
  • 显示系统启动时间:
who -b
  • 显示当前登录用户的数量:
who -q
  • 显示最后一次活动时间:
who -t
  • 显示所有用户的登录信息:
who -a

请注意,who 命令通常不需要指定文件参数,它会默认使用 /var/run/utmp 文件来获取用户登录信息。

chown

在 CentOS 7 中,chown 命令用于修改文件或目录的所有者。以下是 chown 命令的使用方式和示例:

使用方式:

chown [选项] 新所有者 文件/目录

常用选项:

  • -R:递归地修改文件夹及其子文件夹的所有者。
  • -v:显示每个修改后的文件/目录的所有者。

新所有者:

可以使用用户名或用户 ID(UID)来指定新的所有者。

示例:

  • 将文件 file.txt 的所有者修改为 fanfu:
chown fanfu file.txt
  • 将目录 dir 及其子目录的所有者修改为 fanfu,同时显示修改过程:
chown -Rv fanfu dir
  • 将文件 file.txt 的所有者和所属组修改为 fanfu 和 yzxa:
chown fanfu:yzxa file.txt

chmod和chown的区别

chmod 和 chown 是两个在 CentOS(以及其他 Linux 发行版)中常用的命令,用于修改文件或目录的权限和所有者。它们的区别如下:

chmod 命令:

  • 作用:chmod 命令用于修改文件或目录的权限。
  • 使用方式:chmod 命令后面跟着权限模式和要修改权限的文件或目录路径。
  • 权限模式:可以使用数字(例如 755)或符号(例如 u+rwx)来指定权限模式。
  • 数字模式:数字模式使用三位数,每一位表示一个权限组(所有者、所属组、其他用户),其中每一位的值为 4(读权限)、2(写权限)和 1(执行权限)的组合。例如,755 表示所有者具有读、写和执行权限,所属组和其他用户具有读和执行权限。
  • 符号模式:符号模式使用类似于 u+rwx、g+rw、o-x 的格式来指定权限。u 代表所有者,g 代表所属组,o 代表其他用户,+ 表示添加权限,- 表示移除权限,r 表示读权限,w 表示写权限,x 表示执行权限。

chown 命令:

  • 作用:chown 命令用于修改文件或目录的所有者。
  • 使用方式:chown 命令后面跟着新的所有者和要修改所有者的文件或目录路径。
  • 所有者:可以使用用户名或用户 ID(UID)来指定新的所有者。

综上所述,chmod 用于修改文件或目录的权限,而 chown 用于修改文件或目录的所有者。它们是不同的命令,用途和参数也不同。在实际应用中,我们可以根据需要选择使用 chmod 或 chown 来对文件或目录进行相应的权限和所有者的修改操作。

写在最后

喜欢我为你精心准备的 CentOS 7 用户管理命令文章吗?如果你觉得这篇指南对你的 Linux 系统管理技能提供了帮助,不妨点个赞支持一下!当然也建议反这篇文章收藏起来,以备日后查阅。这样,你就能随时回顾和复习文章中的重要知识点,确保你的技术水平始终保持在最高水平。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1389966.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

huggingface学习 | 云服务器使用git-lfs下载huggingface上的模型文件

文章目录 一、找到需要下载的huggingface文件二、准备工作(一)安装git-lfs(二) 配置git ssh 三、检查ssh连接huggingface是否成功 一、找到需要下载的huggingface文件 huggingface官网链接:https://huggingface.co/ 以…

rime中州韵小狼毫 LaTex输入法配置

教程目录:rime中州韵小狼毫须鼠管安装配置教程 保姆级教程 100增强功能配置教程 本文的分享一种在rime中州韵小狼毫须鼠管输入法中配置LaTex输入方案的方法,并不完美,仅供参考。 先睹为快 LaTex输入方案可以快捷的在公式模式下输入一些基础…

猫咪全罐喂养一个月多少钱?适合给猫咪全罐喂养的猫罐头推荐

不少铲屎官为了防止猫咪挑食和营养吸收不均衡,打算给猫咪进行全罐喂养,但是又担心全罐喂养花费太多钱了。猫咪全罐喂养一个月多少钱?别担心,咱们打工人的养猫攻略,花小钱办大事!追求高性价比的猫罐头才是王…

软件测试|使用selenium处理单选框和多选框

简介 我们在web自动化测试工作中,经常会遇到对单选框(Radio Buttons)或者多选框(Checkboxes)进行操作的场景,单选框和多选框主要是用于我们做出选择或提交数据。本文将主要介绍selenium对于单选框和多选框…

嵌入式新人要坚持嵌入式吗?

今日话题,嵌入式新人要坚持嵌入式吗?这问题让我想起了我大学时学习嵌入式的经历。当时,学校还发了一些开发板,可惜我自己的学习进展不顺利,最终我决定转向了纯软件开发领域。但是,我大学时有一个同学,他一…

Flink启动Yarn Session报错:Couldn‘t deploy Yarn session cluster

Flink版本:1.1.3 启动Yarn Session的语句:bin/yarn-session.sh -nm test -d 报错截图如下: 仅通过ERROR信息只能知道是yarn session集群未能正常启动,因此继续向下查找: 找到报错信息的Caused by部分: 报…

网络原理--http

目录 一、 DNS(应用层协议) 1、域名概念 2、维护ip地址和域名之间的映射(域名解析系统) 3、DNS系统(服务器) 4、如何解决DNS服务器高并发问题 二、HTTP(应用层协议) 1、htt…

觉得做文档不被重视?来看看你未来的可能性

▲ 搜索“大龙谈智能内容”关注公众号▲ 在《2023中国技术传播行业调研报告》中,“从业者心中的痛”这项调研的统计如下图。 其中,“企业内高层不够重视”排在第一位。 图1 - “从业者心中的痛”统计 对于行业的发展趋势,大家是这样看的…

海外代理IP怎么用?常见使用问题及解决方案

海外代理IP是指提供全球范围内的代理服务器,代理服务器充当IP与目标网站之间的中介,可以起到安全匿名、提高网速、突破网络壁垒的作用。在使用代理IP的过程中,用户可能会遇到各种挑战,如连接问题、速度慢等。理解这些问题的原因并…

计算机导论06-人机交互

人机交互基础 人机交互概述 人机交互及其发展 人机交互是指人与计算机之间,使用某种对话语言,以一定的交互方式,为完成确定任务的信息交换过程。 从计算机的诞生之日起,人机交互技术的发展已经历了以下阶段: 早期的…

Linux 有哪些搜索方式?5分钟带你搞懂!

5分钟带你掌握 Linux 的三种搜索方式 前言 1.find 命令 find 命令是用来在给定的目录下查找符合给定条件的文件 语法格式:find [查找起始路径] [查找条件] [处理动作] (1)根据名称查找:find [查找起始路径] -name 文件名 或者…

开源云真机平台-Sonic平台-python自定义脚本-config.ini方式实现全局配置参数的读写操作

【主要功能】 config.ini方式实现全局配置参数的读写操作 使用python实现以下功能: 1、使用将接口获取的变量值,写入到当前目录下的config文件中,如delayTime10; 2、读取当前目录下的config文件中,特定变量的值&…

【Java】equals和hashCode需要一起重写的原因

方法实现: equals和hashCode两个方法是属于Object基类的两个方法,我们先来看看两个方法的默认实现。 equals方法: public boolean equals(Object obj) {return (this obj);} 可以看到equals方法的默认实现是使用 比较两个对象&#xff0c…

Selenium使用指南(超详细)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 概述 selenium是网页应用中最流行的自动化测试工具&#xff0c…

Kafka-生产者

Kafka在实际应用中,经常被用作高性能、可扩展的消息中间件。 Kafka自定义了一套网络协议,只要遵守这套协议的格式,就可以向Kafka发送消息,也可以从Kafka中拉取消息。 在实践生产过程中,一套API封装良好、灵活易用的客…

C语言——详解字符函数和字符串数组(上)

目录 一、strlen的使用和模拟实现 1.strlen()函数的介绍 2.strlen()函数的具体使用 3.strlen函数的注意事项 4.strlen函数的模拟实现 二、strcpy的使用和模拟实现 1.strcpy()函数的介绍 2.strcpy()函数的具体使用 3.strcpy()函数的注意事项 4.strcpy函数的模拟实现 …

js逆向第19例:猿人学第17题天杀的Http2.0

文章目录 一、前言二、定位关键参数三、代码实现四、参考文献一、前言 任务十七:抓取这5页的数字,计算加和并提交结果 题目已经给出来标准答案,而且此题设置为“非常简单”其关键就是HTTP/2.0请求,打开控制台查看请求接口数据如下: 二、定位关键参数 可以看到控制台显示…

计算机毕业设计-----SSH学生请假管理系统

项目介绍 本项目分为管理员、教师、学生三种角色; 教师角色包含以下功能: 教师角色登录,请假查看,审批学生请假,学生管理等功能。 管理员角色包含以下功能: 班级管理,班主任管理,公告管理,留言板管理,学生管理等功能。 学生角色包含以下…

MySQL 中有关 NULL 的三个坑

mysql sum 函数、count 函数,以及 NULL 值条件可能踩的坑。 SELECT SUM(score) FROM person ; nullSELECT COUNT(score) FROM person; 0select id from person where scoreNULL; null 显然,这三条 SQL 语句的执行结果和我们的期望不同&#xf…

一篇文章带你搞懂---全排序

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂,年薪百万! 全排序(Permutation)是指将一组元素按照一定的顺序进行排列的过程。在计算机科学中,全排序是一…