Linux 回收站权限设置指南
一 标准用户回收站目录与权限要点
mkdir -p ~/.local/share/Trash/{files,info}
chmod 700 ~/.local/share/Trash
chmod 700 ~/.local/share/Trash/{files,info}
sudo groupadd -f trash_users
sudo usermod -aG trash_users "$USER"
chgrp -R trash_users ~/.local/share/Trash
chmod 770 ~/.local/share/Trash
chmod 770 ~/.local/share/Trash/{files,info}
ls -ld ~/.local/share/Trash ~/.local/share/Trash/{files,info}
期望类似:drwx------ 或 drwxrwx—。二 多用户或系统级共享回收站方案
sudo mkdir -p /shared/Trash/{files,info}
sudo chown root:trash_users /shared/Trash
sudo chmod 770 /shared/Trash
sudo chmod 770 /shared/Trash/{files,info}
sudo setfacl -d -m g:trash_users:rwx /shared/Trash
说明:使用 ACL 默认 ACL(-d) 可确保在该目录下新建的文件/子目录自动继承组写权限,便于多用户协作与后续维护。必要时为目录设置 setgid(如 chmod g+s /shared/Trash)以让新建对象继承组。三 使用 ACL 进行细粒度控制
# 授予用户 alice 对回收站完全控制
setfacl -m u:alice:rwx ~/.local/share/Trash
# 授予组 trash_users 读写执行
setfacl -m g:trash_users:rwx ~/.local/share/Trash
# 移除其他用户的所有权限
setfacl -m o::- ~/.local/share/Trash
# 为新创建的文件/目录设置默认 ACL(继承)
setfacl -d -m u:alice:rwx ~/.local/share/Trash
setfacl -d -m g:trash_users:rwx ~/.local/share/Trash
setfacl -d -m o::- ~/.local/share/Trash
getfacl ~/.local/share/Trash
四 故障排查与系统策略
ls -ld ~/.local/share/Trash ~/.local/share/Trash/{files,info}
rm -rf ~/.local/share/Trash/*
ls -Z ~/.local/share/Trashchcon -R -u system_u -t user_home_t ~/.local/share/Trashsemanage fcontext 做持久化策略(需安装并启用 policycoreutils)。不熟悉 SELinux 时请先在测试环境验证。ls -ld/getfacl 复核。