8

Insane NAS permissions problem (SOLVED)

 3 years ago
source link: https://qntm.org/nas
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Insane NAS permissions problem (SOLVED)

2010-03-01 by qntm

I don't usually admit defeat in a technological showdown but this one may have killed me.

I have a Windows 7 computer and a wireless router provided by my ISP. Attached to the router (via a wire) is a piece of NAS, a 1TB Maxtor Central Axis external ethernet-connected hard drive. This drive is mounted as Windows network share on my computer. The hard drive is called ntgl. On this hard drive is a file. This file cannot be deleted.

List of measures I've attempted and how they failed:

Hitting "delete"

Windows reports "The action can't be completed because the file is open in another program. Close the file and try again."

"Shift+delete"

Same again.

Moving the file

This works fine as long as the file remains on ntgl.

Modifying the file

Can't be done, file is read-only.

Renaming the file

Perfectly allowable.

Editing the file's properties to remove the "read-only" flag

Windows reports "Access is denied".

Trying to find any process which may have locked the file

Turned up no such processes.

Closing all unnecessary processes, hitting "delete"

Same response.

Rebooting computer, hitting "delete"

Same response.

Power-cycling NAS, hitting "delete"

Same response.

Booting into safe mode + networking, hitting "delete"

Same response.

Using Process Monitor to find the process locking the file

Process Monitor believes that the file in question is not locked.

Using Unlocker to free the file

Unlocker doesn't work on Windows 7.

Using Lockhunter to free the file

Lockhunter claims "No any processes locking this file or folder have been found", and goes on to report "Cannot delete file!"

Modifying permissions in Properties > Security > Edit...

Windows reports "Unable to save permission changes. Access is denied."

Attempting to add permissions for another group or user using Properties > Security > Edit... > Add...

Windows reports 'The program cannot open the required dialog box because it cannot determine whether the computer named "ntgl" is joined to a domain. Close this message, and try again'.

Closing that message instantly yields another message, "Unable to display the user selection dialog. This action is only valid for products that are currently installed."

Attempt to change permissions using Properties > Security > Advanced > Change Permissions...

Same as the previous three responses. Any attempt to save changes to existing permissions results in "access is denied", any attempt to add new a new group or user yields "cannot open the required dialog box".

Attempt to take ownership using Properties > Security > Advanced > Owner > Edit...

Same as above.

Using the Maxtor Central Axis web interface

This doesn't offer direct control over individual files.

Creating other shared folders using MCA web interface

It's not possible to move the file to a different shared folder (it's currently in Public).

Creating other usernames using MCA web interface

I've never been able to mount a network share using anything other than "no username no password".

Booting into Ubuntu and trying to delete the file like that

Ubuntu wireless didn't work.

Attaching a physical cable from my computer to my router, then trying Ubuntu again

Successfully mounted the share, but Ubuntu can't delete the file, saying "The permissions of the file could not be determined".

Physically directly connecting my computer to the hard drive via ethernet

I don't have a crossover cable.

Physically directly connecting my computer to the hard drive via USB

I don't have a USB cable. Besides, this is network-attach storage. The USB connector is intended to host a printer or secondary hard drive, not the computer itself.

Using the Windows command line

"Access is denied".

Formatting the drive

I am trying to avoid this and I suspect it may be impossible anyway.

Google

I have, of course, Googled all of these symptoms until my fingers bled, and here I still am.

So there you have it. Any other bright ideas, world at large?

Update 2010-03-06

Run command line as Administrator, then use "del"

As Administrator, the Windows 7 command line doesn't seem to know that this mounted network share is there. Typing "Z:" results in "The system cannot find the drive specified".

Connect the drive via SATA

There is no SATA port, only ethernet and USB.

Connect directly to the drive over ethernet using a patch cable (no crossover cable)

Doesn't work. Predictably. The connectors are in the wrong order if you do it like this.

Remove the drive from its box

The drive is an internal part of a black box which I am not in a position to open.

EDIT: In case this wasn't blindingly obvious, this would void the warranty. It would probably also be impossible to put the thing back together again, a risk I'm not prepared to take.

Use Killbox

It's pretty firmly established at this point that the file isn't in use, it's just an access permissions issue.

Copy the contents of the drive somewhere else, then format it

There is no way to format this drive. Pressing the "Reset" button in the drive's base has no effect except to cause a bunch of helpful empty folders like "Our Music" and "Our Documents" to recreate themselves. It doesn't reset the admin password or the drive's hostname and it definitely doesn't erase any data.

Copy the file to another physical drive and delete the copy

This works fine. Of course, the original is still there.

Delete the file using its DOS name, not its full name

The two are identical. "Access is denied".

Read the contents of the file

This works fine, it's read-only though.

chkdsk

Windows cannot check a disk attached through a network.

Update 2010-03-08

What file is it?

The file is (originally) named jobs.ini and it is the output from a Windows wrapper program for wget. It contains the data from a few Wget runs I ran over a year ago. Wget itself along with the wrapper program have been deleted.

Can you read it?

Yes. It's plain text.

Can you modify it?

No, it's read-only.

Boot into Ubuntu...

Done.

