热门标签 | 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/


推荐阅读
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • MongoDB集群配置:副本集与分片详解
    本文详细介绍了如何在MongoDB中配置副本集(Replica Sets)和分片(Sharding),并提供了具体的步骤和命令,帮助读者理解并实现高可用性和水平扩展的MongoDB集群。 ... [详细]
  • 在维护公司项目时,发现按下手机的某个物理按键后会激活相应的服务,并在屏幕上模拟点击特定坐标点。本文详细介绍了如何使用ADB Shell Input命令来模拟各种输入事件,包括滑动、按键和点击等。 ... [详细]
  • 本文由瀚高PG实验室撰写,详细介绍了如何在PostgreSQL中创建、管理和删除模式。文章涵盖了创建模式的基本命令、public模式的特性、权限设置以及通过角色对象简化操作的方法。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
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社区 版权所有