您的位置:首页 > 其它

Mac OS X:自动登录的设置(Autologin Configuration)

2009-01-23 12:11 429 查看
OS X的自动登录的过程是这样的,OS X首先查看/Library/Preferences/com.apple.loginwindow.plist文件里面是否设置autoLoginUser,如果设置了而且是一个用户,那么系统从/etc/kcpassword文件中提取该用户的密码,然后自动登录。

要想设置自动登录的用户名使用下面命令:

defaults write /Library/Preferences/com.apple.loginwindow autoLoginWindow -string "root"

如何生成kcpassword文件呢?Apple没有提供官方的工具,下面有一个程序员自己开发的shell脚本文件。

#!/usr/bin/perl
use strict;
use warnings;
use Foundation;
#==============================================================================#
sub kcpassword_xor {
my ($pass) = @_;
### The magic 11 bytes - these are just repeated
# 0x7D 0x89 0x52 0x23 0xD2 0xBC 0xDD 0xEA 0xA3 0xB9 0x1F
my @key = qw( 125 137 82 35 210 188 221 234 163 185 31 );
my $key     = pack "C*", @key;
my $key_len = length $key;
for (my $n=0; $n<length($pass); $n+=$key_len) {
substr($pass,$n,$key_len) ^= $key;
}
return $pass;
}
#==============================================================================#
sub write_pass {
my ($enc) = @_;
my $file = '/etc/kcpassword';
open(my $kcp, '>', $file) || die;
print $kcp $enc;
close($kcp);
chmod(0600, $file);
}
#==============================================================================#
my $user = "root";
my $pass = "mysecretpassword";
my $enc  = kcpassword_xor($pass);
write_pass($enc);
exit 0;
#==============================================================================#


只要是把其中的$user和$pass两个变量换成自己的运行就好了。重新启动系统后,就会自动登录了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: