权限与属性命令

📅 发布时间:2026/7/17 10:07:38 👁️ 浏览次数:
权限与属性命令
目录一、为什么需要权限管理二、chgrp —— 改变文件所属用户组注意事项示例三、chown —— 改变文件所有者示例1只改所有者示例2同时改所有者和组常见应用场景四、chmod —— 改变文件权限1. 数字法修改权限权限对应的数字命令格式示例2. 符号法修改权限身份字母操作符权限字母命令格式示例1给特定身份添加权限示例2使用 设置精确权限示例3组合使用五、补充知识关于 root 用户如果你想用 root 用户登录不推荐但可以了解六、权限命令总结实战小练习在Linux系统中一切都是文件每个文件都有相应的访问权限用以保护系统的安全性和数据的私密性。理解并掌握权限管理命令是成为合格Linux用户和管理员的必修课。本节将详细介绍三个最常用的权限与属性命令chgrp、chown、chmod并补充关于root用户的设置方法。一、为什么需要权限管理Linux是一个多用户、多任务的操作系统多个用户可以同时使用同一台机器。为了保证不同用户的文件不被他人随意篡改或查看Linux设计了严格的权限控制机制。每个文件或目录都有所有者owner文件属于哪个用户所属组group文件属于哪个用户组其他用户others既不是所有者也不在所属组里的用户每个文件对这三类身份分别定义了读r、写w、执行x三种权限。使用ls -l命令可以查看文件的权限信息例如bash -rw-r--r-- 1 book book 1024 7月 27 15:00 example.txt第1个字符-表示文件类型-为普通文件d为目录后面9个字符rw-r--r--表示权限前三位rw-是所有者权限中间三位r--是所属组权限后三位r--是其他用户权限接着的数字1是硬链接数第一个book是所有者第二个book是所属组接下来我们学习如何修改这些属性。二、chgrp —— 改变文件所属用户组英文来源changegroup功能修改文件或目录的所属用户组命令格式chgrp [-R] 组名 文件或目录常用选项-R递归修改将目录及其内部所有文件的所属组都改为指定组注意事项指定的组名必须在/etc/group文件中存在否则会报错。只有文件所有者和root用户才能更改所属组。示例bash $ ls -l install.log -rw-r--r-- 1 book book 12345 7月 27 15:00 install.log $ chgrp hy install.log $ ls -l install.log -rw-r--r-- 1 book hy 12345 7月 27 15:00 install.log将install.log文件的所属组从book改为hy。三、chown —— 改变文件所有者英文来源changeowner功能修改文件或目录的所有者也可以同时修改所属组命令格式只改所有者chown [-R] 用户名 文件或目录同时改所有者和组chown [-R] 用户名:组名 文件或目录常用选项-R递归修改示例1只改所有者bash $ sudo chown bin install.log $ ls -l install.log -rw-r--r-- 1 bin hy 12345 7月 27 15:00 install.log将所有者改为bin注意需要sudo权限因为一般用户不能将文件所有者改为其他用户。示例2同时改所有者和组bash $ sudo chown book:book install.log $ ls -l install.log -rw-r--r-- 1 book book 12345 7月 27 15:00 install.log将所有者改为book所属组也改为book。常见应用场景复制文件时复制行为会保留原文件的所有者和组但新文件的所有者通常是执行复制操作的用户。如果希望新文件与目标目录下的其他文件保持一致就需要用chown进行调整。四、chmod —— 改变文件权限chmod是最常用的权限修改命令它有两种设置方式数字法和符号法。1. 数字法修改权限权限对应的数字r读4w写2x执行1-无权限0每一类身份所有者、所属组、其他用户的权限数字为三者之和。例如rwx 421 7rw- 420 6r-x 401 5r-- 400 4--- 000 0命令格式bash chmod [-R] 三位数字 文件或目录三位数字分别代表所有者权限、所属组权限、其他用户权限。示例bash $ chmod 777 .bashrc # 所有人拥有读、写、执行权限危险一般不这样设置 $ chmod 644 .bashrc # 所有者可读写6所属组和其他用户只读4 $ chmod 755 script.sh # 所有者可读写执行7组和其他用户可读执行52. 符号法修改权限符号法使用字母代表身份和操作更加直观。身份字母u所有者userg所属组groupo其他用户othera所有人all即 ugo操作符增加权限-去除权限设置精确权限覆盖原有权限权限字母r读w写x执行命令格式bash chmod [身份][操作符][权限] 文件或目录可以组合多个设置用逗号分隔但不要加空格。示例1给特定身份添加权限bash $ chmod ux hello # 给所有者增加执行权限 $ chmod g-w hello # 给所属组去除写权限 $ chmod or hello # 给其他用户增加读权限 $ chmod ax hello # 给所有人增加执行权限示例2使用设置精确权限bash $ chmod urwx,gorx hello # 所有者权限为rwx组和其他用户权限为rx即755示例3组合使用bash $ chmod ax hello # 所有人增加执行权限 $ chmod a-x hello # 所有人去除执行权限符号法的好处是可以只修改某类身份的某个权限而不影响其他权限。五、补充知识关于 root 用户在 Ubuntu 系统中默认情况下root 用户没有密码无法直接登录。日常操作时如果遇到权限不足的情况可以在命令前加上sudo来临时获得 root 权限例如bash $ sudo ps -a输入当前用户的密码不是 root 密码即可执行。如果你想用 root 用户登录不推荐但可以了解如果需要切换到 root 用户可以先给 root 设置密码然后使用su切换设置 root 密码需要当前用户有 sudo 权限bash $ sudo passwd root [sudo] password for book: 输入 book 用户的密码 Enter new UNIX password: 输入新的 root 密码两次切换到 root 用户bash $ su root Password: 输入刚才设置的 root 密码 root100ask:/home/book# 提示符变为 #表示现在是 root切换回普通用户bash # su book注意日常开发建议使用普通用户 sudo避免误操作导致系统损坏。六、权限命令总结命令功能常用选项示例chgrp改变所属组-Rchgrp hy filechown改变所有者和/或组-Rchown book:book filechmod改变权限-Rchmod 755 file或chmod ux file实战小练习创建一个文件test.txt查看其默认权限。用数字法将其权限改为rw-r--r--即644。用符号法给所有者增加执行权限。将文件所有者改为另一个用户需要sudo。将文件所属组改为staff若存在。通过反复练习你会逐渐熟悉这些命令的使用。权限管理是Linux安全的基础务必掌握。