【DevOps】详解 Linux 用户和权限管理:添加用户、分组及文件权限设置

目录

1. 用户管理

用户分类

用户相关文件

常用命令

2. 组管理

组相关文件

常用命令

3. 权限管理

文件权限

权限表示

修改权限

修改所有者和所属组

特殊权限

4. 示例

命令的详细解释

权限解释

示例:文件权限 -rw-r--r-- 的含义


在 Linux 中,用户和权限管理是系统安全和资源控制的核心。以下是对 Linux 用户和权限的详细解释:

1. 用户管理

用户分类
  • 普通用户:通常用于个人和非特权操作。
  • 超级用户(root):拥有系统的完全控制权,可以执行任何操作。
  • 系统用户:通常用于系统服务和守护进程,通常没有登录权限。
用户相关文件
  • /etc/passwd:存储用户的基本信息,包括用户名、UID、GID、主目录、Shell 等。
  • /etc/shadow:存储用户的加密密码信息。
  • /etc/group:存储组的信息。
常用命令
  • 添加用户
    sudo useradd username
    sudo passwd username  # 设置密码
    
  • 删除用户
    sudo userdel username
    
  • 修改用户
    sudo usermod -c "New Comment" username
    sudo usermod -d /new/home/directory username
    sudo usermod -s /bin/zsh username
    sudo usermod -G newgroup username  # 添加到新组
    
  • 查看用户信息
    id username
    getent passwd username
    

2. 组管理

组相关文件
  • /etc/group:存储组的信息。
  • /etc/gshadow:存储组的密码信息。
常用命令
  • 添加组
    sudo groupadd groupname
    
  • 删除组
    sudo groupdel groupname
    
  • 修改组
    sudo groupmod -n newgroupname oldgroupname  # 改组名
    
  • 添加用户到组
    sudo usermod -aG groupname username
    
  • 查看组信息
    getent group groupname
    

3. 权限管理

文件权限
  • 读(Read,r):能够查看文件内容或列出目录内容。
  • 写(Write,w):能够修改文件内容或在目录中添加/删除文件。
  • 执行(Execute,x):能够执行文件或访问目录。
权限表示
  • 符号表示法-rwxr-xr--,每个位置代表不同的权限。

    • 第一个字符:文件类型 -(文件)或 d(目录)。
    • 接下来的三个字符:文件拥有者的权限。
    • 中间的三个字符:文件所属组的权限。
    • 最后三个字符:其他用户的权限。
  • 八进制表示法0755,每一位表示拥有者、组和其他用户的权限。

    • 7rwx(读、写、执行)。
    • 5r-x(读、执行)。
    • 4r--(只读)。
修改权限
  • chmod 命令:修改文件或目录的权限。
    chmod 755 filename
    chmod u+x filename  # 给拥有者增加执行权限
    chmod g-w filename  # 给组去除写权限
    chmod o=r filename  # 设置其他用户只读权限
    
修改所有者和所属组
  • chown 命令:修改文件或目录的所有者和所属组。
    sudo chown newowner filename
    sudo chown newowner:newgroup filename
    sudo chown :newgroup filename  # 只修改所属组
    
  • chgrp 命令:只修改文件或目录的所属组。
    sudo chgrp newgroup filename
    
特殊权限
  • Setuid:使文件以拥有者的权限执行(常用于二进制程序)。
    chmod u+s filename
    
  • Setgid:使文件以组的权限执行,或使目录中创建的文件继承目录组。
    chmod g+s filename
    chmod g+s directory
    
  • Sticky Bit:防止非拥有者删除目录中的文件。
    chmod +t directory
    

4. 示例

请看示例命令行:

