热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux文件权限与用户配置管理

本文详细介绍了Linux系统中用户、组和文件权限的设置方法,包括基本权限(读、写、执行)、特殊权限(SUID、SGID、StickyBit)以及相关配置文件的使用。

在 Linux 系统中,安全上下文是指用户的 UID 和 GID 是否匹配文件的所有者或所属组。用户和组通过标识符与进程和文件关联。

用户组分为以下几类:

  • 私有组:仅包含用户自身,并与用户名同名。创建用户时如果没有指定所属组,系统会自动创建一个与用户名同名的组。
  • 基本组:用户的默认组。
  • 附加组:除基本组外的其他组。

文件权限分为三种:

  • r (读):允许使用命令如 cat 查看文件内容。
  • w (写):允许编辑或删除文件。
  • x (执行):允许作为命令提交给内核运行。

目录权限也有类似的设定:

  • r:允许列出目录中的所有文件。
  • w:允许在此目录中创建文件。
  • x:允许切换到此目录并查看其内部文件的详细信息。

权限组合:
rwx 表示完全权限,r-x 表示读和执行权限,rw- 表示读写权限等。

常见的权限数值:
0 无权限,1 执行,2 写入,3 写和执行,4 读取,5 读和执行,6 读写,7 读写执行。

权限模式举例:
755 表示 rwxr-xr-x,640 表示 rw-r-----,660 表示 rw-rw----

用户数据库文件 /etc/passwd 包含用户的 UID 和 GID 信息。
[rhel@localhost ~]$ ll /etc/passwd
-rw-r--r--. 1 root root 1427 Jun 21 2015 /etc/passwd

组数据库文件 /etc/group 包含用户的 GID 信息。
[rhel@localhost ~]$ ll /etc/group
-rw-r--r--. 1 root root 760 Jun 21 2015 /etc/group

影子口令文件 /etc/shadow 和 /etc/gshadow 分别存储用户和组的加密密码。
[rhel@localhost ~]$ ll /etc/shadow
----------. 1 root root 813 Jun 21 2015 /etc/shadow

/etc/passwd 文件格式:
用户名:密码:UID:GID:注释:家目录:默认 SHELL

/etc/shadow 文件格式:
用户名:密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间

用户管理命令 useradd 可用于创建新用户。
[root@localhost ~]# useradd cxiong

设置用户密码使用 passwd 命令。
[root@localhost ~]# passwd cxiong

用户默认配置文件 /etc/default/useradd 定义了新用户的默认属性。
[root@localhost default]# cat useradd

创建新组使用 groupadd 命令。
[root@localhost default]# groupadd mygroup

特殊权限 SUID、SGID 和 Sticky Bit:

  • SUID (Set User ID):使程序以文件所有者的身份运行。
  • SGID (Set Group ID):使程序以文件所属组的身份运行。
  • Sticky Bit:防止其他用户删除不属于自己的文件。

示例:/usr/bin/passwd 文件具有 SUID 权限。
[rhel@localhost ~]$ ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 Feb 17 2012 /usr/bin/passwd

共享目录设置 SGID 和 Sticky Bit 可以确保用户在该目录下创建的文件归属于特定组且只有文件所有者可以删除。
[root@localhost ~]# chmod g+s /tmp/project/
[root@localhost ~]# chmod o+t /tmp/project/


推荐阅读
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
  • 本文详细介绍了如何在 Android 中使用值动画(ValueAnimator)来动态调整 ImageView 的高度,并探讨了相关的关键属性和方法,包括图片填充后的高度、原始图片高度、动画变化因子以及布局重置等。 ... [详细]
  • CentOS 6.8 上安装 Oracle 10.2.0.1 的常见问题及解决方案
    本文记录了在 CentOS 6.8 系统上安装 Oracle 10.2.0.1 数据库时遇到的问题及解决方法,包括依赖库缺失、操作系统版本不兼容、用户权限不足等问题。 ... [详细]
  • 本文深入探讨了 PHP 实现计划任务的方法,包括其原理、具体实现方式以及在不同操作系统中的应用。通过详细示例和代码片段,帮助开发者理解和掌握如何高效地设置和管理定时任务。 ... [详细]
  • 本文介绍如何配置SecureCRT以正确显示Linux终端的颜色,并解决中文显示问题。通过简单的步骤设置,可以显著提升使用体验。 ... [详细]
  • 深入解析Hadoop的核心组件与工作原理
    本文详细介绍了Hadoop的三大核心组件:分布式文件系统HDFS、资源管理器YARN和分布式计算框架MapReduce。通过分析这些组件的工作机制,帮助读者更好地理解Hadoop的架构及其在大数据处理中的应用。 ... [详细]
  • 本文详细探讨了Java命令行参数的概念、使用方法及在实际编程中的应用,包括如何通过命令行传递参数给Java程序,以及如何在Java程序中解析这些参数。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • Ubuntu GamePack:专为游戏爱好者打造的Linux发行版
    随着Linux系统在游戏领域的应用越来越广泛,许多Linux用户开始寻求在自己的系统上畅玩游戏的方法。UALinux,一家致力于推广GNU/Linux使用的乌克兰公司,推出了基于Ubuntu 16.04的Ubuntu GamePack,旨在为Linux用户提供一个游戏友好型的操作环境。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • GNU GRUB(简称GRUB)是一个来自GNU项目的支持多启动的引导加载程序。它允许用户在同一台计算机上安装多个操作系统,并在启动时选择希望启动的系统。 ... [详细]
  • 最佳PHP源码加密工具推荐
    本文探讨了几款高效的PHP源码加密工具,旨在帮助开发者保护其代码免受未授权访问。文章不仅介绍了商业软件的选择,还提供了一些免费且实用的加密工具及其使用方法。 ... [详细]
  • addcslashes—以C语言风格使用反斜线转义字符串中的字符addslashes—使用反斜线引用字符串bin2hex—函数把包含数据的二进制字符串转换为十六进制值chop—rt ... [详细]
  • Shiro功能拓展:登录失败重试次数限制
    本文详细介绍了如何在Apache Shiro框架中实现对用户登录失败重试次数的限制,通过自定义密码匹配器来增强系统的安全性。该方法不仅能够有效防止暴力破解攻击,还能确保合法用户的账户安全。 ... [详细]
author-avatar
mobiledu2502852147
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有