Linux基本命令---文件权限与用户管理

在Linux系统中,文件权限与用户管理是两个核心概念,它们共同维护着系统的安全性和稳定性。以下是如何在Linux系统中体验文件权限与用户管理的详细步骤:

一、用户管理

  1. 创建新用户

    • 使用adduser命令可以创建新用户。例如,创建一个名为“alice”的新用户:
    sudo adduser alice
    

    该命令将引导你设置用户的密码、家目录等基本信息。

  2. 修改用户属性

    • 使用usermod命令可以修改用户的基本属性,如密码、家目录等。例如,更改用户“alice”的密码:
    sudo usermod -p $(openssl passwd -new) alice
    
  3. 删除用户

    • 使用userdel命令可以删除用户。例如,删除名为“bob”的用户:
    sudo userdel bob
    
  4. 用户组管理

    • 创建用户组:使用groupadd命令。例如,创建一个名为“developers”的用户组:
    sudo groupadd developers
    
    • 修改用户组属性:使用groupmod命令。例如,更改用户组名称为“team1”:
    sudo groupmod -n team1 developers
    
    • 删除用户组:使用groupdel命令。例如,删除名为“team1”的用户组:
    sudo groupdel team1
    
  5. 将用户添加到用户组

    • 使用gpasswd命令可以将用户添加到用户组。例如,将用户“jack”添加到“tech”组中:
    sudo gpasswd -a jack tech
    

二、文件权限管理

  1. 查看文件权限

    • 使用ls -l命令可以查看文件或目录的权限。例如:
    ls -l file.txt
    

    输出示例:

    -rw-r--r-- 1 user group 1234 Jan 1 12:34 file.txt
    

    其中,开头的十个字符表示文件权限,依次为文件类型、所有者权限、用户组权限、其他人权限。

  2. 修改文件权限

    • 使用chmod命令可以修改文件或目录的权限。chmod命令支持符号表示法和数字表示法。
      • 符号表示法:通过指定用户类别(u:所有者,g:用户组,o:其他人,a:所有人)和权限类型(r:读权限,w:写权限,x:执行权限)来设置文件权限。例如,为所有者添加执行权限:
      chmod u+x file.txt
      
      • 数字表示法:通过指定八进制数来表示文件的权限。每个权限的数字表示如下:读(r)=4,写(w)=2,执行(x)=1。将这些数字相加,可以组合出不同的权限。例如,设置所有者为rwx,用户组为r-x,其他人为r–:
      chmod 755 file.txt
      
  3. 更改文件的所有者和所属组

    • 使用chown命令可以更改文件的所有者。例如,将文件“file.txt”的所有者更改为“alice”:
    sudo chown alice file.txt
    
    • 使用chgrp命令可以更改文件的所属组。例如,将文件“file.txt”的所属组更改为“developers”:
    sudo chgrp developers file.txt
    

三、特殊权限

Linux文件系统还支持三种特殊权限:SUID、SGID和Sticky Bit。

  1. SUID:主要用于可执行文件,允许普通用户以文件所有者的身份运行该文件。设置SUID的命令:
chmod u+s filename
  1. SGID:可以应用于文件和目录。在文件上设置SGID位后,执行该文件时,用户将以文件所属组的权限运行程序。在目录上设置SGID后,目录中新创建的文件将自动继承该目录的组。设置SGID的命令:
chmod g+s directoryname
  1. Sticky Bit:通常应用于目录。设置Sticky Bit后,只有目录的所有者或文件的所有者才能删除或重命名目录中的文件,即使其他用户对该目录有写权限。设置Sticky Bit的命令:
chmod +t directoryname

四、实践应用

以下是一个实践应用的例子,用于说明如何在Linux系统中进行用户与文件权限管理:

  1. 创建一个新的用户组“it”,GID设置为1101:
sudo groupadd -g 1101 it
  1. 创建一个新用户“jack”,并将其添加到“it”组中,宿主目录设置为“/tech/it/jack”:
sudo useradd -d /tech/it/jack -g it jack
  1. 创建一个目录“/tech/it”,并将其属组设置为“it”,同时去除其他用户的所有权限:
