- Фундаментальные основы Linux. Часть VII. Управление локальными учетными записями пользователей
- Глава 28. Профили пользователей
- Системный профиль
- Обзор сценариев дистрибутива Debian
- Обзор сценариев дистрибутива RHEL5
- Практическое задание: профили пользователей
- Корректная процедура выполнения практического задания: профили пользователей
- Перемещаемые профили для многих пользователей на ограниченном кол-ве ПК
- Как сделать перемещаемые профили
Фундаментальные основы Linux. Часть VII. Управление локальными учетными записями пользователей
Глава 28. Профили пользователей
Вошедшие в систему пользователи получают в свое распоряжение множество установленных (и изменяемых) псевдонимов команд, переменных и функций, но откуда они берутся? Командная оболочка использует множество загрузочных файлов сценариев, которые исполняются (или подключаются ) в момент ее вызова. Ниже приводится обзор упомянутых загрузочных сценариев.
Системный профиль
Как командная оболочка bash , так и командная оболочка ksh будет проверять существование файла /etc/profile и подключать его в случае существования.
При чтении данного файла вы можете обнаружить (как в дистрибутиве Debian, так и в дистрибутиве Red Hat Enterprise Linux), что именно его силами создается переменная окружения PATH (помимо других переменных окружения). Данный сценарий также может изменять значение переменной окружения PS1, устанавливать значение переменной окружения HOSTNAME и исполнять дополнительные сценарии, такие, как /etc/inputrc .
Пользователь root может использовать данный сценарий для объявления псевдонимов команд, функций и переменных для каждого из пользователей в системе.
В том случае, если данный файл существует в домашней директории пользователя, командная оболочка bash осуществит его подключение. В дистрибутивах Debian 5/6/7 данного файла по умолчанию не существует.
/.bash_profile , который проверяет существование сценария
/.bashrc и осуществляет его подключение в случае существования. Также он добавляет путь к директории $HOME/bin к списку путей, хранящемуся в переменной окружения $PATH.
Если сценария .bash_profile не существует, командная оболочка bash будет выполнять проверку существования сценария
/.bash_login и его подключение в случае существования.
Данного файла не существует по умолчанию ни в дистрибутиве Debian, ни в дистрибутиве Red Hat.
Если в домашней директории пользователя не существует ни сценария
/.bash_profile , ни сценария
/bash_login , командная оболочка bash будет проверять наличие сценария
/.profile и исполнять его. По умолчанию данного сценария не существует в дистрибутиве Red Hat.
/.bashrc и добавлять путь к директории $HOME/bin в список директорий, хранящийся в переменной окружения $PATH.
По умолчанию данного файла не существует в дистрибутивах RHEL/CentOS.
/.bashrc обычно подключается средствами других сценариев. Давайте рассмотрим задачи, решаемые этим сценарием по умолчанию.
/.bashrc , проверяющий существование сценария /etc/bashrc и подключающий его в случае существования. Также он позволяет объявлять специальные псевдонимы команд и функции.
При завершении работы командная оболочка bash может исполнять сценарий
Обзор сценариев дистрибутива Debian
Ниже приведена таблица для дистрибутива Debian с указанием моментов запуска каждого из описанных стартовых сценариев командной оболочки bash.
Таблица 28.1. Пользовательское окружение дистрибутива Debian
/.bashrc
/.profile
Обзор сценариев дистрибутива RHEL5
Ниже приведена таблица для дистрибутива Red Hat Entrprise Linux 5 с указанием моментов запуска каждого из описанных стартовых сценариев командной оболочки bash.
Таблица 28.2. Пользовательское окружение дистрибутива Red Hat
/.bashrc
/.bash_profile
Практическое задание: профили пользователей
1. Выведите список всех файлов профиля пользователя в вашей системе.
2. Прочитайте содержимое каждого из этих файлов, обычно в них осуществляется подключение дополнительных сценариев.
3. Объявите уникальную переменную, псевдоним команды и функцию в каждом из этих файлов.
4. Воспользуйтесь различными способами получения командной оболочки (su, su -, ssh, tmux, gnome-terminal, Ctrl-Alt-F1, . ) и проверьте, какие из объявленных вами переменных, псевдонимов команд и функций присутствуют в вашем пользовательском окружении.
5. Можете ли вы сходу определить последовательность исполнения обнаруженных стартовых сценариев?
6. Если работа приложения зависит от значения объявленной в файле $HOME/.profile переменной, имеет ли значение существование файла $HOME/.bash_profile или нет?
Корректная процедура выполнения практического задания: профили пользователей
1. Выведите список всех файлов профиля пользователя в вашей системе.
2. Прочитайте содержимое каждого из этих файлов, обычно в них осуществляется подключение дополнительных сценариев.
3. Объявите уникальную переменную, псевдоним команды и функцию в каждом из этих файлов.
4. Воспользуйтесь различными способами получения командной оболочки (su, su -, ssh, tmux, gnome-terminal, Ctrl-Alt-F1, . ) и проверьте, какие из объявленных вами переменных, псевдонимов команд и функций присутствуют в вашем пользовательском окружении.
5. Можете ли вы сходу определить последовательность исполнения обнаруженных стартовых сценариев?
Нет, так как при совпадении имен псевдонимов команд, функций и переменных производится их перезапись.
6. Если работа приложения зависит от значения объявленной в файле $HOME/.profile переменной, имеет ли значение существование файла $HOME/.bash_profile или нет?
Да, имеет. (Обратитесь к странице руководства man bash /INVOCATION)
Источник
Перемещаемые профили для многих пользователей на ограниченном кол-ве ПК
Ув. специалисты! Прошу подсказать, как можно реализовать перемещаемые профили пользователей под Линукс и Виндовс. Вводная: есть много пользователей на ограниченном кол-ве машин. Например, 20 человек, проходной двор на 10-ти ПК. Пользователи — постоянно приходят новые и уходят старые. Движуха такая себе. Нужно как-то при логине «подтянуть» их профайл, чтобы не заводить их локально на каждом ПК. То есть, максимально отвязать от определенного рабочего места. Проприетарный софт очень не хотелось бы использовать.Тут есть эксперты в свободном ПО, я надеюсь, как-то можно такое замутить. Спасибо заранее огромное!
Я уже говорил, как элементарнейшим образом это делается: на центральном сервере хранятся все «хомяки», а монтируются они по nfs или sshfs. Элементарщина.
Конечно, можно. Странный вопрос.
а монтируются они по nfs или sshfs.
Дык а как реализовать это при логине в систему? Будет использоваться Gnome3 — копать в PostLogin скрипте? Уточните плиз,я неграмотный 🙂
Да элементарно: у меня файлы /etc/passwd, /etc/shadow и прочие, нужные для логина, лежали в отдельной директории; в /etc/ были симлинки туда. В хомяке по умолчанию — только один профиль. При запуске компьютера, если с сетью все ОК, в хомяк монтируется серверный хомяк, а в ту директорию с паролями — соответствующая директория с сервера. Все прозрачно. Дальше юзверь работает как с локальной системой.
Если сети нет, доступен «умолчальный» логин.
Источник
Как сделать перемещаемые профили
Ранее я как-то работал с перемещаемыми профилями в Active Directory и это было удобно в плане что все Ваши настройки, файлы всегда у Вас под рукой, не важно сидите ли Вы за компьютер в шоуруме или на складе . Так что сегодня я покажу все действия которые я проделал чтобы пока конкретно для себя сделать данную надстройку.
Первым делом подключаюсь/авторизовываюсь (Login: ekzorchik, Password: 712mbddr@, Group: Domain Admins) к контроллеру домена srv-dc.polygon.local (Server 2012 R2 Standard) либо по RDP, по VNC или же физически подойдя к нему, как в прочем принято у Вас в организации или какие методы используете Вы лично.
Создаю специальный каталог где будут располагаться перемещаемые профили и профиль к профилю не будет иметь доступа , что Важно. Т.к. в моей сети (она тестовая) нет файлового сервера то в роли месторасположения под профили выступит логический диск E контроллера домена. Создаю каталог к примеру с именем profile, после через правый клик мышью по нему открываю его свойства (Properties) — вкладка Sharing — Advanced Sharing
- Share this folder : отмечаю галочкой
- Share name: profile$
- Limit the number of simultaneous users to: 50
После нажимаю Permissions и для всех Everyone проставляю все галочки на доступ:
- Full Control → Allow
- Change → Allow
- Read → Allow
и нажимаю Apply — Ok — Apply — OK, после все еще находясь в свойства каталога profile перехожу на вкладку Security — Advanced — вкладка Permissions — Change permissions, здесь отменяю наследование свыше стоящего: нажимаю Disable inheritance → Convert inherited permissions into explicit permissions on this object и привожу права к следующему виду:
А после пробрасываю текущие права внутрь каталога E:\profile отметкой пункта: Replace all child object permissions entries with inheritable entries from this object — подтверждаю Yes — Ok — Ok
Далее открываю оснастку: Active Directory Users and Computers
Win + X — Control Panel — Active Directory Users and Computers, затем в моем случае в организационном контейнере IT открываю свойства (Properties) учетной записи alektest через правый клик мышью по ней. После перехожу на вкладку Profile и прописываю путь до создаваемого перемещаемого профиля:
- Profile path: \\srv-dc\profile$\DefaultUserV2\%username%
После этого тестирую, как работает вот таким вот образом настройка на работу перемещаемого профиля с одной рабочей станции на другую.
На W7X86
Теперь открываю оснастку управления профилями системы и вижу, что текущий профиль не локальный как если бы пользователь домена или не домена авторизовался в системе:
Пуск — Панель управления — Система — Дополнительные параметры системы — вкладка: Дополнительно — Профили пользователей: Параметры
Если настроить систему на максимальную производительность, добавить ярлыки, файлы в текущий профиль, то при заходе уже на другую систему, к примеру W7X64 все сделанные настройки перенесутся, но для этого нужно завершить текущее подключение: Пуск — Выйти из системы. (Это обязательное условие).
По итогу когда авторизовался под учетной записью alektest на рабочей станции W7X64 все необходимые вынесенные ярлыки отобразились на рабочем столе, выставленные параметры пользовательского окружения также были применены к текущему заходу.
Как же работает перемещаемый профиль: если пользователь уже зашел в систему с использованием перемещаемого профиля, то он первый раз создается, при выходе в каталог на сервере где предопределен путь его хранения копируются только сами изменения сделанные в текущем сеансе, а не весь профиль. Как и говорил выше, изменения синхронизируется с сетевой папкой только когда пользователь делает Log Off (Завершение сеанса) в этом достигается огромнейшее преимущество, что при авторизации на различных компьютера пользователь получит свою систему.
Если же учетная запись (к примеру alektest2) была в домене, но перемещаемый профиль не был настроен, то что произойдет с имеющимися файлами (к примеру на W7X86 на «Рабочем столе» сейчас имеются 7 файлов изображений).
Смотрю какой тип профиля сейчас:
Пуск — Панель управления — Система — Дополнительные параметры системы — вкладка: Дополнительно — Профили пользователей: Параметры
- Имя: POLYGON\alektest2
- Размер: 26,0 Мб
- Тип: Локальный
- Состояние: Локальный
Включаю использование перемещаемых профилей в свойствах учетной записи на домен контроллере: Profile path: \\srv-dc\profile$\DefaultUserV2\%username%
Затем на рабочей станции W7X86 делаю завершение сеанса, после снова авторизуюсь на ней же и проверяю, какой профиль сейчас:
Пуск — Панель управления — Система — Дополнительные параметры системы — вкладка: Дополнительно — Профили пользователей: Параметры
- Имя: POLYGON\alektest2
- Размер: 26,0 Мб
- Тип: Перемещаемый
- Состояние: Перемещаемый
Вспомнив, что на рабочем столе должны быть файлы изображений, проверяю, да так и есть. Теперь делаю Logoff, но уже авторизуюсь на другой станции W7X64 и проверяю все то же самое, итог все соответствует тому моменту когда пользователь имел свои файлы, свои настройки рабочего места.
Пока могу сказать, что использование перемещаемых профилей может сэкономить время при перенастройке системы, переезда пользователя из одного отдела в другой. Теперь не важно нужно ли пользователю подменить кого-то его файлы перемещаться за ним.
На заметку: По практике использования перемещаемых профилей важно чтобы пользовательский профиль был не большого размера, а все тяжеловесные файлы хранились на общем диске, где доступ к которому сделан посредством GPO.
Если пользователей несколько, т. е. Тех кого переводим на использование перемещаемых профилей, то практичнее будет задействование групповых политик домена: (srv-dc)
Win + X — Control Panel — Administrative Tools — Group Policy Management
GPO_Profile — Computer Configuration — Policies — Administrative Templates — System — User Profiles
- Add the Administrators security group to roaming user profiles: Enable
- Disable detection os slow network connections: Enable
- Prompt user when a slow network connection is detected: Disabled
- Set roaming profile path for all users logging onto this computer: Enabled (\\srv-dc\profile$\DefaultUserV2\%username%)
GPO_Profile — User Configuration — Policies — Administrative Templates — System — User Profiles:
- Limit Profile size: Enabled
- Custom Message: У вас слишком большой профиль, почистите его.
- Max Profile size (KB): 1048576 (1Gb)
- Show registry files in the file list: отмечаю галочкой
- Notify user when profile storage space is exceeded: отмечаю галочкой
- Remind user every X minutes: 15
На заметку: из скриншота выше в политике нужно указывать имена учетных записей и всех компьютеров на которых будет работать перемещаемый профиль. Т.е. кто бы не зашел на данные компьютеры у него будет перемещаемый профиль, а если он есть еще и в политике то у него будет ограничение в 1Gb и сообщение при: Пуск — Завершение сеанса:
You have exceeded your profile storage space. Before you can log off, you need to move some items from your profile to network or local storage
Это у меня тестовый пользователь alektest закинул себе на рабочий стол несколько образов и хотел завершить сеанса, но к его сожалению у него ничего не вышло, сработало ограничение в 1Gb.
Также выводится, какие пользовательские файлы учетной записи alektest занимают большой объем и их нужно как правильно говорит информационное окно «Объем хранилища профилей» переместить на другой логический диск или в сетевую папку.
Удаляя самостоятельно подозрительно большие файлы данное окно выше автоматически подсчитывает размер текущего профиля, когда все нормально, то выводится сообщение: «В вашем профиле имеется доступное месторасположения». Раз так, то и выход может быть осуществлен корректно.
Как использовать настройку перемещаемых профилей уже решать Вам с учетом ваших задач. Я же для себя сделал напоминалку. Она работает. Что-либо еще добавить пока не зачем, лучше когда что-то будет интересное, а пока все, с уважением автор блога Олло Александр aka ekzorchik.
Источник