[devel] usermod -m -d ...

Timur Batyrshin =?iso-8859-1?q?batyrshin_=CE=C1_ieml=2Eru?=
Вт Сен 16 11:14:15 MSD 2008


Случайно заглянул в исходники usermod и возник такой вопрос:


static void move_home (void)
{
. . .
      if (errno == EXDEV) {
        if (mkdir
              (user_newhome, sb.st_mode & 0777)) {
                 fprintf (stderr,
                          _
                         ("%s: can't create %s\n"),
                         Prog, user_newhome);
        }

        if (chown (user_newhome,
                   sb.st_uid, sb.st_gid)) {
          fprintf (stderr,
                   _("%s: can't chown %s\n"),
                   Prog, user_newhome);
          rmdir (user_newhome);
          fail_exit (E_HOMEDIR);
        }
. . .
}

Если не удается создать каталог user_newhome выводится ошибка
об этом, но аварийный выход не осуществляется. Это так и задумано?

Ведь если указанный каталог не существует (проверка на это проходит
чуть раньше) и его не удается создать, то смысла в chown и последующих
операциях нет.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080916/eb2cfde7/attachment-0002.bin>


Подробная информация о списке рассылки Devel