sudo mkdir /tech/it
sudo chown :it /tech/it
sudo chmod 750 /tech/it
  1. 在“/tech/it”目录中创建一个文件“example.txt”,并设置其权限为所有者可读写,用户组可读,其他人无权限:
touch /tech/it/example.txt
sudo chmod 640 /tech/it/example.txt
  1. 使用ls -l命令查看“/tech/it”目录中的文件权限,确保设置正确:
ls -l /tech/it

通过以上步骤,你可以在Linux系统中体验文件权限与用户管理的相关操作。这些操作对于维护系统的安全性和稳定性至关重要,也是多用户环境下提高工作效率的基础。

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

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

相关文章

Ubuntu——extrepo添加部分外部软件源

extrepo 是一个用于 Ubuntu 和其他基于 Debian 的系统的工具,它的主要作用是简化和管理外部软件源(repositories)的添加和更新。通过使用 extrepo,用户可以方便地添加、删除和管理第三方软件源,而不需要手动编辑源列表…

Java集合排序技术详解

在Java编程中,对集合进行排序是一项常见的任务。Java提供了多种方式来对集合进行排序,包括使用Collections.sort()、Arrays.sort()、List接口的sort()方法以及Java 8引入的Stream API。本文将详细介绍这些排序技术,并探讨它们的使用场景和性能…

WEB开发: Node.js路由之由浅入深(一) - 全栈工程师入门

