On Чтв, 2005-12-22 at 22:18 +0300, Dmitriy Khanjin wrote: > По умолчанию вызывается непосредственно оболочка пользователя, однако, > при указании флага аргумента -, su вызывает оболочку регистрации в > системе. Это значит, что текущий рабочий каталог будет изменён в > домашний каталог нового пользователя и первый аргумент оболочки будет > иметь префикс -. Это поведение понятно и обрабатывается большинством > командных интерпретаторов. В случае вызова оболочки регистрации в > системе, любая команда, передаваемая посредством аргумента -c, будет > проигнорирована. Хм. У меня такого не написано. Скорее всего перевод не верный. su is used to become another user during a login session. Invoked without a username, su defaults to becoming the super user. The optional argument - may be used to provide an environment similiar to what the user would expect had the user logged in directly. Additional arguments may be provided after the username, in which case they are supplied to the user's login shell. In particular, an argument of -c will cause the next argument to be treated as a command by most command interpreters. The command will be executed by the shell specified in /etc/passwd for the target user. Кратко. Флаг - говорит, что вы получите окружение (environment) такое же как если бы залогинились напрямую. Аргументы после имени пользователя передаются напрямую командному интерпретатору. В частности, аргумент -c заставит shell интерпретировать последующий аргумент как команду. > Разве? > Я ж могу сказать su - -c mc и получить mc для рута. Конечно можете. Но надо будет только подтвердить что вы достойны быть рутом введя соответствующий пароль ;) Peter.