У який момент створюється файл ~ / .bashrc?


21

Наприклад, якщо я запускаю команду adduser test, чи створюється .bashrc автоматично при створенні домашнього каталогу для користувача test? Якщо він не створений під час створення користувача, за яких умов він створюється?

Крім того, якщо я додам .bashrc файл у домашній каталог користувача, він буде перезаписаний ОС?

Заздалегідь спасибі.


2
Якби ви просто спробували це, ви дізнаєтесь набагато швидше, ніж запитуючи тут.
Стиг Хеммер

Відповіді:


30

У більшості випадків початкові файли користувачів (у тому числі .bashrc) створюються під час створення користувача. Вони представляють собою копії файлів, що зберігаються у каталозі "скелет" /etc/skel. Є дві основні команди:

  • useradd є зворотною командою, якщо ви використовуєте її безпосередньо (без будь-яких опцій), просто буде створений користувач системи (та її група):

    $ sudo useradd new-user
    $ ls -la /home/new-user/
    ls: cannot access '/home/new-user/': No such file or directory
    • useraddстворить домашній каталог та заповнить його копією, /etc/skelякщо -m --create-homeопція надається. Дякуємо за цей коментар @jwodder.

    • Параметр -s --shellзмінить ім'я оболонки для входу нового користувача. Незалежно від того, що таке оболонка для входу нового користувача, весь вміст каталогу "скелет" /etc/skelбуде заповнено у домашній каталог нового користувача.

    • За допомогою -k --create-homeпараметра можна визначити інший "скелетний" каталог каталогів .

    • Файл конфігурації цієї команди є /etc/default/useradd.

  • adduserце зручний і інтерактивний передній край useradd. Ця команда буде копіювати файли з /etc/skelданого користувача $HOMEкаталог за замовчуванням:

    $ sudo adduser new-user
    Adding user `new-user' ...
    Adding new group `new-user' (1002) ...
    Adding new user `new-user' (1002) with group `new-user' ...
    Creating home directory `/home/new-user' ...
    Copying files from `/etc/skel' ...
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    Changing the user information for new-user
    Enter the new value, or press ENTER for the default
            Full Name []: New User
            Room Number []:
            Work Phone []:
            Home Phone []:
            Other []:
    Is the information correct? [Y/n]
    
    $ ls -a /home/new-user/
    .   ..   .bash_logout   .bashrc   .config   examples.desktop   .profile   .Xdefaults
    • Файл конфігурації цієї команди є /etc/adduser.conf.

    • Значення за замовчуванням для оболонки для входу нового користувача визначається змінною DSHELL=. Це може бути визначено також через опцію --shell. Незалежно від того, що таке оболонка для входу нового користувача, весь вміст каталогу "скелет" /etc/skelбуде заповнено у домашній каталог нового користувача.

    • SKEL=Змінна в цьому файлі задає каталог за замовчуванням , що містить «скелетні» файли користувача.

    • Опція --no-create-homeзмусить команду adduserне створювати домашню директорію користувача, відповідно вміст каталогу "скелет" не буде скопійовано.

    • Якщо викликати один аргумент, який не є опцією, та --systemпараметр, adduserдодасть користувача системи ... Домашній каталог створюється за тими ж правилами, що і для звичайних користувачів. Новий користувач системи матиме оболонку /bin/false(якщо не буде перекрито --shellпараметр) та вимкнено вхід. Файли конфігурації скелета не копіюються. ... зі сторінки керівництва.


Крім того, коли користувач створюється з будь-яким інструментом GUI як User Accounts, результат є ідентичним результату команди adduser.


Список літератури:


2
useraddтакож створить домашній каталог та заповнить його копією, /etc/skelякщо -mопція надається.
jwodder

4
Ваш другий блок коду все ще використовується useraddв команді; це мало бути adduser?
David Z

2
Також облікові записи користувачів використовують adduser, чи не так?
Gunnar Hjalmarsson
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.