From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <3DD9CA15.4030106@fioc.kz> Date: Tue, 19 Nov 2002 11:20:21 +0600 From: Ilya Palagin User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020624 X-Accept-Language: en-us, en MIME-Version: 1.0 To: sisyphus@altlinux.ru Subject: Re: [sisyphus] sudo + user local = secure? References: <003701c28f83$40243e40$0401a8c0@tema04> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Sender: sisyphus-admin@altlinux.ru Errors-To: sisyphus-admin@altlinux.ru X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: sisyphus@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: Anton V. Denisov wrote: > Приветствую всех. > > Уже много раз обсуждалось и объяснялось по каким соображениям у root'а > используется POSIX локаль, также много раз говорилось о полезности > использования sudo для выполнения каких-либо действий с правами > суперпользователя. Но вот чего я так и не могу понять, так это почему при > вызове sudo все переменные окружения, описывающме локаль, остаются > пользовательскими? Получается мы сами нарушаем использование POSIX локали > при > работе с привелегиями суперпользователя. Или я не понимаю тонкостей работы > sudo? Прошу разъяснений по этому вопросу от более опытных товарищей. > Это делается в целях безопасности. man - лучший товарищ: sudo tries to be safe when executing external commands. Variables that control how dynamic loading and binding is done can be used to subvert the program that sudo runs. To combat this the LD_*, _RLD_*, SHLIB_PATH (HP-UX only), and LIBPATH (AIX only) environment variables are removed from the environment passed on to all com- mands executed. sudo will also remove the IFS, ENV, BASH_ENV, KRB_CONF, KRB- CONFDIR, KRBTKFILE, KRB5_CONFIG, LOCALDOMAIN, RES_OPTIONS, HOSTALIASES, NLSPATH, PATH_LOCALE, TERMINFO, TERMINFO_DIRS and TERMPATH variables as they too can pose a threat. If the TERMCAP variable is set and is a pathname, it too is ignored. Additionally, if the LC_* or LANGUAGE variables contain the / or % characters, they are ignored. If sudo has been compiled with SecurID support, the VAR_ACE, USR_ACE and DLC_ACE variables are cleared as well. The list of environment variables that sudo clears is contained in the output of sudo -V when run as root.