WEB开发网
开发学院操作系统Linux/Unix 系统管理员工具包: 更改 UID 和 GID 阅读

系统管理员工具包: 更改 UID 和 GID

 2008-11-11 08:14:45 来源:WEB开发网   
核心提示: 有时,手动更改时需要太多的工作,系统管理员工具包: 更改 UID 和 GID(6),这时可以使用脚本帮您执行此任务,脚本没有人愿意一次一个地更改 40,000 个文件所有者,然后更改它们,如以下部分所示,较好的做法是编写一个脚本来查找所有文件——还可以使用脚本帮您修

有时,手动更改时需要太多的工作。这时可以使用脚本帮您执行此任务。

脚本

没有人愿意一次一个地更改 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

上一页  1 2 3 4 5 6 7  下一页

Tags:系统 管理员 工具包

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接