Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   [решено] Не могу удалить файл из под root'а (http://forum.oszone.net/showthread.php?t=91319)

Gangabass 03-10-2007 05:02 653331

Не могу удалить файл из под root'а
 
Проблема такая: команда
#rm -f /usr/sbin/squid
выдаёт мне
Цитата:

rm: cannot remove `/usr/sbin/squid': Permission denied
при том, что выполняю её я из под root'а.

Я уже что только не пробовал (и chattr -i /usr/sbin и chattr -i /usr/sbin/squid) -- никакого эффекта. Подскажите в чём может быть дело, а то squid не хочет запускаться, я хочу его переустановить, но из-за этой ошибки не могу.

must die 03-10-2007 07:50 653346

Gangabass,

А что в логах, почему сквид не запускается?

ruslandh 03-10-2007 08:53 653375

А что говорят :
ls /usr/sbin/squid
lsattr /usr/sbin/squid
ps -a | grep squid

Gangabass 03-10-2007 09:27 653402

Отвечаю по порядку:
Первое (только я сделал ls -l /usr/sbin/squid)
Цитата:

-rwxr-xr-x 1 root root 698272 Feb 12 2006 /usr/sbin/squid
Второе
Цитата:

suS--adAc---- /usr/sbin/squid
Третье (я вообще удалил squid):
Цитата:

2630 ? S 0:00 grep squid
На самом деле вот из-за чего это мне всё нужно (я устанавливаю squid из rpm): #rpm -ivh squid-2.5.STABLE12-5.1.i386.rpm

Цитата:

warning: squid-2.5.STABLE12-5.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2 Preparing... ########################################### [100%] 1:squid ########################################### [100%] error: unpacking of archive failed on file /usr/sbin/squid;470329d0: cpio: open failed - Operation not permitted
На этом установка прекращается (т. е. squid не устанавливается). Пробую удалить файлы squid;470329d0 и squid из /usr/sbin, а мне говорят, что нельзя :-(

Проверка раздела (fsck) тоже не помогла -- я специально только что создал раздел, перекинул на него данные со старого и подключил новый раздел вместо старого. До того как примонтировал новый раздел без труда смог удалить с него /usr/sbin/squid, но после монтирования (и очередной попытки установки squid'а из rmp) уже не могу удалить только что созданный /usr/sbin/squid. Не хватает прав. Подскажите, что за безобразие?

Вот что говорит мне
# strace rm -f /usr/sbin/squid
Цитата:

execve("/bin/rm", ["rm", "-f", "/usr/sbin/squid"], [/* 21 vars */]) = 0
brk(0) = 0x8729000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=31555, ...}) = 0
mmap2(NULL, 31555, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f24000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\n\tJ\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1528292, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f23000
mmap2(0x48b000, 1254780, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x48b000
mmap2(0x5b7000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12b) = 0x5b7000
mmap2(0x5bb000, 9596, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x5bb000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f22000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7f226b0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0x5b7000, 12288, PROT_READ) = 0
mprotect(0x487000, 4096, PROT_READ) = 0
munmap(0xb7f24000, 31555) = 0
brk(0) = 0x8729000
brk(0x874a000) = 0x874a000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54058400, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d22000
close(3) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
unlink("/usr/sbin/squid") = -1 EPERM (Operation not permitted)
lstat64("/usr/sbin/squid", {st_mode=S_IFREG|0755, st_size=698272, ...}) = 0
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f2b000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2528
read(3, "", 4096) = 0
close(3) = 0
munmap(0xb7f2b000, 4096) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "rm: ", 4) = 4
write(2, "cannot remove `/usr/sbin/squid\'", 31) = 31
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, ": Operation not permitted", 25) = 25
write(2, "\n", 1) = 1
close(1) = 0
exit_group(1) = ?

ruslandh 03-10-2007 09:36 653412

Цитата:

suS--adAc---- /usr/sbin/squid
Так эти suS--adAc---- и надо убрать через chattr
нормально :
------------- /usr/sbin/squid

Gangabass 03-10-2007 10:03 653425

Цитата:

Цитата ruslandh
suS--adAc---- /usr/sbin/squid »

Убрал их
# chattr -suSadAc /usr/sbin/squid
Но ошибка осталась :-(
Т. е. теперь у меня lsattr /usr/sbin/squid
Цитата:

------------- /usr/sbin/squid
Но по прежнему
Цитата:

rm: cannot remove `/usr/sbin/squid': Operation not permitted

ruslandh 03-10-2007 10:12 653433

Я вот и спрашивал - может файл уже запущен ?

must die 03-10-2007 10:23 653444

Gangabass,

Бит i (immutable) установлен на /usr/sbin?
lsattr /usr |grep sbin покажите

Gangabass 03-10-2007 11:48 653509

Цитата:

Цитата must die
------------- /usr/sbin/squid »

Там тоже было что-то вроде
Цитата:

suS--adAc--I- /usr/sbin/
Убрал всё и вроде заработало.
Спасибо!
Кто-нибудь может мне объяснить что это за
Цитата:

suS--adAc----

must die 03-10-2007 12:14 653529

Gangabass,

Это дополнительные атрибуты файловой системы. Почитать можно man chattr.
Бит i - исключает изменение файлов в директории, поэтому и не удался.


Время: 19:33.

Время: 19:33.
© OSzone.net 2001-