LinuxForum.Fans
Тема

Настройка анонимного доступа к vsftpd [и немного про audit ядра]

Автор: yoric1 22 сообщений 8530 просмотров
#381836

Ну ткните кто-нить уже носом меня, пож-ста, третью ночь не сплю :D

[console]globus@aspera:/tmp/321/babel/vert$ ls -ld
drwxrwxr-x 2 ftp globus 40 май 29 23:11 .
globus@aspera:/tmp/321/babel/vert$ touch prob
globus@aspera:/tmp/321/babel/vert$ ls -l
total 0
-rw-r--r-- 1 globus globus 0 май 29 23:16 prob
globus@aspera:/tmp/321/babel/vert$ chmod 600 prob
globus@aspera:/tmp/321/babel/vert$ chgrp ftp prob
globus@aspera:/tmp/321/babel/vert$ ls -l
total 4
-rw------- 1 globus ftp 5 май 29 23:31 prob
globus@aspera:/tmp/321/babel/vert$ echo ftpr > prob
globus@aspera:/tmp/321/babel/vert$ ls -l
total 4
-rw------- 1 globus globus 5 май 29 23:17 prob
globus@aspera:/tmp/321/babel/vert$ cat prob
ftpr
globus@aspera:/tmp/321/babel/vert$ rm prob
globus@aspera:/tmp/321/babel/vert$ ls -l
total 0
globus@aspera:/tmp/321/babel/vert$ [/console]

В аналогичной ситуации я создаю, модицицирую и удаляю файл. Владельца сменить не могу, я ж не root.

[console]drwxrwxr-x 2 globus ftp 111 май 24 23:14 upload
-rw------- 1 ftp ftp 0 май 24 22:30 j5b154er.txt[/console]

Он хочет владельца сменить, но у него родитель root
Почему vsftpd не может? Обрывается на этом этапе. Вроде всё для этого соответствует... Я уж и strace покопался
Потомок:

text
rt_sigaction(SIGALRM, {0x7f797b688a10, ~[RTMIN RT_1], SA_RESTORER, 0x7f797a46e420}, NULL, 8) = 0
alarm(300)                              = 300
recvfrom(0, "STOR /upload/j5b154er.txt\r\n", 4096, MSG_PEEK, NULL, NULL) = 27
read(0, "STOR /upload/j5b154er.txt\r\n", 27) = 27
fcntl(4, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
write(4, "Thu May 29 20:58:04 2014 [pid 66"..., 102) = 102
fcntl(4, F_SETLK, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) = 0
write(6, "\v", 1)                       = 1
read(6, "\1\0\0\0", 4)                  = 4
open("/upload/j5b154er.txt", O_WRONLY|O_CREAT|O_EXCL|O_APPEND, 0666) = 5
fstat(5, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
fcntl(5, F_GETFL)                       = 0x8401 (flags O_WRONLY|O_APPEND|O_LARGEFILE)
fcntl(5, F_SETFL, O_WRONLY|O_APPEND|O_LARGEFILE) = 0
+++ killed by SIGSYS +++

Родитель:

text
listen(3, 32)                           = 0
accept(3, {sa_family=AF_INET, sin_port=htons(60604), sin_addr=inet_addr("127.0.0.1")}, [16]) = 4
clone(child_stack=0, flags=0x8000000|SIGCHLD) = 667
close(4)                                = 0
accept(3, 0x7fff7ad4a790, [28])         = ? ERESTARTSYS (To be restarted)
--- SIGCHLD (Child exited) @ 0 (0) ---
alarm(1)                                = 0
rt_sigreturn(0x1)                       = -1 EINTR (Interrupted system call)
alarm(0)                                = 1
wait4(-1, NULL, WNOHANG, NULL)          = 667
wait4(-1, NULL, WNOHANG, NULL)          = -1 ECHILD (No child processes)
accept(3, {sa_family=AF_INET, sin_port=htons(60610), sin_addr=inet_addr("127.0.0.1")}, [16]) = 4
clone(child_stack=0, flags=0x8000000|SIGCHLD) = 723
close(4)                                = 0
accept(3, 0x7fff7ad4a790, [28])         = ? ERESTARTSYS (To be restarted)
--- SIGTERM (Terminated) @ 0 (0) ---

Вроде ошибок не видно, умирает и перезапускается дочерний процесс

Хотя, есть незакрытый баг у vsftpd в дебиане:
#631785 [m|Hu| ] [vsftpd] strac'ing vsftpd master process hangs connected clients

#382230

"yoric1" написал:
Почему я, не будучи владельцем, удалил чужой файл без разрешения?
удаление файла — операция с каталогом. Необходимо и достаточно права +w на каталог. С переносом файла точно также. Вы файл не читаете и не меняете. Потому права на сам файл не имеют значения.

"yoric1" написал:
Чего это кстати 8,
килобайт. Всего в файлах. файл занимает минимум 1 блок(4К), если он не имеет нулевой размер (. и .. не считаются)

"yoric1" написал:
Он хочет владельца сменить, но у него родитель root
у кого? С чего вы взяли, что "он хочет сменить владельца"? Это невозможно и не нужно.
Войдите или зарегистрируйтесь, чтобы ответить.