Где разместить конфигурацию bash для вновь созданных пользователей?

Где разместить конфигурацию bash для вновь созданных пользователей?

У меня есть задание, и я не знаю, какой файл конфигурации bash редактировать.

Мне нужно отредактировать файл конфигурации bash, изменить приглашение PS1 и добавить переменную окружения, которая ищет ~/scripts всякий раз, когда пользователь root вводит команду. Затем мне нужно скопировать ее в соответствующий каталог, чтобы все новые созданные пользователи также имели переменные.

Я могу сделать первую часть нормально, но не уверен, какой файл конфигурации мне следует редактировать. Исходя из второго требования, я редактирую ~/.bashrc, но затем я застрял на второй части, в какой каталог копировать.

NDG говорит, что все файлы в этом каталоге с расширением .sh автоматически выполняются в /etc/profile.d/, поэтому я пошел дальше и скопировал/переименовал ~/.bashrc во что-то вроде bashrc.sh там. Но когда я тестирую его с новым профилем пользователя, в терминале появляется пустое приглашение.

Надеюсь, кто-нибудь здесь сможет мне помочь, спасибо.


Точная формулировка задания

  1. В соответствующем файле конфигурации оболочки bash настройте основную командную строку так, чтобы она отображала вашу фамилию, за которой следуют @, имя хоста и рабочий каталог.
  2. Создайте каталог с именем ~/scripts
  3. В соответствующем файле конфигурации оболочки bash измените соответствующую переменную среды, чтобы система также выполняла поиск в недавно созданном каталоге ~/scripts, когда пользователь root вводит команду.
  4. Скопируйте файл конфигурации оболочки bash, который вы изменили, выполнив описанные выше действия, в соответствующий каталог, чтобы при создании нового пользователя у него также были эти значения переменных среды.

решение1

Кажется, вы отлично справляетесь с редактированием .bashrc; каталог, в который вам также нужно скопировать шаблоны любого файла конфигурации/скрипта, который будет дублироваться при создании пользователя, обычно находится по адресу /etc/skel.

Итак, вы бы сделали:

  1. Добавить ~/.bashrcи поместить туда:

    PS1="surname@\h\w>"
    
  2. Создайте заполнитель для будущих пользовательских скриптов в ~/scripts

    mkdir ~/scripts
    
  3. Добавьте ~/.bashrcмодификатор $PATH для поиска скриптов; как правило, из соображений безопасности его следует добавлять в конец, а не в начало.

    PATH=$PATH:~/scripts
    
  4. В этой последней части вам нужно сделать это как root, или принадлежа к sudoгруппе, предваряя команду sudoпривилегиями суперпользователя; ваших обычных привилегий пользователя по умолчанию будет недостаточно для записи в каталог /etc/skel. Как в

    sudo cp ~/.bashrc /etc/skel
    

    или как rootпользователь:

    cp  ~your_user_name/.bashrc /etc/skel
    

Смотрите соответствующиесвязьдля получения более подробной информации о /etc/skel

Каталог /etc/skel содержит файлы и каталоги, которые автоматически копируются в домашний каталог нового пользователя, когда такой пользователь создается программой useradd.

/etc/skel позволяет системному администратору создать домашний каталог по умолчанию для всех новых пользователей на компьютере или в сети и, таким образом, гарантировать, что все пользователи начинают работу с одинаковыми настройками или средой.

Несколько файлов конфигурации пользователя по умолчанию помещаются в /etc/skel при установке операционной системы.

Название каталога skel происходит от слова «скелет», поскольку содержащиеся в нем файлы образуют базовую структуру домашних каталогов пользователей.

Что касается переменной среды PATH, см.этот

Переменная среды PATH — это разделенный двоеточиями список каталогов, в которых оболочка просматривает команду при вводе.

Файлы программ (исполняемые файлы) хранятся во многих разных местах в системе Unix. Ваш путь сообщает оболочке Unix, где искать в системе, когда вы запрашиваете определенную программу.

Для изменения подсказки на PS1 вы можете поиграть с.bashrc генератор PS1и наблюдайте за изменениями в режиме реального времени, используя довольно умную веб-страницу.

Связанный контент