Mount the drive at /mnt/ntgl and find it using the Ubuntu command line.

sudo apt-get install smbfs
sudo mkdir /mnt/ntgl
sudo smbmount //ntgl/public /mnt/ntgl

Done.

What are the file's permissions?

-r--r--r-- 1 500 500 3479 2008-10-23 01:31 jobs.ini

rm jobs.ini

ubuntu@ubuntu:/mnt/ntgl$ rm jobs.ini
rm: remove write-protected regular file `jobs.ini'? yes
rm: cannot remove `jobs.ini': Permission denied
ubuntu@ubuntu:/mnt/ntgl$ sudo rm jobs.ini
rm: cannot remove `jobs.ini': Permission denied

chmod 777 jobs.ini

ubuntu@ubuntu:/mnt/ntgl$ chmod 777 jobs.ini
chmod: changing permissions of `jobs.ini': Operation not permitted
ubuntu@ubuntu:/mnt/ntgl$ sudo chmod 777 jobs.ini
chmod: changing permissions of `jobs.ini': Permission denied

chown root jobs.ini

ubuntu@ubuntu:/mnt/ntgl$ chown root jobs.ini
chown: changing ownership of `jobs.ini': Operation not permitted
ubuntu@ubuntu:/mnt/ntgl$ sudo chown root jobs.ini
chown: changing ownership of `jobs.ini': Permission denied

fsck

ubuntu@ubuntu:/mnt/ntgl$ fsck /mnt/ngtl
fsck from util-linux-ng 2.16
e2fsck 1.41.9 (22-Aug-2009)
fsck.ext2: No such file or directory while trying to open /mnt/ngtl

The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
ubuntu@ubuntu:/mnt/ntgl$ e2fsck -b 8193 /mnt/ntgl
e2fsck 1.41.9 (22-Aug-2009)
e2fsck: Is a directory while trying to open /mnt/ntgl

The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>

What filesystem is the drive?

NTFS, I think. Certainly not ext2.

Try a port scan?

ubuntu@ubuntu:/mnt/ntgl$ sudo nmap -p1-65535 -sS ntgl

Starting Nmap 5.00 ( http://nmap.org ) at 2010-03-08 20:10 UTC
Interesting ports on NTGL.lan (192.168.1.64):
Not shown: 65530 closed ports
PORT STATE SERVICE
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
4301/tcp open unknown
MAC Address: 00:10:75:05:84:2A (Maxtor)

Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds

Try this boot disk which erases all of your hard drives.

How stupid do you think I am?

Can you telnet into the drive?

Can you SSH into the drive?

strace

ubuntu@ubuntu:/mnt/ntgl$ sudo strace chmod 777 jobs.ini
execve("/bin/chmod", ["chmod", "777", "jobs.ini"], [/* 16 vars */]) = 0
brk(0)                                  = 0x825d000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77fe000
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=54799, ...}) = 0
mmap2(NULL, 54799, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77f0000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "177ELF111331260l1004"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1319364, ...}) = 0
mmap2(NULL, 1325416, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x13b000
mmap2(0x279000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13e) = 0x279000
mmap2(0x27c000, 10600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x27c000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77ef000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb77ef8d0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0x279000, 8192, PROT_READ)     = 0
mprotect(0x8055000, 4096, PROT_READ)    = 0
mprotect(0xcb8000, 4096, PROT_READ)     = 0
munmap(0xb77f0000, 54799)               = 0
brk(0)                                  = 0x825d000
brk(0x827e000)                          = 0x827e000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2570, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77fd000
read(3, "# Locale name alias data base.n#"..., 1024) = 1024
read(3, " entries are case independent.nn"..., 1024) = 1024
read(3, "Rnko_KRttko_KR.eucKRnlithuanian "..., 1024) = 522
read(3, "", 1024)                       = 0
close(3)                                = 0
munmap(0xb77fd000, 4096)                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=373, ...}) = 0
mmap2(NULL, 373, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77fd000
close(3)                                = 0
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=26048, ...}) = 0
mmap2(NULL, 26048, PROT_READ, MAP_SHARED, 3, 0) = 0xb77f6000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_MEASUREMENT", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_MEASUREMENT", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0
mmap2(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77f5000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_TELEPHONE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_TELEPHONE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0
mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77f4000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_ADDRESS", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_ADDRESS", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0
mmap2(NULL, 155, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77f3000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_NAME", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_NAME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
mmap2(NULL, 77, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77f2000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_PAPER", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_PAPER", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0
mmap2(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77f1000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0
close(3)                                = 0
open("/usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=52, ...}) = 0
mmap2(NULL, 52, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77f0000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_MONETARY", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_MONETARY", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=286, ...}) = 0
mmap2(NULL, 286, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77ee000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_COLLATE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=966938, ...}) = 0
mmap2(NULL, 966938, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7701000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_TIME", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_TIME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2454, ...}) = 0
mmap2(NULL, 2454, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7700000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_NUMERIC", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_NUMERIC", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
mmap2(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb76ff000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_CTYPE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=256316, ...}) = 0
mmap2(NULL, 256316, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb76c0000
close(3)                                = 0
umask(0)                                = 022
stat64("jobs.ini", {st_mode=S_IFREG|0444, st_size=3479, ...}) = 0
fchmodat(AT_FDCWD, "jobs.ini", 0777)    = -1 EACCES (Permission denied)
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)
open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "chmod: ", 7chmod: )                  = 7
write(2, "changing permissions of `jobs.in"..., 34changing permissions of `jobs.ini') = 34
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)
open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, ": Permission denied", 19: Permission denied)     = 19
write(2, "n", 1
)                       = 1
close(1)                                = 0
close(2)                                = 0
exit_group(1)                           = ?

