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


推荐阅读
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了Linux系统中init进程的作用及其启动过程,解释了运行级别的概念,并提供了调整服务启动顺序的具体步骤和实例。通过了解这些内容,用户可以更好地管理系统的启动流程和服务配置。 ... [详细]
  • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 0626TP整理二(调试模式,空操作,跨控制器调用,跨方法跳转redirect(),框架语法,创建model模型)...
    一、调试模式(入口文件:index.php)define(APP_DEBUG,true);调试模式define(APP_DEBUG,FALSE);运行模 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
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社区 版权所有