удаление файлов определенного пользователя

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

newk
Сообщения: 25

удаление файлов определенного пользователя

Сообщение newk »

Удалил юзера oracle:

userdel -rf oracle

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

find / -user "oracle" -exec rm {} \;

В ответ получаю:

find: invalid argument `oracle' to `-user'

Как найти файлы удаленного юзера? по UID? если да то как это сделать?
Спасибо.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: удаление файлов определенного пользователя

Сообщение allez »

newk писал(а):
27.11.2009 11:42
Как найти файлы удаленного юзера? по UID? если да то как это сделать?
Читайте man find на предмет опции "-uid", однако. Надеюсь, вы помните UID "убиенного" пользователя? :)
Спасибо сказали:
newk
Сообщения: 25

Re: удаление файлов определенного пользователя

Сообщение newk »

allez писал(а):
27.11.2009 11:50
Надеюсь, вы помните UID "убиенного" пользователя? :)

-uid n File's numeric user ID is n

Конечно же я не запомнил ID. Все равно не может же быть чтобы не было способа находить файлы принадлежащие несуществующим юзерам? Или может?
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: удаление файлов определенного пользователя

Сообщение allez »

Ну, могу навскидку предложить такой: если вам известен хотя бы один файл, точно принадлежащий удаленному пользователю, то UID пользователя можно узнать с помощью команды ls -l <имя_файла>.
Спасибо сказали:
newk
Сообщения: 25

Re: удаление файлов определенного пользователя

Сообщение newk »

allez писал(а):
27.11.2009 12:12
Ну, могу навскидку предложить такой: если вам известен хотя бы один файл, точно принадлежащий удаленному пользователю, то UID пользователя можно узнать с помощью команды ls -l <имя_файла>.


Я так делал. Дело в том что сначала я просто find и у меня на консоли осталасть часть найденных файлов. Но когда я ls -l, то на месте юзера - root и число вместо группы, причем число вместо группы разное. например для /usr/local/bin/dbhome and /usr/local/bin/oraenv
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: удаление файлов определенного пользователя

Сообщение allez »

Как вариант, могу предложить глянуть в файлы /etc/passwd.old и /etc/group.old, если, конечно, у вас таковые создаются при манипуляциях с пользователями.
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: удаление файлов определенного пользователя

Сообщение sciko »

newk писал(а):
27.11.2009 12:19
Я так делал. Дело в том что сначала я просто find и у меня на консоли осталасть часть найденных файлов. Но когда я ls -l, то на месте юзера - root и число вместо группы, причем число вместо группы разное.
Ну, вот и ответил на свой вопрос. Когда пользователя удаляют, права на его файлы автоматически переходят руту, а группа, ЕМНИП, ставиться та же что и у каталога, где эти файлы находятся. Так что сейчас найти все файлы этого пользователя поможет только libastral.so.
Спасибо сказали:
newk
Сообщения: 25

Re: удаление файлов определенного пользователя

Сообщение newk »

к сожалению........
Спасибо сказали:
newk
Сообщения: 25

Re: удаление файлов определенного пользователя

Сообщение newk »

Подскажите тогда пожалуйста как мне в будущем удалять все файлы юзера кроме ~user ?
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: удаление файлов определенного пользователя

Сообщение allez »

sciko писал(а):
27.11.2009 12:24
Когда пользователя удаляют, права на его файлы автоматически переходят руту, а группа, ЕМНИП, ставиться та же что и у каталога, где эти файлы находятся.
Не всегда и не везде:

...

