首页主机资讯CentOS回收站如何权限设置

CentOS回收站如何权限设置

时间2025-11-26 14:06:04发布访客分类主机资讯浏览1042
导读:CentOS 回收站权限设置指南 一、权限设置总览 回收站目录建议放在用户家目录,如:~/.local/share/Trash/files(遵循 XDG 规范)或 ~/.trash。 权限推荐:仅所有者可读写执行,组与其他用户无任何权限,...

CentOS 回收站权限设置指南

一、权限设置总览

  • 回收站目录建议放在用户家目录,如:~/.local/share/Trash/files(遵循 XDG 规范)或 ~/.trash
  • 权限推荐:仅所有者可读写执行,组与其他用户无任何权限,即 700
  • 属主与属组:回收站目录及其内容应归属于执行删除操作的实际用户(UID)与其主组(GID),避免 root 删除后普通用户无法清理。
  • 安全底线:不要将回收站目录设置为 777;不要覆盖系统 /bin/rm 为脚本(会带来安全与维护性风险);如用脚本接管 rm,请使用别名而非替换二进制。

二、按实现方式的权限配置

  • 使用 XDG 规范目录(推荐)

    1. 创建目录并设权限
      mkdir -p ~/.local/share/Trash/{ files,info}
      chmod 700 ~/.local/share/Trash ~/.local/share/Trash/{ files,info}
    2. 确保属主正确(以实际用户执行)
      chown -R $USER:$USER ~/.local/share/Trash
    3. 说明:图形会话(如 GNOME)的“移动到回收站”会写入上述目录;命令行可配合 trash-cli 使用。上述目录结构与权限是常见且安全的做法。
  • 使用自定义脚本 + 别名(稳妥可控)

    1. 创建回收站目录
      mkdir -p ~/.trash
      chmod 700 ~/.trash
      chown $USER:$USER ~/.trash
    2. 示例脚本(~/bin/trash.sh):
      #!/bin/bash
      TRASH_DIR=“$HOME/.trash”
      mkdir -p “$TRASH_DIR”
      for f in “$@”; do
      [ -e “$f” ] || { echo “‘$f’ 不存在”; continue; }
      ts=$(date +%Y%m%d%H%M%S)
      mv -i “$f” “$TRASH_DIR/$(basename “$f”)-$ts”
      done
    3. 赋权与别名
      chmod +x ~/bin/trash.sh
      echo “alias rm=~/bin/trash.sh” > > ~/.bashrc
      source ~/.bashrc
    4. 说明:使用别名可避免覆盖系统 rm,配合 700 权限即可确保仅本人访问与清理。
  • 使用 trash-cli(更贴近桌面回收站语义)

    1. 安装
      sudo yum install -y trash-cli
    2. 使用与权限
    • 命令行删除:trash 文件路径
    • 查看:trash-list;还原:restore-trash;清空:trash-empty
    • 回收站目录默认仍位于 ~/.local/share/Trash/files~/.local/share/Trash/info,请按上节设置 700 与属主。
    1. 说明:桌面环境(如 GNOME)自带“移动到回收站”支持,命令行用 trash-cli 可统一管理。

三、多用户与共享场景

  • 原则:每个用户使用各自的回收站目录(如 /home//.local/share/Trash/home//.trash),权限均为 700,属主为相应用户。
  • 禁止共享回收站:不要创建全局可写的公共回收站(如 /tmp/.trash 777),这会导致越权访问与数据泄露。
  • root 与业务账号分离:root 的回收站应位于 /root/.local/share/Trash/root/.trash,权限 700,避免普通用户误删或被 root 回收站“污染”。
  • 如需集中清理,使用 sudo 以对应用户身份执行清理脚本,确保文件属主与权限不被破坏。

四、自动清理与保留策略

  • 按时间清理(示例:保留 30 天)
    find ~/.local/share/Trash/files -type f -mtime +30 -delete
    find ~/.local/share/Trash/info -type f -mtime +30 -delete
  • 定时任务(以相应用户执行)
    crontab -e
    0 2 * * * find ~/.local/share/Trash/files -type f -mtime +30 -delete
    0 2 * * * find ~/.local/share/Trash/info -type f -mtime +30 -delete
  • 说明:清理前确认目录权限为 700,避免误删他人文件;如使用脚本接管 rm,仍建议保留 -i 或交互确认,降低误删风险。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS回收站如何权限设置
本文地址: https://pptw.com/jishu/756676.html
如何分析CentOS Apache访问日志 centos xrender如何配置才合理

游客 回复需填写必要信息