sticky bit directory
Steve Rumsby
steve%maths.warwick.ac.uk at nss.cs.ucl.ac.uk
Wed Jan 25 18:13:35 AEST 1989
This is on a 4.0.1 system - watch.
Script started on Thu Jan 19 08:52:18 1989
% cd /tmp
% ls -al
total 68
drwxrwxrwt 10 bin 2048 Jan 19 08:52 ./
drwxr-xr-x 20 bin 1024 Jan 10 14:52 ../
-rw-r--r-- 1 root 200 Jan 17 11:57 .getwd
drwxrwxrwt 2 bin 12800 Jan 19 04:15 alph/
drwxrwxrwt 6 bin 1024 Jan 19 08:42 avon/
drwxr-xr-x 2 steve 512 Nov 21 11:23 cmr/
drwxrwxrwt 10 bin 3584 Jan 19 04:15 inch/
drwxrwxrwt 2 bin 20992 Jan 19 04:15 leam/
drwxr-xr-x 2 root 8192 Nov 10 13:39 lost+found/ <- only two links
drwxr-xr-x 5 steve 512 Nov 17 12:34 sun3.4.0.1/
drwxrwxrwt 2 bin 14848 Jan 19 04:15 swift/
% mv lost+found foo
mv: lost+found: rename: Not owner
% ls -al
total 76
drwxrwxrwt 10 bin 2048 Jan 19 08:52 ./
drwxr-xr-x 20 bin 1024 Jan 10 14:52 ../
-rw-r--r-- 1 root 200 Jan 17 11:57 .getwd
drwxrwxrwt 2 bin 12800 Jan 19 04:15 alph/
drwxrwxrwt 6 bin 1024 Jan 19 08:42 avon/
drwxr-xr-x 2 steve 512 Nov 21 11:23 cmr/
drwxr-xr-x 3 root 8192 Nov 10 13:39 foo/ <-
drwxrwxrwt 10 bin 3584 Jan 19 04:15 inch/ |_ 3 links
drwxrwxrwt 2 bin 20992 Jan 19 04:15 leam/ |
drwxr-xr-x 3 root 8192 Nov 10 13:39 lost+found/ <-
drwxr-xr-x 5 steve 512 Nov 17 12:34 sun3.4.0.1/
drwxrwxrwt 2 bin 14848 Jan 19 04:15 swift/
% rmdir foo
rmdir: foo: Not owner
% su
Password:
# rmdir foo
rmdir: foo: Directory not empty
# /etc/unlink foo
# ls -al
total 76
drwxrwxrwt 10 bin 2048 Jan 19 08:52 .
drwxr-xr-x 20 bin 1024 Jan 10 14:52 ..
-rw-r--r-- 1 root 200 Jan 17 11:57 .getwd
drwxrwxrwt 2 bin 12800 Jan 19 04:15 alph
drwxrwxrwt 6 bin 1024 Jan 19 08:42 avon
drwxr-xr-x 2 steve 512 Nov 21 11:23 cmr
drwxr-xr-x 3 root 8192 Nov 10 13:39 foo
drwxrwxrwt 10 bin 3584 Jan 19 04:15 inch
drwxrwxrwt 2 bin 20992 Jan 19 04:15 leam
drwxr-xr-x 3 root 8192 Nov 10 13:39 lost+found
drwxr-xr-x 5 steve 512 Nov 17 12:34 sun3.4.0.1
drwxrwxrwt 2 bin 14848 Jan 19 04:15 swift
# cat > u.c
main(argc, argv)
int argc;
char **argv;
{
if(unlink(argv[1]) == -1)
perror(argv[1]);
}
# make u
cc -sun3 -o u u.c
# ./u foo
foo: Not owner
# ls -al
total 101
drwxrwxrwt 10 bin 2048 Jan 19 08:54 .
drwxr-xr-x 20 bin 1024 Jan 10 14:52 ..
-rw-r--r-- 1 root 200 Jan 17 11:57 .getwd
drwxrwxrwt 2 bin 12800 Jan 19 04:15 alph
drwxrwxrwt 6 bin 1024 Jan 19 08:42 avon
drwxr-xr-x 2 steve 512 Nov 21 11:23 cmr
drwxr-xr-x 3 root 8192 Nov 10 13:39 foo
drwxrwxrwt 10 bin 3584 Jan 19 04:15 inch
drwxrwxrwt 2 bin 20992 Jan 19 04:15 leam
drwxr-xr-x 3 root 8192 Nov 10 13:39 lost+found
drwxr-xr-x 5 steve 512 Nov 17 12:34 sun3.4.0.1
drwxrwxrwt 2 bin 14848 Jan 19 04:15 swift
-rwxr-xr-x 1 root 24576 Jan 19 08:54 u
-rw-r--r-- 1 root 90 Jan 19 08:54 u.c
# ^D
% cd /
% su
Password:
# /etc/umount /tmp
# /etc/fsck /tmp
** /dev/rxy1d
** Last Mounted on /tmp
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
/foo IS AN EXTRANEOUS HARD LINK TO DIRECTORY /lost+found
REMOVE? y
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
LINK COUNT DIR I=3 OWNER=root MODE=40755
SIZE=8192 MTIME=Nov 10 13:39 1988 COUNT 3 SHOULD BE 2
ADJUST? y
** Phase 5 - Check Cyl groups
3156 files, 40043 used, 37904 free (416 frags, 4686 blocks, 0.5% fragmentation)
***** FILE SYSTEM WAS MODIFIED *****
# /etc/mount /tmp
# cd /tmp
# ls -al
total 93
drwxrwxrwt 10 bin 2048 Jan 19 08:54 .
drwxr-xr-x 20 bin 1024 Jan 10 14:52 ..
-rw-r--r-- 1 root 200 Jan 17 11:57 .getwd
drwxrwxrwt 2 bin 12800 Jan 19 04:15 alph
drwxrwxrwt 6 bin 1024 Jan 19 08:42 avon
drwxr-xr-x 2 steve 512 Nov 21 11:23 cmr
drwxrwxrwt 10 bin 3584 Jan 19 04:15 inch
drwxrwxrwt 2 bin 20992 Jan 19 04:15 leam
drwxr-xr-x 2 root 8192 Nov 10 13:39 lost+found
drwxr-xr-x 5 steve 512 Nov 17 12:34 sun3.4.0.1
drwxrwxrwt 2 bin 14848 Jan 19 04:15 swift
-rwxr-xr-x 1 root 24576 Jan 19 08:54 u
-rw-r--r-- 1 root 90 Jan 19 08:54 u.c
...
script done on Thu Jan 19 08:56:25 1989
--
UUCP: ...!ukc!warwick!steve Internet: steve at maths.warwick.ac.uk
JANET: steve at uk.ac.warwick.maths PHONE: +44 203 523523 x2657
[[ I don't know why I wasn't able to recreate it before. I thought I was
doing all the right things. But I have confirmed it now: this behavior
can be duplicated under 4.0.1. Thank you for sending a typescript. It is
much clearer and more precise than a wordy explanation. --wnl ]]
More information about the Comp.sys.sun
mailing list