Титла: Запазване на environment variable при sudo su - Публикувано от: synner в Sep 28, 2017, 14:29 Здравейте, банда.
User 'jeko' се логва през SSH на даден сървър. В неговия environment има set-ната променлива KEYHOLDER=jeko. jeko изпълнява 'sudo su -' и става root, но KEYHOLDER вече не е дефинирана/празна. Как да запазя KEYHOLDER при изпълнение на 'sudo su -'? В /etc/sudoers вече имам: Цитат Defaults env_reset Пробвах различни варианти намерени в Google/unix.stackexchange.com, но нищо не ми сработва...? Help?!? :'( Титла: Re: Запазване на environment variable при sudo su - Публикувано от: ddantgwyn в Sep 28, 2017, 15:01 Здравейте, банда. А какъв е резултата от употребата само на su -- без тире. Имам някакви спомени, че тогава запазваше променливите на средата, дефинирани за потребителя, докато тирето указваше да се използват тези за root. Но имай предвид, че може и да греша. Титла: Re: Запазване на environment variable при sudo su - Публикувано от: synner в Sep 28, 2017, 15:12 ddantgwyn, ако изпълня само 'sudo su' тогава се запазва променливата KEYHOLDER.
Обаче при 'sudo su' се зарежда само .bashrc, а при 'sudo su -' се зарежда всичко /etc/profile, .profile and .bashrc, което е за предпочитане... Source @ AskUbuntu ($2) Има ли как да стане с тирето? P.S. Дистрибуциина, на които го тествам това са Ubuntu 16.04.2 LTS и Debian 8.8 (Jessie). Титла: Re: Запазване на environment variable при sudo su - Публикувано от: remotexx в Sep 28, 2017, 16:10 Колега без тирето не ти зарежда профила на стария потребител защото той вече е зареден, а с тирето зарежда профила на новия потребител - така е по дизайн.
Като искаш това нещо да го има и под руут има два начина 1. Сетваш го за постоянно и под руут, keyholder=jeko 2. По надолу в скритпа или на ръка ако го пускаш ръчно си я експортираш временно т.е. докато то трае сесията с тоя потребител или не я ънсетваш отново ръчно. |