当前位置: 首页 > news >正文

权限管理命令

权限管理

一、权限配置

常用命令:chmod、chown、chgrp、umask

1、chmod

(1)、命令简介

chmod(Change Mode)是 Linux/Unix 系统中用于修改文件或目录权限的命令,控制**用户(User)、组(Group)、其他(Others)**对文件的访问权限(读、写、执行)。

(2)、命令选项清单

#命令语法:chmod [选项] 权限模式 文件/目录
#选项		说明
-R		递归修改目录及其子文件权限(常用于批量修改)。
-v		显示详细修改信息。
-c		仅显示被修改的文件信息。
#权限用3位数字表示,分别对应 用户(U)、组(G)、其他(O) 的权限组合:
4 = 读(r)
2 = 写(w)
1 = 执行(x)
0 = 无权限
#权限用符号模式
u:所有者(User)
g:所属组(Group)
o:其他用户(Others)
a:所有用户(All,默认)
#操作符:
+:添加权限
-:移除权限
=:直接设置权限

(3)、常用命令示例

#数字模式
chmod 755 file.txt
#符号模式
chmod u+x script.sh    # 给所有者添加执行权限
chmod go-w file.txt    # 移除组和其他用户的写权限
chmod a=rw file.txt    # 设置所有用户为读写权限(无执行)
#示例
chmod 644 config.conf   # 所有者读写,其他人只读
chmod +x backup.sh      # 给所有用户添加执行权限(等价于 a+x)
chmod -R 755 /var/www   # 递归设置目录及子文件为 755
chmod o-w secret.txt    # 禁止其他用户写入

2、chown

(1)、命令简介

chown(Change Owner)是 Linux/Unix 系统中用于修改**文件/目录的所有者(Owner)和所属组(Group)**的命令,通常需要 rootsudo 权限执行。

(2)、命令选项清单

#命令语法:chown [选项] 新所有者:新所属组 文件/目录
选项									说明
-R							递归修改目录及其子文件的所有者和组(常用于批量修改)。
-v							显示详细修改信息。
-c							仅显示被修改的文件信息。
--from=原所有者:原所属组		仅当文件当前所有者/组匹配时才修改(安全操作)。

(3)、常用命令示例

chown 新所有者 文件/目录
chown alice file.txt    # 将 file.txt 的所有者改为 alice
chown :新组名 文件/目录		#修改文件/目录组
chown :developers file.txt   # 将 file.txt 的所属组改为 developers
chown 新所有者:新组名 文件/目录
chown alice:developers file.txt  # 所有者改为 alice,组改为 developers
chown -R 新所有者:新组名 目录/
chown -R www-data:www-data /var/www   # 递归修改 /var/www 下所有文件

3、chgrp

(1)、命令简介

chgrp(Change Group)是 Linux/Unix 系统中专门用于修改**文件或目录的所属组(Group)**的命令,功能上等同于 chown :新组名,但更专注于组管理。

(2)、命令选项清单

#命令语法:chgrp [选项] 新组名 文件/目录
选项							说明
-R						递归修改目录及其子文件的所属组(批量操作时使用)。
-v						显示详细修改信息。
-c						仅显示被修改的文件信息。
--reference=参考文件		将目标文件的组设置为与参考文件相同(免去手动输入组名)。

(3)、常用命令示例

chgrp developers file.txt   # 将 file.txt 的组改为 developers
chgrp -R www-data /var/www  # 递归修改 /var/www 下所有文件的组为 www-data
chgrp --reference=source.txt target.txt  # 将 target.txt 的组设为与 source.txt 相同

4、umask

(1)、命令简介

umask(User File Creation Mask)是 Linux/Unix 系统中用于控制新建文件或目录的默认权限的机制。它通过“掩码”决定文件创建时的初始权限,是系统安全和权限管理的重要工具。

  • 作用:定义用户创建文件或目录时的默认权限

  • 权限计算

    • 文件默认权限 = 666 - umask

    • 目录默认权限 = 777 - umask

  • 计算原理:

    • umask 是“掩码”:它屏蔽(禁止)对应的权限位。

      • umask 022 表示:

        • 屏蔽所属组 权限(2)。

        • 屏蔽其他用户 权限(2)。

  • 示例计算

    • 文件默认权限:666 - 022 = 644rw-r–r–)。

    • 目录默认权限:777 - 022 = 755rwxr-xr-x)。

  • 常见默认值

    • 普通用户:umask 002 → 文件 664rw-rw-r–),目录 775rwxrwxr-x)。

    • root用户:umask 022 → 文件 644rw-r–r–),目录 755rwxr-xr-x)。

(2)、命令选项清单

#命令语法:umask [-p] [-S] [mode]
选项					说明
-S			以 符号形式(rwx) 显示当前的 umask 值(更易读)。
-p			以可被重新执行的格式输出(适合写入配置文件如 ~/.bashrc)。
mode		直接设置新的 umask 值(如 umask 022)。

(3)、常用命令示例

#查看当前 umask
root@master:~# umask	# 显示数字格式(如 0022)
0022      
root@master:~# umask -S   # 显示符号格式(如 u=rwx,g=rx,o=rx)
u=rwx,g=rx,o=rx
#临时修改(仅当前会话有效)
root@master:/data# umask 002   # 设置为 002(文件权限变为 664,目录 775)
root@master:/data# touch test
root@master:/data# mkdir demo
root@master:/data# ls -al    
total 16
drwxr-xr-x  4 root root 4096 Jul 21 15:41  .
drwxr-xr-x 21 root root 4096 Jul 18 15:24  ..
drwxrwxr-x  2 root root 4096 Jul 21 15:41  demo #目录权限为775
-rw-rw-r--  1 root root    0 Jul 21 15:40  test #文件权限为664
#永久修改(对所有会话生效)
#编辑用户配置文件(如 ~/.bashrc 或 ~/.zshrc):
echo "umask 002" >> ~/.bashrc   # 对当前用户生效
source ~/.bashrc                # 立即加载配置
#系统全局配置(需 root 权限):
#修改 /etc/profile 或 /etc/bashrc。
echo "umask 002" >> /etc/profile   # 对当前用户生效
source /etc/profile                # 立即加载配置

