Автоматически создайте папку в корневом каталоге новых пользователей

Я должен автоматически присвоить каждому новому пользователю, который создается определенная папка Sales в их корневом каталоге. (например, когда Вы добавляете пользователя tim, tim автоматически назвали папку Sales в его корневом каталоге)

Как я могу сделать это?

0
задан 2 December 2015 в 22:00

2 ответа

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

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


Убедитесь, что владелец и права на все, что вы создаете или изменяете, правильные.

Установите необходимые разрешения, они будут скопированы в домашний каталог нового пользователя, как они есть. Обычно вы берете 644 (восьмеричное представление) или rw-r--r-- (строковое представление). Вы можете изменить это с помощью одной из команд ниже. Убедитесь, что все доступно для чтения владельцу и все каталоги являются исполняемыми владельцем (в противном случае владелец не может просмотреть или получить доступ к своему контенту).

  • sudo chmod 644 /etc/skel/FILE_OR_DIRECTORY для установки разрешений для одного файла или каталога с использованием восьмеричного представления.
  • sudo chmod u=rw,g=r,o=r /etc/skel/FILE_OR_DIRECTORY для установки разрешений для одного файла или каталога с использованием синтаксиса, похожего на строковое представление.
  • sudo chmod -R 644 /etc/skel для рекурсивной установки разрешений для всех файлов и каталогов с использованием восьмеричного представления.
  • sudo chmod -R u=rw,g=r,o=r /etc/skel для рекурсивной установки разрешений для всех файлов и каталогов с использованием синтаксиса, похожего на строковое представление.

Владелец должен быть root. Вы изменяете это рекурсивно для всех файлов и папок в /etc/skel с помощью команды ниже:

sudo chown -R root: /etc/skel
3
ответ дан 26 July 2019 в 13:42

Относительно простой альтернативой было бы создать стартовый файл в /etc/xdg/autostart, который создаст папку в (любом) домашнем каталоге пользователя при входе в систему, только , если папка еще не существует. [ 1119]

  • Создайте файл со следующими строками:

    [Desktop Entry]
    Name=Create Sales
    Exec=/bin/bash -c "mkdir ~/Sales"
    Type=Application
    
  • Сохраните его как sales.desktop (расширение необходимо)

  • Запустите команду:

    sudo cp /path/to/sales.desktop /etc/xdg/autostart
    

Это создаст папку ~/Sales в домашнем каталоге любого пользователя , как только он или она входит в систему (только если она не существует).

Объяснение

Чтобы запустить команду при запуске (войти в систему) локально, f или только для одного пользователя , мы можем поместить файл .desktop в ~/.config/autostart

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

Если мы сделаем файл .desktop, запустите команду:

/bin/bash -c "mkdir ~/Sales"

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

0
ответ дан 26 July 2019 в 13:42

Другие вопросы по тегам:

Похожие вопросы: