LXF116:Ответы
|
|
|
Ответы
- Есть вопрос по Open Source? Пишите нам по адресу: answers@linuxformat.ru!
1 Вариант USB-загрузки
В Пытался инсталлировать Ubuntu на мой старый ноутбук HP Pavilion. У меня на винчестере было мало места (там еще и Windows), и я установил его на USB-диск. Установка прошла хорошо, но при перезагрузке Grub выдает ошибку. Почитав об этом, я сообразил, что некоторые старые машины не допускают загрузку с USB, и действительно, у меня нет опции USB в BIOS (или в Smart Boot Manager). Пришлось восстановить загрузочный сектор Windows со спасательного диска MS, и все вернулось на место; но у меня остался USB-диск с Linux (совершенно нетронутый, как я понимаю), а пользоваться им нельзя. Раз вы сторонники Linux, вас это должно раздражать так же, как и меня!
Мне интересно вот что: с дискеты моя машина загружается, так нельзя ли положить на дискету какое-либо ядро Linux (м.б., даже с графическим интерфейсом пользователя) и получить доступ к злополучному диску, ради набора приложений Linux? По-моему, этот метод лучше, чем Live DVD: тогда я мог бы сохранить мои изменяющиеся настройки и т.д. и дополнить дистрибутив другими нужными мне программами.
Приемлем ли такой вариант? Буду весьма признателен за совет.
Билл Смит [Bill Smith]
О Это раздражает не только простоем Linux: если Ваш компьютер не загружается с USB, ОС тут ни при чем. Увы, USB-загрузка – известный источник неприятностей, и не только из-за BIOS компьютера, но и из-за разнобоя USB-устройств: одни работают лучше, другие хуже, и приходится действовать методом проб и ошибок.
Похоже, что Вы установили Grub на жесткий диск, и система во время инсталляции видит жесткий диск как первый, а USB-диск – как второй; но во время загрузки второго (USB) диска не существует, отсюда и ошибки Grub (которая почти наверняка «диск не найден»). Маловероятно, чтобы Ваш компьютер поддерживал загрузку с USB, если уж в BIOS такого нет, но некоторые компьютеры вызывают загрузочное меню, если нажать некую клавишу (чаще всего Delete, F12 или F2) сразу после запуска. К сожалению, стандарт здесь отсутствует, так что почитайте руководство, или посмотрите при включении – нет ли сообщения о таком варианте, или пробуйте удерживать разные функциональные клавиши каждый раз при загрузке, пока Вам не повезет.
Вы исключили вариант Live DVD, но многие из них предусматривают подключение USB-дисков в качестве домашнего каталога, позволяя сохранять документы и настройки и устанавливать дополнительное ПО; хотя сверх такого богатого DVD, как Knoppix, ПО остается не так и много. Если Ваш компьютер все-таки не поддерживает USB-загрузку, это выглядит лучшим вариантом, чем использование ненадежной дискеты.
Загрузитесь с CD или DVD Knoppix, подключите USB-диск и выберите пункт меню Knoppix > Configure > Create A Persistent Knoppix Disk Image [Knoppix > Настройка > Создать постоянный дисковый образ Knoppix]. Ответьте на вопросы, и у Вас на диске создастся файл с именем knoppix.img, содержащий Вашу домашнюю директорию и настройки. При перезагрузке Knoppix обнаружит его и спросит, хотите ли Вы использовать этот файл, или же можно указать место его расположения, набрав
knoppix home=/dev/sda1
в строке загрузки. НБ
2 Расширенные права файлов
В Я хотел бы сделать файлы в некой директории общими для конкретных (локальных) пользователей, чтобы они имели к ним доступ на чтение/запись, и хотел бы оставить umask установленным в 022 для прав доступа ко всем остальным файлам по умолчанию.
Я могу создать группу и установить права доступа на файлы в общей директории как 660 при соответствующем назначении группы, но это не решает проблемы новых файлов, которые может создать любой пользователь. Не все пользователи обладают Linux-смекалкой, и в любом случае я считаю излишним каждый раз изменять группы и права вручную.
Одним из вариантов было бы написание демона, который следил бы за новыми файлами и менял права доступа к ним. Есть ли лучший путь? А может, кто-то это уже сделал, чтобы сэкономить мне упражнения в кодировании?
С. МакЭвой [C McEvoy]
О Вы обнаружили один из недостатков стандартных прав доступа к файлам в Linux. Вы можете изменить группу владельца для каталога, чтобы ее члены получили возможность создавать в нем файлы, но последние будут доступны на запись только собственным владельцам. Ответ – ACL (списки контроля доступа), позволяющие регулировать права доступа к файлам с гораздо большей точностью. Требований для использования ACL три. Во-первых, ядро должно включать поддержку ACL для файловой системы, которую Вы применяете (стандартное ядро дистрибутива ее уже имеет). Затем необходимо смонтировать файловую систему с включенным ACL, отредактировав /etc/fstab и добавив acl к списку опций – например, заменив
/dev/sda5 /home ext3 defaults,noatime 0 0
на
/dev/sda5 /home ext3 defaults,noatime,acl 0 0
а затем перемонтировать файловую систему –
mount /home -o remount
или перезагрузиться. Этот шаг не нужен, если Вы используете XFS – там уже есть поддержка ACL по умолчанию, но если у Вас ext2/3 или ReiserFS, придется изменить fstab и выполнить перемонтирование. Наконец, установите пакет acl, он включает пользовательские инструменты для управления ACL.
Теперь можно добавить пользователей к одной и той же группе, скажем project, и сделать так:
mkdir shared chmod 2775 shared setfacl -m default:group:project:rwx shared
Если Ваш пользователь имеет полные права на запись в директорию, где Вы это делаете, то Вам не нужны привилегии root. Эти команды создают каталог и делают его доступным группе для записи и выполнения. Последняя строка выполняет умный трюк: она устанавливает правила доступа по умолчанию для директории так, чтобы все файлы имели разрешения rwx для всех членов группы project. Это правило распространяется на все новые файлы, так что выполните приведенные выше команды перед их созданием. Чтобы установить права доступа к уже имеющимся файлам, поступите так:
setfacl -R -m group:project:rwx shared
Здесь нет параметра default:, но -R распространяет команду рекурсивно на все существующие файлы и каталоги. Вы также можете установить контроль доступа для отдельных пользователей: например,
setfacl -m default:user:fred:r-x shared
дает этому пользователю права «только для чтения». Если Вы экспериментировали с установкой с ACL, то найдете эти команды полезными:
getfacl shared setfacl -x default:user:fred shared
Первая показывает ACL для файла или директории, вторая удаляет их. Синтаксис -x такой же, как и для -m, только Вы не указываете права доступа. МС