Удалите профили окон с аналогичными именами с помощью пакетного файла или сценария

Попытка подробно остановиться на ответе @Zoredache, поскольку я даю этому движение сам:

  • Создайте новую группу (www-паб) и добавьте пользователей к той группе

    groupadd www-pub

    usermod -a -G www-pub usera ## должен использовать-a для добавления существующим группам

    usermod -a -G www-pub userb

    groups usera Дисплейные группы ## для пользователя

  • Измените владение всего под/var/www в root:www-паб

    chown -R root:www-pub /var/www ##-R для рекурсивного

  • Измените полномочия всех папок к 2 775

    chmod 2775 /var/www ## 2=set идентификатор группы, 7=rwx для владельца (корень), 7=rwx для группы (www-паб), 5=rx для мира (включая апачского www-пользователя-данных)

    Идентификатор группы набора (SETGID) укусил (2) причины группа (www-паб), который будет скопирован во все новые файлы/папки, созданные в той папке. Другие опции являются SETUID (4) для копирования идентификатора пользователя, и ЛИПКИЙ (1), который я думаю, позволяет только владельцу удалить файлы.

    Существует a -R рекурсивная опция, но это не различит между файлами и папками, таким образом, необходимо будет использовать, находят, как так:

    find /var/www -type d -exec chmod 2775 {} +

  • Измените все файлы на 0664

    find /var/www -type f -exec chmod 0664 {} +

  • Измените umask для своих пользователей к 0002

    umask управляет полномочиями создания файла по умолчанию, 0002 файла средств будут иметь 664 и каталоги 775. Установка этого (путем редактирования umask строка у основания /etc/profile в моем случае), означает, что файлы, созданные одним пользователем, будут перезаписываемы другими пользователями в www-группе, не нуждаясь к chmod их.

Протестируйте все это путем создания файла и каталога и проверки владельца, группы и полномочий с ls -l.

Примечание: Необходимо будет выйти из системы/в для изменений в группах для вступления в силу!

1
задан 27 August 2010 в 18:38
1 ответ

Можно использовать "сетевого пользователя" команда, чтобы добавить и удалить учетные записи.

Вот универсальный пакетный файл, который ЦИКЛИЧНО ВЫПОЛНИТСЯ:

@echo off

set i=%1
set j=%2
if NOT DEFINED i goto USAGE
if NOT DEFINED j goto USAGE

set /a j = %i% + %2

@echo start, i = %I% and j = %J%

:LOOP
if %i% GTR %j% goto FINISHED
echo i = %i%
set /a i=%i + 1
goto LOOP

:FINISHED
@echo.
@echo finished, i = %I%
@echo.
goto END

:USAGE
@echo.
@echo Usage   : loop.bat [ start # ] [ # of iterations ]
@echo Example : loop.bat 4 5   (this will start at 4 and end at 9)
@echo.
goto END

:END
@echo.

В цикле необходимо было бы сделать две вещи:

  • сетевой пользователь / удаляет user%I %
  • сетевой пользователь / добавляет user%I % (с большим количеством опций)

Вы можете modifiy пакетный файл для взятия третьего аргумента, который мог быть паролем, который затем передается "сетевому пользователю/, добавляют" команду.

Используйте "пользователя справки сети" для получения большей информации о том, как использовать команду.

2
ответ дан 3 December 2019 в 22:27
  • 1
    Ничего себе, это было быстро :-). Попробует через несколько минут. Большое спасибо. –  Ulf Klose 27 August 2010 в 18:59

Теги

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