Вопрос о chroot

use:

umask 007

в .bashrc пользователей, принадлежащих к группе.

Эта маска дает разрешения по умолчанию для 770 для новых каталогов и 660 для новых файлов, созданных пользователи

Пользовательский root может получить доступ ко всему файлу, но если вы хотите получить доступ к корневому файлу от пользователей, вам потребуется ACL

3
задан 4 May 2017 в 14:45

4 ответа

Как я знаю: chroot означает изменение root.

chroot в Unix-подобных операционных системах - это операция, которая изменяет кажущуюся корневую директорию для текущего текущего процесса и его дочерних элементов. [отсюда]

Вы меняете корень своей операционной системы; Таким образом, ваша система (A) все еще запускает все, что вы видите, является частью вашей запущенной системы, и вы не можете просто отключить свои занятые ресурсы (блокировать устройства).

Также вы меняете свой корень на (B), не способен делать какие-либо вещи без помощи А. В качестве примера предположим, что вы использовали команду типа mount --bind /xxx /mnt/xxx для связывания путей, таких как /proc или /dev, как часть процесса chroot; Эти пути управляются вашей операционной системой (A) и необходимы для chrooted среды (B).

Вы просто не можете делать то, что вы делаете.

Как говорит Википедия, использование chroot:

Тестирование и разработка Контроль зависимостей. Восстановление совместимости. Привилегированное разделение

Чтобы запустить графическую программу из вашего chrooted окружающая среда (B внутри A); Вы должны разрешить доступ к запущенному X.

Out out of chroot environment run (открыть другой терминал):

xhost +local:
echo $DISPLAY

Затем экспортируйте то, что вы получаете как результат в chroot environment:

export DISPLAY=[output of above command]

Теперь вы должны иметь возможность запускать графические приложения.

Википедия

[d24 ] Я не могу понять, почему вы это делаете, просто загрузитесь в живой диск, примените свои изменения, chroot к вашим другим машинам, чтобы исправить что-либо, если это необходимо. затем перезагрузите и используйте свои системы.

2
ответ дан 22 May 2018 в 22:57
  • 1
    Спасибо за ваш очень полезный ответ. Вы также отвечаете на графический аспект, что отлично. Мое намерение состояло в том, чтобы запустить полный рабочий стол, а не запускать удаленный X (который, как я понимаю, является тем же принципом, что и приложение X с помощью «ssh -X»), но я вижу, что это не сработает. Что касается того, почему это просто отличный способ переключить исполнение на другую установку, например, переключиться на работу. Только немного более удобно, как перезагрузка, но больше всего технически очень изящна. Питти, что это не сработает. – CatMan 4 May 2017 в 17:50
  • 2
    Следующей лучшей альтернативой было бы установить новый раздел в вашей операционной системе и тем самым расширить дисковое пространство. – WillemK 4 May 2017 в 20:00

Как я знаю: chroot означает изменение root.

chroot в Unix-подобных операционных системах - это операция, которая изменяет кажущуюся корневую директорию для текущего текущего процесса и его дочерних элементов. [отсюда]

Вы меняете корень своей операционной системы; Таким образом, ваша система (A) все еще запускает все, что вы видите, является частью вашей запущенной системы, и вы не можете просто отключить свои занятые ресурсы (блокировать устройства).

Также вы меняете свой корень на (B), не способен делать какие-либо вещи без помощи А. В качестве примера предположим, что вы использовали команду типа mount --bind /xxx /mnt/xxx для связывания путей, таких как /proc или /dev, как часть процесса chroot; Эти пути управляются вашей операционной системой (A) и необходимы для chrooted среды (B).

Вы просто не можете делать то, что вы делаете.

Как говорит Википедия, использование chroot:

Тестирование и разработка Контроль зависимостей. Восстановление совместимости. Привилегированное разделение

Чтобы запустить графическую программу из вашего chrooted окружающая среда (B внутри A); Вы должны разрешить доступ к запущенному X.

