Creating a user

Для створення користувача треба додати відомості про нього в базу даних користувачів і створити домашній каталог для нього. Також можлива установка початкових файлів налаштувань.

Більшість дистрибутивів Linux мають програму для створення користувачів. Гірше те, що такі програми скрізь різні. Є дві найбільш поширені команди: adduser і useradd; можливе застосування графічного інтерфейсу. Користувача можна додати і в ручному режимі.

/ Etc / passwd і інші інформаційні файли

База даних про користувачів в Unix системах є текстовим файлом / etc / passwd (називається файл паролів (password file)), який зберігає всі імена користувачів і відомості про них. Кожному імені користувача (логіну) відповідає один рядок з семи полів, розділених двокрапкою:

Пароль (в зашифрованому вигляді).

Числовий user id.

Числовий group id.

Повне ім'я та інші відомості про користувача.

Login shell (програма, яка запускається при вході в систему).

Формат полів детально описаний в man-керівництві на passwd.

Багато Linux-системи застосовують тіньові паролі (shadow passwords). Це альтернативний шлях зберігання паролів: вони пишуться в окремий файл. / Etc / shadow. який доступний вже тільки для root. Файл / etc / passwd замість пароля буде в другому полі кожного рядка зберігати тільки спеціальний маркер. Будь-яка програма, якій треба перевіряти паролі, виконується з setuid від імені root і може звертатися до затінення файлу паролів. Нормальні програми, яким потрібні тільки інші поля з файлу паролів, не зможуть отримати паролі.

На більшості систем не має значення, що числові значення ідентифікаторів користувача і групи, але якщо Ви використовуєте мережеву файлову систему (Network filesystem, NFS), Ви повинні мати одні й ті ж uid і gid на всіх системах. Це тому, що NFS також ідентифікує користувачів по числовим uid. Якщо Ви не використовуєте NFS, Ви можете дозволити вашому інструменту створення пользоваьелей вибирати їх автоматично.

Якщо Ви використовуєте NFS, ви повинні винайти механізм для синхронізація інформації про користувачів і групи. Одним з варіантів є система NIS.

Ви повинні уникати багаторазово використовувати числовий uid (і текстове ім'я користувача), тому що новий власник uid (або імені користувача) може отримати доступ до файлів старого власника (поштою, наприклад).

Налаштування оточення користувача: каталог / etc / skel

Всякий раз, коли можливо, краще помістити глобальну конфігурацію в глобальні файли, типу / etc / profile. Цим шляхом можна модифікувати всі без того, щоб зруйнувати власні установки користувачів.

Щоб створювати нового користувача вручну, виконайте наступне:

Створіть основний каталог користувача командою mkdir.

Передайте файли з / etc / skel в домашній каталог нового користувача.

Змініть власника і права доступу для новоствореного файлів і каталогів командами chown та chmod. Опція -R вельми корисна. Правильні дозволу трохи різні для різних систем, але зазвичай такі команди роблять те, що треба:

Встановіть пароль командою passwd.

Після того, як Ви встановлюєте пароль в останньому кроці, користувач зможе працювати. Ви не повинні встановлювати пароль, поки все інше не зроблено, в противному випадку може необережно увійти, в той час як ви ще копіюєте файли.

Іноді необхідно створити псевдопользователя. Такий користувач ніколи не використовується як звичайний. Наприклад, щоб встановити анонімний сервер FTP станція (так, щоб будь-хто міг вивантажувати і завантажувати файли без необхідності мати логін в системі), Ви повинні створити користувача ftp. У таких випадках, пароль задавати не треба. Значить, файл пароля має всю інформацію щодо користувача за винятком його пароля.