系统管理员工具包: 更改 UID 和 GID
2008-11-11 08:14:45 来源:WEB开发网有时,手动更改时需要太多的工作。这时可以使用脚本帮您执行此任务。
脚本
没有人愿意一次一个地更改 40,000 个文件所有者。较好的做法是编写一个脚本来查找所有文件——还可以使用脚本帮您修复权限。
搜索整个文件系统可能非常耗时。Perl 是一个很不错的工具,您可以使用该工具快速搜索整个文件系统。Perl 附带一个 find2perl 命令,该命令可以将常规的 AIX 查找命令转换为 Perl 代码。此代码搜索文件系统的速度要比常规的 UNIX 查找命令快:
$find2perl / ( -fstype jfs -o -fstype jfs2 ) -nouser -print > find_owner_script.pl
$find2perl / ( -fstype jfs -o -fstype jfs2 ) -nogroup -print > find_group_script.pl
如果系统中没有 Perl,则可以使用常规的查找命令:
$find / ( -fstype jfs -o -fstype jfs2 ) -nouser -print > find_owner_script.txt
$find / ( -fstype jfs -o -fstype jfs2 ) -nogroup -print > find_group_script.txt
现在您有一个使用 Perl 自动编写的脚本。此脚本可以快速找到所有无主文件并将其输出到屏幕上。如果愿意,还可以修改脚本将输出内容写入到一个文件。
现在,您需要确定应该是什么文件权限,然后更改它们,如以下部分所示。
所有者脚本
您可以在命令行上编写以下代码,或者将代码复制到脚本:
$ for file in $(cat output_from_find_owner_script.pl)
do
print "Old permissions: $(ls –l $file)" >> /tmp/UID_LOG
chown $new_owner $file
print "New permissions: $(ls –l $file) >> /tmp/UID_LOG
done
更多精彩
赞助商链接