server/Создание каталога пользовательских скриптов для всех пользователей.md


Цель: создать каталог /usr/local/sesc и добавить его в переменную $PATH, чтобы он был доступен для всех пользователей.

Вот пошаговая инструкция:

sesc — от Server Scripts


1. Создайте каталог /usr/local/sesc

sudo mkdir -p /usr/local/sesc

2. Настройте права доступа

Чтобы каталог и его содержимое были доступны всем пользователям:

  • Сделайте каталог доступным для чтения и выполнения всем:

    sudo chmod 755 /usr/local/sesc
    
  • Назначьте владельцем каталога пользователя root:

    sudo chown root:root /usr/local/sesc
    
  • Если вы хотите, чтобы другие пользователи могли добавлять или изменять скрипты, настройте нужные группы или права (например, назначьте группе):

    sudo chgrp somegroup /usr/local/sesc
    sudo chmod 775 /usr/local/sesc
    

3. Добавьте каталог в $PATH

Чтобы скрипты из /usr/local/sesc были доступны всем пользователям в системе:

  1. Создайте или отредактируйте глобальный файл конфигурации:

    sudo nano /etc/profile.d/sesc.sh
    
  2. Добавьте в файл следующую строку:

    export PATH="/usr/local/sesc:$PATH"
    
  3. Сделайте файл исполняемым:

    sudo chmod +x /etc/profile.d/sesc.sh
    
  4. Примените изменения:

    source /etc/profile.d/sesc.sh
    

4. Проверка

  1. Поместите скрипт в каталог:

    sudo nano /usr/local/sesc/my_script.sh
    

    Содержание скрипта:

    #!/bin/bash
    echo "Привет! Этот скрипт работает из /usr/local/sesc"
    
  2. Сделайте скрипт исполняемым:

    sudo chmod +x /usr/local/sesc/my_script.sh
    
  3. Запустите скрипт из любого места:

    my_script.sh
    

5. Добавьте автозапуск для системных сервисов (опционально)

Если скрипты будут использоваться для системных задач, их можно интегрировать с systemd. Создайте файл юнита, если нужно автоматизировать работу некоторых скриптов при загрузке системы.


Теперь /usr/local/sesc будет общим местом для хранения скриптов, доступным всем пользователям, а скрипты из этого каталога можно будет вызывать напрямую, как обычные команды.

Пример скрипта тут