Out out of chroot environment run (открыть другой терминал):

xhost +local: echo $DISPLAY

Затем экспортируйте то, что вы получаете как результат в chroot environment:

export DISPLAY=[output of above command]

Теперь вы должны иметь возможность запускать графические приложения.

Википедия

Я не могу понять, почему вы это делаете, просто загрузитесь в живой диск, примените свои изменения, chroot к вашим другим машинам, чтобы исправить что-либо, если это необходимо. затем перезагрузите и используйте свои системы.

2
ответ дан 18 July 2018 в 13:50

Как я знаю: chroot означает изменение root.

chroot в Unix-подобных операционных системах - это операция, которая изменяет кажущуюся корневую директорию для текущего текущего процесса и его дочерних элементов. [отсюда]

Вы меняете корень своей операционной системы; Таким образом, ваша система (A) все еще запускает все, что вы видите, является частью вашей запущенной системы, и вы не можете просто отключить свои занятые ресурсы (блокировать устройства).

Также вы меняете свой корень на (B), не способен делать какие-либо вещи без помощи А. В качестве примера предположим, что вы использовали команду типа mount --bind /xxx /mnt/xxx для связывания путей, таких как /proc или /dev, как часть процесса chroot; Эти пути управляются вашей операционной системой (A) и необходимы для chrooted среды (B).

Вы просто не можете делать то, что вы делаете.

Как говорит Википедия, использование chroot:

Тестирование и разработка Контроль зависимостей. Восстановление совместимости. Привилегированное разделение

Чтобы запустить графическую программу из вашего chrooted окружающая среда (B внутри A); Вы должны разрешить доступ к запущенному X.

Out out of chroot environment run (открыть другой терминал):

xhost +local: echo $DISPLAY

Затем экспортируйте то, что вы получаете как результат в chroot environment:

export DISPLAY=[output of above command]

Теперь вы должны иметь возможность запускать графические приложения.

Википедия

Я не могу понять, почему вы это делаете, просто загрузитесь в живой диск, примените свои изменения, chroot к вашим другим машинам, чтобы исправить что-либо, если это необходимо. затем перезагрузите и используйте свои системы.

2
ответ дан 24 July 2018 в 20:16

Как я знаю: chroot означает изменение root.

chroot в Unix-подобных операционных системах - это операция, которая изменяет кажущуюся корневую директорию для текущего текущего процесса и его дочерних элементов. [отсюда]

Вы меняете корень своей операционной системы; Таким образом, ваша система (A) все еще запускает все, что вы видите, является частью вашей запущенной системы, и вы не можете просто отключить свои занятые ресурсы (блокировать устройства).

Также вы меняете свой корень на (B), не способен делать какие-либо вещи без помощи А. В качестве примера предположим, что вы использовали команду типа mount --bind /xxx /mnt/xxx для связывания путей, таких как /proc или /dev, как часть процесса chroot; Эти пути управляются вашей операционной системой (A) и необходимы для chrooted среды (B).

Вы просто не можете делать то, что вы делаете.

Как говорит Википедия, использование chroot:

Тестирование и разработка Контроль зависимостей. Восстановление совместимости. Привилегированное разделение

Чтобы запустить графическую программу из вашего chrooted окружающая среда (B внутри A); Вы должны разрешить доступ к запущенному X.

Out out of chroot environment run (открыть другой терминал):

xhost +local: echo $DISPLAY

Затем экспортируйте то, что вы получаете как результат в chroot environment:

export DISPLAY=[output of above command]

Теперь вы должны иметь возможность запускать графические приложения.

Википедия

Я не могу понять, почему вы это делаете, просто загрузитесь в живой диск, примените свои изменения, chroot к вашим другим машинам, чтобы исправить что-либо, если это необходимо. затем перезагрузите и используйте свои системы.

2
ответ дан 31 July 2018 в 13:34

Другие вопросы по тегам:

Похожие вопросы: