开发过程中如果错误地使用类似于”rm -r /“这样的命令删除了自己写的代码和环境,而你又没有及时备份。那将是一件让人崩溃的事。很不幸,段子一样的事发生在了我身上。。。通过学习,总结出了以下防误删的方案:(文末附脚本下载,完成所有配置)
概要
- 新增开发用户
- 权限设置
3. safe-rm:更安全的rm工具
4. mv代替rm
5. alias设置
6. 回收站设置
1 新增用户
新增开发用户Dev。默认根据/etc/ske1建立Dev用户主目录/home/Dev。在主目录下建立两个文件夹:shells、Trash,以备后续使用
将新建的用户加入/etc/sudoers,使新用户能获取root权限执行命令
2 权限设置
设置开发用户主目录权限700(rwx------),其他用户不能进入该目录进行操作
设置回收站目录所属为root用户和root用户组,防止Dev用户删除回收站
3 使用safe-rm代替rm
Safe-rm 是一个工具,包装了rm命令,提供了一个黑名单列表,可以把重要的路径放在黑名单里。当企图删除该名单中的目录或者文件时会给出提示并不执行删除操作。
在/etc/profile中设置全局别名,alias rm='safe-rm'
将/home/Dev加入黑名单,这样root用户也不能删除开发用户主目录
4 mv 代替 rm
在Dev目录下,编写脚本rm-mv.sh代替rm命令
在~/.bashrc文件中设置别名:alias rm='sh /home/Dev/shells/rm-mv.sh';通过该脚本可将项目中删除的文件/文件夹mv到Trash文件夹中(项目完成清空回收站)
5 别名alias
/etc/profile下的全局别名:alias rm='safe-rm'; 防止错删文件夹
Dev用户bashrc下的局部别名:alias rm='sh /home/Dev/shells/rm-mv.sh'; 防止误删开发过程文件/文件夹,mv到Trash(Trash只能root用户删除)
6 配置脚本
适合ubuntu系统;默认用户:Dev,默认密码:321
下载地址:
链接:https://pan.baidu.com/s/16rxaieNbbENeXYNLeI5UlA
提取码:zw0o
备注:
及时备份!