如何创建一个bash脚本,如果用户被删除,该脚本将删除目录内容?假设我有sizeof(treenode_t)
和一些名为user1
的文件。当删除somedata
时,我想编写将删除文件somedata
的脚本。
我正在尝试创建将在其中循环的bash文件。到目前为止,我提出了:
user1
答案 0 :(得分:1)
您可能正在寻找-r
的{{1}}选项
来自man page:
userdel
用户主目录中的文件将与主目录本身和用户的邮件假脱机一起删除。 必须手动搜索和删除位于其他文件系统中的文件。 邮件假脱机由
-r, --remove
文件中的MAIL_DIR
变量定义。
请注意,用户可能会在其主目录的 之外创建文件,这些文件在删除用户后很难跟踪。
答案 1 :(得分:1)
用户被删除后,没有"用户"找到那个名字。但find
实用程序有一个选项 -nouser
可以提供帮助:
如果文件属于用户ID,则主要应评估为true,对于该用户ID,POSIX.1-2008(或等效的)系统接口卷中定义的getpwuid()函数返回NULL。
要使用它,首先只列出无主文件(以验证这是你想要做的):
find / -nouser
或(大多数实现,但不在POSIX中):
find / -nouser -ls
如果列表找不到意外文件,请继续删除它们:
find / -nouser -exec rm -rf {}+
答案 2 :(得分:0)
My version of deluser
附带--remove-all-files
选项。
该选项将扫描所有文件系统以查找用户拥有的文件并删除它们。