二、特殊权限

**常用命令:**sudo、su

1、sudo

(1)、命令简介

sudo(SuperUser DO)是 Linux/Unix 系统中允许普通用户以超级用户(root)或其他用户权限执行命令的工具,是系统管理的核心命令之一。

(2)、命令选项清单

#命令语法:sudo [选项] 命令
选项				作用
-u 用户		以指定用户身份执行(默认 root)
-i			切换到 root 环境(加载配置文件)
-s			启动 root 的 Shell(不加载配置)
-l			列出当前用户可执行的 sudo 命令
-v			刷新 sudo 认证(延长超时时间)
-k			清除 sudo 认证(立即失效)

(3)、常用命令示例

#以 root 权限执行命令
sudo apt update           # 使用 root 权限更新软件包列表
#以其他用户身份执行命令
sudo -u alice whoami      # 以用户 alice 的身份执行 whoami
#切换到 root 环境
sudo -i   # 登录为 root(加载 /root/.bashrc 等配置)
sudo -s   # 启动 root 的 Shell(不加载配置)
#检查 sudo 权限
user@master:~$ sudo -l   # 显示当前用户可执行的 sudo 命令
Matching Defaults entries for kali on master:env_reset, mail_badpass,secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin,use_ptyUser kali may run the following commands on master:(ALL : ALL) ALL #表示可以执行全部的root命令
#非root用户配置sudo方式,sudo的权限规则存储在 /etc/sudoers 文件中,需通过 visudo 命令编辑(避免语法错误):
sudo visudo   # 安全编辑 sudoers 文件
#允许用户执行所有命令:
alice ALL=(ALL:ALL) ALL
#允许组执行特定命令:
alice ALL=(root) /usr/bin/apt, /usr/bin/systemctl
#用户免输入用户密码执行sudo命令(谨慎使用):
alice ALL=(ALL) NOPASSWD: ALL

2、su

(1)、命令简介

su(Switch User)是 Linux/Unix 系统中用于切换用户身份的命令,通常用于切换到 root 用户或其他用户账户。与 sudo 不同,su 需要目标用户的密码,且默认会启动一个新的 Shell 会话。

(2)、命令选项清单

#命令语法:su [选项] [目标用户名]
选项					说明
- 或 -l		完全模拟目标用户登录(加载环境变量)
-c			以目标用户身份执行单条命令后退出
-s			指定要启动的 Shell(如 /bin/bash)
-m			保留当前环境变量(不推荐)

(3)、常用命令示例

#切换到 root 用户
su -          # 切换到 root 并加载环境变量(推荐)
su - root     # 同上,显式指定 root
su root       # 切换到 root,但不加载环境变量(可能导致路径错误)
#切换到其他用户
su - alice    # 切换到用户 alice 并加载其环境
#以目标用户执行单条命令
su -c "whoami" root   # 以 root 身份执行 whoami 后退出
#退出当前用户会话
exit   # 或按 Ctrl+D,返回原用户
http://www.lryc.cn/news/609896.html

相关文章:

  • 【Unity3D】Ctrl+Shift+P暂停快捷键(Unity键盘快捷键)用不了问题快捷键无法使用问题
  • 大型软件系统的主要指标是什么?
  • 抛出自定义异常
  • Linux 进程基础(三):进程是什么、进程的创建与查看
  • 文本转语音(TTS)脚本
  • 基于TurboID的邻近标记质谱(PL-MS)实验指南:从质粒构建到质谱鉴定
  • 【嵌入式电机控制#24】BLDC:霍尔测速(高难度,重理解)
  • 聊聊IT行业初创团队质量管理前期准备
  • 十二、请求响应-请求:数组参数和集合参数
  • 编码器-解码器架构:从原理到实践
  • 压缩与归档命令
  • Linux 逻辑卷管理
  • Javascript面试题及详细答案150道之(046-060)
  • Redis之Hash和List类型常用命令
  • Dubbo 3.x源码(32)—Dubbo Provider处理服务调用请求源码
  • 《算法导论》第 1 章 - 算法在计算中的作用
  • Java开发时出现的问题---语言特性与基础机制陷阱
  • 从HTTP到WebSocket:打造极速实时通讯体验
  • 安全扫描:目标主机支持RSA密钥交换问题
  • 国产化低代码平台如何筑牢企业数字化安全底座
  • 消防器材检测数据集介绍-9,600 张图片 智慧安防系统 建筑施工安全监管 AI 消防巡检机器人 自动审核系统 公共场所安全监测
  • Solidity全局变量与安全实践指南
  • [论文阅读] 人工智能 + 教学 | 从代码到职业:用机器学习预测竞赛程序员的就业潜力
  • 安全扫描:目标使用过期的TLS1.0 版协议问题
  • 【乐企板式文件】不动产销售类发票已支持
  • MySQL三大日志详解(binlog、undo log、redo log)
  • 赋能未来:数字孪生驱动能源系统智能化升级
  • 【项目实践】在系统接入天气api,根据当前天气提醒,做好plan
  • Linux(centos)安全狗
  • 【芯片设计专用执行单元:PWM如何重塑能源与智能控制】