$ sudo useradd -m -d /home/testuser -s /bin/bash testuser $ sudo userdel testuser $ ls -l /home/ итого 2 drwxr-xr-x 48 allez users 2024 Ноя 8 10:37 allez drwxr-xr-x 7 11787 users 464 Ноя 27 16:18 testuser $ ls -al /home/testuser/ итого 56 drwxr-xr-x 7 11787 users 464 Ноя 27 16:18 . drwxr-xr-x 8 root root 176 Ноя 27 16:17 .. drwxr-xr-x 2 11787 users 48 Ноя 27 16:17 bin drwxr-xr-x 2 11787 users 80 Ноя 27 16:17 Documents drwxr-xr-x 2 11787 users 48 Ноя 27 16:17 .fonts drwxr-xr-x 2 11787 users 48 Ноя 27 16:17 .mozilla drwxr-xr-x 2 11787 users 80 Ноя 27 16:17 public_html -rw------- 1 11787 users 5 Ноя 27 16:18 .bash_history -rw-r--r-- 1 11787 users 1177 Ноя 27 16:17 .bashrc -rw-r--r-- 1 11787 users 315 Ноя 27 16:17 .dvipsrc -rw-r--r-- 1 11787 users 1637 Ноя 27 16:17 .emacs -rw-r--r-- 1 11787 users 16257 Ноя 27 16:17 .gnu-emacs -rw-r--r-- 1 11787 users 861 Ноя 27 16:17 .inputrc -rw-r--r-- 1 11787 users 6043 Ноя 27 16:17 .muttrc -rw-r--r-- 1 11787 users 1028 Ноя 27 16:17 .profile -rw-r--r-- 1 11787 users 1940 Ноя 27 16:17 .xim.template -rwxr-xr-x 1 11787 users 1446 Ноя 27 16:17 .xinitrc.template $ sudo find /etc -type f -exec grep -l "testuser" {} \; /etc/shadow.old /etc/group.old /etc/passwd.old $ grep "testuser" /etc/passwd.old testuser:x:11787:100::/home/testuser:/bin/bash
Спасибо сказали:
newk
Сообщения: 25

Re: удаление файлов определенного пользователя

Сообщение newk »

Так всетаки, как удалить все файлы созданные пользователем oracle которые находятся за пределами ~oracle/. Пользователь oracle есть в системе.

Спасибо.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: удаление файлов определенного пользователя

Сообщение allez »

Если есть такой пользователь, то воспользуйтесь способом из вашего первого сообщения.
Спасибо сказали:
newk
Сообщения: 25

Re: удаление файлов определенного пользователя

Сообщение newk »

allez писал(а):
27.11.2009 14:27
Если есть такой пользователь, то воспользуйтесь способом из вашего первого сообщения.


Насколько я понимаю find / -user "oracle" -exec rm {} \; удалит также домашний каталог oracle, а мне надо чтобы остался хоум а все файлы созданные этим юзером за пределами юзерского хоума были удалены.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: удаление файлов определенного пользователя

Сообщение allez »

Если /home находится на отдельном разделе - используйте опцию "-xdev", в противном случае перечисляйте в команде все каталоги, кроме /home:

Код: Выделить всё

find /bin /boot ... /tmp /usr /var -user "oracle" -exec rm {} \;
Спасибо сказали:
newk
Сообщения: 25

Re: удаление файлов определенного пользователя

Сообщение newk »

Вот тут у людей еще такой вариант нарисовался:

find / -user oracle | grep -v "/home/oracle" | xargs rm

думаю это мне больше подойдет так как в корне у меня ооочень много каталогов.
Спасибо
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: удаление файлов определенного пользователя

Сообщение sciko »

newk писал(а):
27.11.2009 15:00
find / -user oracle | grep -v "/home/oracle" | xargs rm
Тут будут глюки с именами с пробелами. Хотя, конечно он работает быстрее. Предлагаю свой вариант (надо довести до ума, но должен работать нормально)

Код: Выделить всё

find / -user oracle -regextype posix-egrep ! -regex '/home/oracle.*' -print0 | xargs -0 rm


ЗЫ. Админы, киньте в раздел про командную строку!
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: удаление файлов определенного пользователя

Сообщение sash-kan »

чегой-то никто так и не спросил у топикстартера, а нафига вообще такой глупостью заниматься.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: удаление файлов определенного пользователя

Сообщение drBatty »

sash-kan писал(а):
23.01.2010 19:16
чегой-то никто так и не спросил у топикстартера, а нафига вообще такой глупостью заниматься.

это вы зря...
в find даже ключ специальный есть: -nouser
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: удаление файлов определенного пользователя

Сообщение drBatty »

newk писал(а):
27.11.2009 14:35
Насколько я понимаю find / -user "oracle" -exec rm {} \; удалит также домашний каталог oracle, а мне надо чтобы остался хоум а все файлы созданные этим юзером за пределами юзерского хоума были удалены.

а это для кого делали?
-mindepth levels
Do not apply any tests or actions at levels less than levels (a non-negative integer). `-min-
depth 1' means process all files except the command line arguments.

тут кроме меня man find кто-нибудь видел? :)

ЗЫЖ
Ах... за пределами?
ну ! -path "/home/oracle/*" вам в помощь. как-то так.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: удаление файлов определенного пользователя

Сообщение sash-kan »

drBatty писал(а):
23.01.2010 20:06
это вы зря...
это я про:
теперь хочу удалить все созданные им файлы
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: