Сценарий Bash для удаления пользователя

Редактировать:

Если вы хотите изменить все профили Firefox, которые в данный момент используются, вы можете использовать этот простой скрипт:

#!/bin/bash
for f in $(ps aux |grep "/usr/lib/firefox/firefox"| grep -v "grep" | head -1 |cut -d " " -f1); do 
        echo " * Found some firefox running .... updating pluginreg.dat"
        for d in $(find /home/${f}/.mozilla/ -name "pluginreg.dat"); do 
            echo " * Found ${d}"
            sed -i "s%11\.2\.202\.310%11\.2\.202\.425%g" ${d}
        done
done

в предложении SED, вы можете изменить номер версии FlashPlugin (11.2.202.310) Чтобы соответствовать вашей текущей версии установленной.

-121--22497-

байт-навязку определяет, сколько inodes создаются для этой файловой системы; INODE-размер определяет, насколько большой из этих индекс.

Вам нужно много inodes, если вы намереваетесь поставить лотов небольших файлов (& / или много каталогов) на файловый файл.

AFAIK, вам действительно нужно только inodes, которые больше, чем размер по умолчанию 256 байт, если вы хотите хранить расширенные атрибуты для ваших файлов. Psusi говорит в комментариях, которые неверны.

0
25.04.2014, 23:42
2 ответа
[113723] Я бы предложил использовать [114168] getent [114169] для проверки существования пользователя. Этот скрипт должен заставить вас идти.

Вы можете вызвать скрипт как [114170]./лучей сделки[4][114171], а затем, если вам нужно запустить для другого пользователя, вы можете вызвать его, используя [114172]./лучей сделки[6][114173]. Я не тестировал скрипт в моей системе, но это должно помочь вам, как в случае, если вам нужно удалить любого другого пользователя в будущем, вам не нужно изменять скрипт, а вызвать скрипт с именем пользователя в качестве аргумента.

EDIT

date --set="23 June 1988 10:00:00"
date --set="10:00:00"
В соответствии с предложением derobert, вы можете пропустить тестирование каталогов, если используете флаг [114176]-p[114177]. [113730]
1
28.01.2020, 02:37
[113743] Если [114190]Ray[46][114191], конечно, уникален, то практически каждый тест в вашем скрипте является избыточным.

tar --exclude='*.jpg' --exclude='*.png' --exclude='*.bmp' --exclude='*.gif' -cvf tar-filename.tar folder
Вышеуказанное сканирует его входную информацию на наличие любой строки, содержащей [114192]/адресованную/[114193] строку [114194]2[114195], и, если она будет найдена, то изменит только эту строку, чтобы она содержала всё, кроме адресованной строки. Следующее просто удаляет [114196]только [114197] адресованные строки:

Так что [114198]grep[114199] тогда [114200]sed[114201] не нужен. Правда, [114202]grep[114203] быстрее, чем [114204]sed[114205], но за время, необходимое для вызова [114206]grep

и [114209] [114210][test][114211] его вывод [114212], затем [114213] вызова [114214]sed[114215], [114216]sed[114217], вероятно, уже закончил бы очистку всех соответствующих файлов от оскорбительной строки.

Опять же, если вы захотите [114218]grep[114219], то [114220]sed[114221] по какой бы то ни было причине, следующее было бы гораздо больше:

или с GNU [114222]sed[114223] :

И как упоминалось выше, [114224]mkdir -p[114225] делает целевую директорию только в случае необходимости, так что этого должно быть достаточно:

Вы даже можете получить журнал всего этого, чтобы просмотреть, что именно было сделано только на этих машинах, что-то произошло:

  • Это выше предполагает, что ваш целевой пользователь имеет [114226]$HOME[114227] в [114228]/home[114229], названный в качестве имени пользователя. Если это предположение верно, то оно действует только на той машине, на которой зарегистрировано имя пользователя целевого пользователя.
  • Для того чтобы сделать то же самое без [114230]grep[114231], вы можете также оставить [114232]tee[114233] вне игры. Просто измените строку [114234]sed[114235] на:
  • Это перезапишет [114236]sed[114237] holdspace с каждой новой найденной строкой [114238]sed[114239], содержащей строку [114240] "$remove"[114241]. Когда [114242]sed's[114243] через сканирование попадает в последнюю строку, он переключается на удержание, и, если находит какие-либо ссылки на [114244]$remove[114245], то записывает имя файла в [114246]stderr[114247].
Если вы запустите скрипт, подобный тому, что я написал выше, со своей собственной машины и вы [114248]ssh[114249] выйдете ко всем целям, то вам не нужно будет открывать соединение [114250]ssh[114251] от каждой из них обратно к своей собственной машине - вы уже там. Вы можете удалить последний [114252]|pipe[114253] и всё последующее и сделать это вместо него:

1
28.01.2020, 02:37

Теги

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