# 添加用户
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser# 添加组
sudo groupadd newgroup# 将用户添加到组
sudo usermod -aG newgroup newuser# 创建文件并设置权限
touch /tmp/testfile
sudo chmod 644 /tmp/testfile  # 设置文件权限为拥有者可读写,其他人只读
sudo chown newuser:newgroup /tmp/testfile  # 修改文件拥有者和组
命令的详细解释
  • 添加用户

    sudo useradd -m -s /bin/bash newuser
    

    效果:创建一个名为 newuser 的用户,并在 /home/newuser 下创建他的主目录,默认 shell 为 /bin/bash

    sudo passwd newuser
    

    效果:为 newuser 设置密码,让该用户能够登录系统。

    • sudo:以超级用户身份执行命令。
    • useradd:用于添加新用户。
    • -m:创建用户的主目录(通常位于 /home/<username>)。
    • -s:指定新用户的默认 shell。
    • /bin/bash:为新用户指定 Bash 作为默认 shell。
    • newuser:用户名。
    • passwd:用于设置或更改用户密码。
    • newuser:用户名。
  • 添加组

    sudo groupadd newgroup
    

    效果:创建一个名为 newgroup 的新组。

    • sudo:以超级用户身份执行命令。
    • groupadd:用于添加新组。
    • newgroup:组名。
  • 将用户添加到组

    sudo usermod -aG newgroup newuser
    

    效果:将用户 newuser 添加到 newgroup 组,使其成为该组的成员。

    • sudo:以超级用户身份执行命令。
    • usermod:用于修改用户信息。
    • -a:追加组信息而不是替换。
    • -G:指定要添加的组。
    • newgroup:组名。
    • newuser:用户名。
  • 创建文件并设置权限

    touch /tmp/testfile
    

    效果:在 /tmp 目录下创建一个名为 testfile 的空文件。

    sudo chmod 644 /tmp/testfile  # 设置文件权限为拥有者可读写,其他人只读
    

    效果:设置文件 /tmp/testfile 的权限为拥有者可读写,其他人只读。

    sudo chown newuser:newgroup /tmp/testfile  # 修改文件拥有者和组
    

    效果:将文件 /tmp/testfile 的拥有者设置为 newuser,所属组设置为 newgroup

    • touch:用于创建空文件或更新文件的修改时间。
    • /tmp/testfile:文件路径。
    • sudo:以超级用户身份执行命令。
    • chmod:用于修改文件或目录的权限。
    • 644:八进制权限表示法。
      • 6:拥有者(newuser)具有读和写权限(rw-)。
      • 4:同组用户具有读权限(r--)。
      • 4:其他用户具有读权限(r--)。
    • /tmp/testfile:文件路径。
    • sudo:以超级用户身份执行命令。
    • chown:用于修改文件或目录的拥有者和组。
    • newuser:newgroup:新拥有者和组。
    • /tmp/testfile:文件路径。
权限解释
  • 文件类型:第一个字符表示文件类型,- 表示文件,d 表示目录,l 表示链接等。
  • 文件权限:后面九个字符表示文件权限。
    • 第 1-3 位(rwx):文件拥有者的权限。
    • 第 4-6 位(r-x):文件所属组的权限。
    • 第 7-9 位(r--):其他用户的权限。
示例:文件权限 -rw-r--r-- 的含义
  • -:普通文件。
  • rw-:文件拥有者具有读、写权限。
  • r--:文件所属组具有读权限。
  • r--:其他用户具有读权限。

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

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

相关文章

栈队列经典OJ题(详细过程)

1. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 第一题判断有效的括号&#xff0c;这道题我们会用到栈的知识&#xff0c;栈是后进先出的&#xff0c;可以根据这个来解这道题&#xff0c;先看一下题目和示例。 1.1整体思路 我们通过示例可以看出括号匹配就返回true&am…

【JAVA】BOSS系统发版艺术:构建高效、优雅的微服务部署策略

在现代软件开发领域&#xff0c;微服务架构与容器化部署已迅速成为行业新趋势。微服务架构通过将应用拆分成多个小型、自治的服务单元&#xff0c;每个服务承担某项特定的业务功能。而容器化部署则以其轻量级和高度可移植的特性&#xff0c;为这些微服务的有效打包、分发和运行…

机器学习 - 不同分类模型的比较

一、模型训练 本案例中&#xff0c;我们将通过四种不同的模型来预测泰坦尼克号乘客的生存情况。 一下是训练的具体步骤。 加载数据 从seaborn库中加载目标数据。该数据集包括多个特征&#xff0c;如 PassengerId, Pclass, Name, Sex, Age, SibSp, Parch, Ticket, Fare, Cabi…

科技查新中的工法查新点如何确立与提炼?案例讲解!

