LINUX.ORG.RU

Конечной целью данное извращение имеет следующий результат: все процессы-потомки должны быть запущены от другого пользователя, чем начальный процесс.

Отличная тема! Можно я запущу пару своих программ от твоего имени и, как следствие, немного похозяйничаю в твоей домашней директории? :D

Manhunt ★★★★★
()
Ответ на: комментарий от beastie

Составляя команду типа

sudo kdesudo -u blank sudo setuid 1000 firefox
(только не критикуйте) я четко понял, что горожу костыли. Я объясню ситуацию, предложите, пожалуйста, адекватное решение...

Итак. Есть Firefox, и с ним есть две проблемы. 1-ая: я использую Скайп и не хочу, чтобы он читал Огнелисов профиль. 2-ая: у меня замечательно настроены цвета в системе, но с цветами многих сайтов они не гармонизируют, а галочка «использовать системные цвета» ничего не меняет. Вообще, никакого решения второй проблемы в Фаерфоксе я не нашел (даже смена темы не помогает, стоит ли говорить о настройках цвета в огнелисе?). И вот, я решил создать отдельного пользователя и пускать Огнелиса от него. Вроде бы, все хоршо, решает разом две проблемы - и с цветами, и со Скайпом. НО! Все процессы-дети Фаерфокса (как, например, открытие файла определенной программой сразу после загрузки) так же запускаются от второго пользователя, если они уже были запущены - возникает дубль, настройки их так же не читаются, в общем, ужасы сплошные...

Помогите, пожалуйста, советом.

Valdor ★★
() автор топика
Ответ на: комментарий от router

Ещё в ядре linux есть механизм capabilities. Если ПО его поддерживает, оно после chown из-под рута в обычного пользователя может оставить себе привилегию CAP_CHOWN, например.

router ★★★★★
()
Ответ на: комментарий от Valdor

Итак. Есть Firefox, и с ним есть две проблемы. 1-ая: я использую Скайп и не хочу, чтобы он читал Огнелисов профиль.

selinux, apparmor или банальный chroot

router ★★★★★
()
Ответ на: комментарий от Valdor

1-ая: я использую Скайп и не хочу, чтобы он читал Огнелисов профиль

запускать из под другого юзера(su, sudo) или использовать любую систему мандатного контроля доступа, как уже советовали выше

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от router

Вторая проблема волнует намного сильнее.

Valdor ★★
() автор топика
Ответ на: комментарий от Valdor

setuid/setgid — это сишные функции.

В твоём случае:

xhost +
sudo -u nobody firefox

И волки сыты, и овцы целы, и постуху вечная память.

beastie ★★★★★
()
Ответ на: комментарий от beastie

Это решение почти подходит, благодарю! Изначально фаерфокс не запускался, ибо права. Я дал каталогам .mozilla, .pulse ну и еще по мелочи -rwxrwxrwx и все заработало. Тревожит лишь вот что- в консоль идут ошибки:

Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.

(firefox:8853): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Failed to connect to socket /tmp/dbus-ZuDYpZd7F3: В соединении отказано
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
QFile::remove: Empty or null file name
KGlobal::locale::Warning your global KLocale is being recreated with a valid main component instead of a fake component, this usually means you tried to call i18n related functions before your main component was created. You should not do that since it most likely will not work 
trying to create local folder /home/user/.kde/cache-localhost: Отказано в доступе
QFile::remove: Empty or null file name
kmozillahelper(8884)/KSharedDataCache KSharedDataCache::Private::mapSharedMemory: Failed to establish shared memory mapping, will fallback to private memory -- memory usage will increase 
kmozillahelper(8884)/kdeui (kdelibs): Session bus not found 
To circumvent this problem try the following command (with Linux and bash) 
export $(dbus-launch) 
KCrash: Application 'kmozillahelper' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
Warning: connect() failed: : Отказано в доступе
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi directly
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
QFile::remove: Empty or null file name
trying to create local folder /home/user/.kde/cache-localhost: Отказано в доступе
QFile::remove: Empty or null file name
drkonqi(8890)/KSharedDataCache KSharedDataCache::Private::mapSharedMemory: Failed to establish shared memory mapping, will fallback to private memory -- memory usage will increase 
drkonqi(8890)/kdeui (kdelibs): Session bus not found 
To circumvent this problem try the following command (with Linux and bash) 
export $(dbus-launch) 
Конкретно меня волнует отказ в доступе в /home/user/.kde/cache-localhost (это симлинк)(я дал правильные права тому, на что он указывает, но проблема не пропала) и то, что со всеми этими ошибками, он очень долго запускается. Вопрос - возможно ли запретить одному приложению (фаерфоксу) доступ к одному конкретному файлу или каталогу (где цвета)? Я пробовал АппАрмор, но почему-то не сработало.

Valdor ★★
() автор топика

Можно даже еще проще, без su и sudo:

HOME=~/newdir  firefox
и файрфокс будет думать, что домашняя директория у него newdir

TuxR ★★★★
()
Ответ на: комментарий от TuxR

Как я сам не додумался? Замечателньное решение, все работает! Спасибо!

Valdor ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.