ubuntu@ubuntu:/mnt/ntgl$ sudo strace rm -f jobs.ini
execve("/bin/rm", ["rm", "-f", "jobs.ini"], [/* 16 vars */]) = 0
brk(0)                                  = 0x8bff000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7769000
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=54799, ...}) = 0
mmap2(NULL, 54799, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb775b000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "177ELF111331260l1004"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1319364, ...}) = 0
mmap2(NULL, 1325416, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x366000
mmap2(0x4a4000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13e) = 0x4a4000
mmap2(0x4a7000, 10600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4a7000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb775a000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb775a8d0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0x4a4000, 8192, PROT_READ)     = 0
mprotect(0x8056000, 4096, PROT_READ)    = 0
mprotect(0xc23000, 4096, PROT_READ)     = 0
munmap(0xb775b000, 54799)               = 0
brk(0)                                  = 0x8bff000
brk(0x8c20000)                          = 0x8c20000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2570, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7768000
read(3, "# Locale name alias data base.n#"..., 1024) = 1024
read(3, " entries are case independent.nn"..., 1024) = 1024
read(3, "Rnko_KRttko_KR.eucKRnlithuanian "..., 1024) = 522
read(3, "", 1024)                       = 0
close(3)                                = 0
munmap(0xb7768000, 4096)                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=373, ...}) = 0
mmap2(NULL, 373, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7768000
close(3)                                = 0
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=26048, ...}) = 0
mmap2(NULL, 26048, PROT_READ, MAP_SHARED, 3, 0) = 0xb7761000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_MEASUREMENT", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_MEASUREMENT", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0
mmap2(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7760000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_TELEPHONE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_TELEPHONE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0
mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb775f000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_ADDRESS", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_ADDRESS", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0
mmap2(NULL, 155, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb775e000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_NAME", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_NAME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
mmap2(NULL, 77, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb775d000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_PAPER", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_PAPER", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0
mmap2(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb775c000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0
close(3)                                = 0
open("/usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=52, ...}) = 0
mmap2(NULL, 52, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb775b000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_MONETARY", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_MONETARY", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=286, ...}) = 0
mmap2(NULL, 286, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7759000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_COLLATE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=966938, ...}) = 0
mmap2(NULL, 966938, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb766c000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_TIME", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_TIME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2454, ...}) = 0
mmap2(NULL, 2454, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb766b000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_NUMERIC", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_NUMERIC", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
mmap2(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb766a000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_CTYPE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=256316, ...}) = 0
mmap2(NULL, 256316, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb762b000
close(3)                                = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
unlinkat(AT_FDCWD, "jobs.ini", 0)       = -1 EACCES (Permission denied)
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)
open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "rm: ", 4rm: )                     = 4
write(2, "cannot remove `jobs.ini'", 24cannot remove `jobs.ini') = 24
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)
open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, ": Permission denied", 19: Permission denied)     = 19
write(2, "n", 1
)                       = 1
close(0)                                = 0
close(1)                                = 0
close(2)                                = 0
exit_group(1)                           = ?

Update 2010-03-12

I'm just going to return the thing, it's still under warranty.

Update 2010-03-16

NAILED IT.

I actually got as far as booking a date to return the drive to Seagate, which was going to be a tremendous hassle for me on account of having to stay home from work so they could pick the box up, and stuff. Before doing this, I decided to delete all the other files off the drive just so it contained no personal information when it was sent back. This turned out to leave a whole lot more undeletable files on the drive, most of them very old metadata from back when I used to use TortoiseSVN.

This got me wondering what the common theme was between the files. I wondered if maybe it was that they had been created by programs which had been running in place on the drive (with whose permissions?) and then realised that the common feature was that all the files were pretty old. They harkened back to an era when I was actually still trying to get user access and permissions to work on the Central Axis (it doesn't work very well and the web interface is astoundingly sluggish, so now I just use the single Public user, no username, no password).

Bear in mind that the user permissions on all of the files just had three names: one was "Everyone" and the other two were long, unidentifiable strings of numbers. But, I thought, what do those numbers refer to? Users on the MCA, that's who. What I did was recreate an ancient, long-since deleted user account with the name of "Sam". I unmounted the network drive, and then remounted it using the username and password of this new user. I was then able to delete the files.

Basically the files had been created by a user which no longer existed. All I had to do was recreate that account and log in using its credentials.

Some of you will deride me for not thinking of this sooner, and you can all kindly hold your peace because none of you thought of it at all!

Two and a half weeks or thereabouts? What's your record for the longest time spent attempting to solve a technical problem before succeeding?


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK