Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > В скрипте прописать chown файлу


Автор: alexandra231525480 21.3.2007, 20:40
Здравствуйте!
Скрипт, выполняющийся от рута, создает/перезаписывает файл .txt. Скажите, пжлст, как в скрипте задать ему владельца и группу www:www?

Автор: amg 22.3.2007, 08:25
Код

my $user  = 'www';
my $group = 'www';
my $file  = 'file.txt';

my $uid = getpwnam $user  or warn "No user $user\n";
my $gid = getgrnam $group or warn "No group $group\n";

if (defined $uid and defined $gid and -f $file) {
  chown($uid, $gid, $file);
} else {
  warn "Can't chown $user:$group for $file\n";
}

Либо без проверок, одной строкой:
Код

chown scalar(getpwnam $user), scalar(getgrnam $group), $file;


Автор: alexandra231525480 22.3.2007, 12:11
ох.. проще в обратных кавычках написать smile)
Код

my $file='text.txt';
`chown www:www $file`;

Автор: amg 22.3.2007, 13:26
Цитата(alexandra231525480 @  22.3.2007,  12:11 Найти цитируемый пост)
ох.. проще в обратных кавычках написать
Проще то проще, но безопасность... Тем более, под рутом. Тогда уж system с несколькими аргументами.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)