作为一个使用Node.js多年的开发者,我已经习惯于用Node.js写一些web应用来为工作服务,因为实现快速、部署简单、自定义强。今天我们一起来学习一个全栈工程师必备技能:web路由。(观看此文的前提是默认你已经装好nonde.js了&#xf…

【机器学习算法】——逻辑回归

目录 逻辑回归理解损失函数代码练习1. 房屋价格与面积的关系2.基于学生特征的录取概率预测 逻辑回归理解 逻辑回归是用来二分类的! 是在线性回归模型之后加了一个激活函数(Sigmoid)将预测值归一化到【0~1】之间,变成概率值。 一般计算其中一…

一个有意思pytorch的简单应用小实验

通过一个简单的脚本,来学习pytorch的基本应用,比如:前向传播、反向传播、学习率以及预测、模型的基本原理和套路。 得到结果。。。保存模型。。。输入参数。。。预测。。。像不像?。。。像多少?。。。 设计目标&#x…

使用lumerical脚本语言创建定向耦合器并进行数据分析(纯代码实现)

本文使用lumerical脚本语言创建定向耦合器波导、计算定向耦合器的偶数和奇数模式、分析定向耦合器的波长依赖性、分析定向耦合器的间隙依赖性(代码均有注释详解)。 一、绘制定向耦合器波导 1.1 代码实现 # 这段代码主要实现了绘制定向耦合器波导几何结构的功能。通过定义各种…

Linux 35.6 + JetPack v5.1.4之RTP实时视频Python框架

Linux 35.6 JetPack v5.1.4之RTP实时视频Python框架 1. 源由2. 思路3. 方法论3.1 扩展思考 - 慎谋而后定3.2 扩展思考 - 拒绝拖延或犹豫3.3 扩展思考 - 哲学思考3.4 逻辑实操 - 方法论 4 准备5. 分析5.1 gst-launch-1.05.1.1 xvimagesink5.1.2 nv3dsink5.1.3 nv3dsink sync05…

企业风险投资、融资事件数据(1921-2024)

数据包括历年上市与非上市企业的风险投资融资数据等数据,包括融资时间、被投企业、投资方、退出方等数据,希望对大家的研究有所帮助 一、数据介绍 数据名称:企业风险投资、融资事件 数据范围:上市与非上市企业 数据年份&#x…

移远5G模块移植

移远5G模块移植 1.NCM网卡配置2.拨号工具编译3.程序运行 1.NCM网卡配置 1.1、内核配置 打开内核配置界面,并找到USB Network Adapters进行NCM网卡配置 > Device Drivers > Network device support > USB Network Adapters 1.2、驱动修改 打开内核源码钟的…

基于单片机的智能农田灌溉节水系统设计及应用

摘 要 : 针对传统的灌溉方法浪费水资源节水系统设计。该系统从节水角度出发,对传感器和主电路进行了设计,主要采集灌溉地的湿度与温度数据,根据测量土壤中的温度与湿度作为主要参数,对农田灌溉节水系统进行实时控制&am…

煤矿 35kV 变电站 3 套巡检机器人 “上岗”,力破供电瓶颈

近日,杭州旗晟智能科技与甘肃某变电站配电室的三套智能巡检机器人线下测试顺利完成,并成功交付使用,这为电力运维工作注入了全新的活力与强大的技术支撑。 一、项目背景 甘肃某变电站总建筑面积1098平方米的变电站集变电、配电、监控等多功能…

什么是封装性?C++ 中如何实现封装?封装性的好处是什么?

一、引言 在面向对象编程中,封装性是一个重要的概念。封装可以帮助我们更好地组织和管理代码,提高代码的可维护性、可扩展性和安全性。本文将详细介绍什么是封装性,C 中如何实现封装以及封装性的好处。 二、什么是封装性? 封装…

docker 相关问题记录

docker mysql 一直重启解决办法(断电或者重启) 一直重启。。因为是内部开发,也没有备份最新的。所以不能删了重来。 方法: docker logs mysql5.7 看到错误跟innodb有关。 具体原因可以参考 http://acuilab.com/articles/2019/1…

如何在自动化安全测试中,实现多工具集成与数据融合,以提高对Spring Boot应用程序安全漏洞的检测效率与准确性?

为了在自动化安全测试中实现多工具集成与数据融合,以提高对Spring Boot应用程序安全漏洞的检测效率与准确性,可以采取以下策略和方法: 文章目录 1. 工具选择与集成2. 数据标准化与聚合3. 数据分析与融合4. 持续改进5. 实施示例 1. 工具选择与…

Java快速分组技术解析

在Java开发中,我们经常需要对数据进行分组处理,比如根据某个属性将数据集合中的元素分组。这种需求在处理数据库查询结果、日志分析、报表生成等场景中非常常见。本文将介绍几种Java中快速分组的技术,帮助开发者提高数据处理的效率。 1. 使用…

龙蜥 Linux 安装 JDK

龙蜥 Linux 安装 JDK 下载安装解压到目标路径设置环境变量直接在启动脚本中临时设置 参考资料 下载 这个就不赘述了,参考资料中的另外两篇安装帖,都有。 如果不能上网,也可以去内网其他之前装过JDK的服务器,直接复制过来。 tar …

Linux中Crontab(定时任务)命令详解

文章目录 Linux中Crontab(定时任务)命令详解一、引言二、Crontab的基本使用1、Crontab命令格式2、Crontab常用操作 三、Crontab的配置与服务管理1、配置Crontab2、服务管理 四、使用示例1、每天凌晨2点备份网站数据2、每周一凌晨3点清理临时文件3、每月的…

记录学习《手动学习深度学习》这本书的笔记(三)

这两天看完了第六章:卷积神经网络,巧的是最近上的专业选修课刚讲完卷积神经网络,什么卷积层池化层听得云里雾里的,这一章正好帮我讲解了基础的知识。 第六章:卷积神经网络 6.1 从全连接层到卷积 在之前的学习中&…

测试知识-高阻示波器的探头补偿

目录 探头补偿 探头补偿 调节补偿电容 调节补偿电容 探头补偿 设计到一个知识盲点,刚好复习补充下 探头补偿 理论知识 示波器和 10:1 探头的简化模型如上图所示,其中示波器的输入阻抗为 RscopeRscope​,探头的补偿电容为 CcompCcomp​。…

低空经济的第一助推力,基于鸿道Intewell操作系统的无人机控制系统

低空经济背景 低空经济是指利用低空空域资源进行经济活动的总和,包括无人机、通用航空、低空物流等新兴产业。近年来,随着技术的不断突破和政策的支持,低空经济正逐渐成为全球瞩目的新经济增长点。在中国,低空经济的发展受到了政…