Skip to content

权限管理

chmod 命令

基本用法

bash
#!/bin/bash

# 修改文件权限
chmod 755 file.txt

递归修改权限

bash
#!/bin/bash

# 递归修改目录权限
chmod -R 755 directory

使用符号修改权限

bash
#!/bin/bash

# 添加执行权限
chmod +x file.txt

# 移除写权限
chmod -w file.txt

chown 命令

基本用法

bash
#!/bin/bash

# 修改文件所有者
chown user file.txt

# 修改文件所有者和组
chown user:group file.txt

递归修改所有者

bash
#!/bin/bash

# 递归修改目录所有者
chown -R user:group directory

chgrp 命令

基本用法

bash
#!/bin/bash

# 修改文件组
chgrp group file.txt

递归修改组

bash
#!/bin/bash

# 递归修改目录组
chgrp -R group directory

实用示例

示例1:修改文件权限

bash
#!/bin/bash

# 修改文件权限
chmod 644 file.txt

# 修改脚本权限
chmod 755 script.sh

示例2:修改文件所有者

bash
#!/bin/bash

# 修改文件所有者
chown user file.txt

# 修改文件所有者和组
chown user:group file.txt

示例3:递归修改权限

bash
#!/bin/bash

# 递归修改目录权限
chmod -R 755 directory

# 递归修改目录权限(仅目录)
find directory -type d -exec chmod 755 {} \;

# 递归修改文件权限(仅文件)
find directory -type f -exec chmod 644 {} \;

示例4:设置特殊权限

bash
#!/bin/bash

# 设置 SUID
chmod u+s file.txt

# 设置 SGID
chmod g+s directory

# 设置 Sticky Bit
chmod +t directory

最佳实践

1. 使用 chmod

bash
# 好的做法
chmod 644 file.txt

# 不好的做法
chmod 777 file.txt

2. 使用 chown

bash
# 好的做法
chown user:group file.txt

# 不好的做法
chown user file.txt
chgrp group file.txt

3. 使用 find

bash
# 好的做法
find directory -type d -exec chmod 755 {} \;

# 不好的做法
chmod -R 755 directory

总结

权限管理的关键点:

  1. chmod 命令:修改文件权限
  2. chown 命令:修改文件所有者
  3. chgrp 命令:修改文件组
  4. 实用示例:修改文件权限、修改文件所有者、递归修改权限、设置特殊权限
  5. 最佳实践:使用 chmod、使用 chown、使用 find

下一节我们将学习定时任务的使用。