按《工程建设工法管理办法》( 建 质&#xff3b;2014&#xff3d;103 号) &#xff0c;工法&#xff0c;是指以工程为对象&#xff0c;以工艺为核心&#xff0c;运用系 统工程原理&#xff0c;把先进技术和科学管理结合起来&#xff0c;经过一定工程实践形成的综合配套的施工方…

探索美国动态IP池:技术赋能下的网络安全新篇章

在数字化飞速发展的今天&#xff0c;网络安全成为了各行各业关注的焦点。特别是在跨国业务中&#xff0c;如何保障数据的安全传输和合规性成为了企业面临的重要挑战。美国动态IP池作为一种新兴的网络技术&#xff0c;正逐渐走进人们的视野&#xff0c;为网络安全提供新的解决方…

黑马甄选离线数仓项目day02(数据采集)

datax介绍 官网&#xff1a; https://github.com/alibaba/DataX/blob/master/introduction.md DataX 是阿里云 DataWorks数据集成 的开源版本&#xff0c;在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。 DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre…

Java中List接口中方法的使用(初学者指南)

Java中List接口中方法的使用&#xff08;初学者指南&#xff09; 在Java中&#xff0c;List接口是Collection接口的子接口&#xff0c;它表示一个有序的集合&#xff0c;其中的元素都可以重复。List接口提供了许多额外的方法&#xff0c;用于对元素进行插入、删除、查询等操作…

计算机Java项目|Springboot学生读书笔记共享

作者主页&#xff1a;编程指南针 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容&#xff1a;Java项目、Python项目、前端项目、人工智能与大数据、简…

C++通过json文件配置参数

一、安装nlohmann json nlohmann json&#xff1a;安装_nlohmann安装-CSDN博客 依次执行下面指令&#xff1a; git clone https://gitee.com/cuihongxi/mov_from_github.gitcd json-developmkdir buildcd buildcmake ..makesudo make install 二、安装完成后使用 #include…

华为设备display查看命令

display version //查看版本信息 display current-configuration //查看配置详情 display this //查看当前视图有效配置 display ip routing-table //查看路由表 display ip routing-table 192.168.3.1 //查看去往3.1的路由 display ip interface brief //查看接口下ip信息 dis…

想跨境出海?云手机提供了一种可能性

全球化时代&#xff0c;越来越多的中国电商开始将目光投向了海外市场。这并不是偶然&#xff0c;而是他们在长期的市场运营中&#xff0c;看到了出海的必要性和潜在的机会。 中国的电商市场无疑是全球最大也最发达的之一。然而&#xff0c;随着市场的不断发展和竞争的日益加剧…

visual studio2022 JNI极简开发流程

文章目录 1 创建java类2 生成JNI头文件3 使用visual studio2022创建DLL项目3.1 选择模板中&#xff08;Windows桌面向导&#xff09;3.2 为项目命名3.3 选择应用程序类型为动态链接库3.4 项目概览 4 导入需要的头文件4.1 导入需要的头文件4.2 修改头文件 5 编写C实现6 生成dll文…

服务器3389端口,服务器3389端口风险提示的应对措施

3389端口是Windows操作系统中远程桌面协议&#xff08;RDP&#xff09;的默认端口。一旦该端口被恶意攻击者利用&#xff0c;可能会导致未经授权的远程访问和数据泄露等严重安全问题。 针对此风险&#xff0c;强烈建议您采取以下措施&#xff1a; 1. 修改默认端口&#xff1a;…

Java面试之抽象类和接口

Java的一个重要特性就是抽象&#xff0c;抽象是指将具体的事物抽象成更一般化、更抽象化的概念或模型。在Java中&#xff0c;抽象可以通过抽象类和接口来实现&#xff0c;它们让你能够定义一些方法但不提供具体实现&#xff0c;从而让子类去实现具体细节。 一、抽象类&#xf…

springboot3 集成spring-authorization-server (一 基础篇)

官方文档 Spring Authorization Server 环境介绍 java&#xff1a;17 SpringBoot&#xff1a;3.2.0 SpringCloud&#xff1a;2023.0.0 引入maven配置 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter…

识别AI论文生成内容,降低论文高AI率

AI写作工具能帮我们在短时间内高效生成一篇毕业论文、开通报告、文献综述、任务书、调研报告、期刊论文、课程论文等等&#xff0c;导致许多人开始使用AI写作工具作为撰写学术论文的辅助手段。而学术界为了杜绝此行为&#xff0c;开始使用AIGC检测系统来判断文章是由AI生成还是…

解锁商业AI,赋能新质生产力发展——思爱普中国峰会探展全纪录

ITValue 钛媒体独家探秘思爱普中国峰会&#xff0c;带你深刻感受SAP助力企业利用以商业AI为代表的数字化技术&#xff0c;实现质的飞跃&#xff0c;通过全数据、全球化、全绿色赋能新型中国企业发展新质生产力。 首发&#xff5c;钛媒体APP ITValue 5月10日&#xff0c;一年一度…

基于NTP服务器获取网络时间的实现

文章目录 1 NTP1.1 简介1.2 包结构1.3 UNIX 时间戳和NTP时间戳 2 代码实现2.1 实现步骤2.2 完整代码 3 结果 在某些场景下&#xff0c;单片机需要通过网络获取准确的时间进行数据同步&#xff0c;例如日志记录、定时任务等。然而&#xff0c;单片机本身无法直接获得准确的标准时…

Vue的学习 —— <vue指令>

目录 前言 正文 内容渲染指令 内容渲染指令的使用方法 v-text v-html 属性绑定指令 双向数据绑定指令 事件绑定指令 条件渲染指令 循环列表渲染指令 侦听器 前言 在完成Vue开发环境的搭建后&#xff0c;若想将Vue应用于实际项目&#xff0c;首要任务是学习Vue的基…

ORA-00932: inconsistent datatypes: expected - got CLOB的分析解决方案

最近在项目中遇到查询数据时报ORA-00932: inconsistent datatypes: expected - got CLOB错误&#xff0c;这个错误很明显是由于查询时类型的不匹配造成的。 问题分析&#xff1a; 一、检查你的查询的实体的类型是否于数据库的保持一致&#xff0c;如果不一致&#xff0c;那么需…