Будет ли недостаточно символьной ссылки? Пример:
[root@talara ~]# ls -la /tmp/home/
total 12
drwxr-xr-x 3 root root 4096 Jul 5 16:01 .
drwxrwxrwt. 9 root root 4096 Jul 5 16:01 ..
drwxr-xr-x 2 root root 4096 Jul 5 16:01 123
lrwxrwxrwx 1 root root 13 Jul 5 16:01 321 -> /tmp/home/123
[root@talara ~]# touch /tmp/home/321/ACTIVITY_TEST
[root@talara ~]# ls -la /tmp/home/123/
total 8
drwxr-xr-x 2 root root 4096 Jul 5 16:02 .
drwxr-xr-x 3 root root 4096 Jul 5 16:01 ..
-rw-r--r-- 1 root root 0 Jul 5 16:02 ACTIVITY_TEST
[root@talara ~]#
Этого должно хватить для обмана жестко запрограммированного скрипта или программы.
SCCS se escribió en 1972 y ya (hace que SCCS tenga 46 años hoy ), pero es difícil obtener información sobre SCCS antes de la versión 4.0 que se publicó el 18 de febrero de 1977. La versión 4.0 de SCCS definitivamente incluyó el help
comando. Las revisiones anteriores de SCCS usaban un formato de archivo de historial binario que no es compatible con el SCCS actual.
Permítanme dar una breve información sobre bash
antes de escribir más sobre SCCS:
bash
es un shell poco amigable para el usuario, ya que implementa muchas funciones integradas tontas en lugar de implementar el método ksh93
para funciones integradas que no se enumeran en el estándar. ksh93
implementa un incorporado llamado builtin
que permite configurar una ruta de búsqueda para incorporados. El principal problema con estos tontos incorporados es que se encuentran con la máxima preferencia y no se pueden desactivar fácilmente. Sin embargo, los componentes integrados ksh93 extendidos generalmente no se encuentran de forma predeterminada, ya que requieren que el usuario configure un PATH
que incluye /usr/ast/bin .
Volver a SCCS
y comportamiento UNIX:
Cualquier desarrollador en UNIX normalmente tiene /usr/ccs/bin en su PATH
ya que ccs significa algo similar a C compilation system . Este directorio contiene programas comocc, as, size, strip, nm, m4, make, SCCS, yacc...
/usr/bin/sccshelp ha sido introducido por Oracle al intentar hacer que Solaris Linux -sea similar y a muchas personas de UNIX no les gusta este cambio.
Si desea consultar la documentación oficial en línea de SCCS, le recomiendo que consulte:
en especial:http://sccs.sourceforge.net/man/index.html
ha visto una importante reescritura durante los últimos 12 años y, por cierto, :soy el mantenedor desde entonces.
Mientras que el subsistema SCCS original fue escrito por Marc J. Rochkind en AT&T, Eric Allman de BSD escribió el comando sccs
en 1980 y simplificó el uso de SCCS.
Entonces, si vives en el mundo de AT&T,todos los comandos están en /usr/ccs/bin mientras que en el universo BSD, llamassccs <subcommand>
Respondiendo a su pregunta:sí, era/es común que los desarrolladores tengan el comando de ayuda sccs en PATH aunque el comando de interfaz SCCS sccs
es típico en /usr/bin
В PWB/UNIX и System III существовала /usr/bin/help
справка по SCCS, главным образом по сообщениям об ошибках SCCS, хотя она была расширяемой , и отдельные сайты могли добавлять справку по другим командам или сообщениям об ошибках..
справка (1)из Системы III:
.SH NAME
help \- ask for help
.SH SYNOPSIS
.B help
[\^args\^]
.SH DESCRIPTION
.I Help\^
finds information to explain a message from a command or explain the use of
a command.
Zero or more arguments may be supplied.
If no arguments are given,
.I help\^
will prompt for one.
.PP
The arguments may be either
message numbers (which normally appear in parentheses following messages)
or command names,
of one of the following types:
.PP
.RE
.RS 10
.TP 10
type 1
Begins with non-numerics, ends in numerics.
The non-numeric prefix is usually an abbreviation for the program or
set of routines which produced the message
(e.g., \fBge6\fP, for message 6 from the
.I get\^
command).
...
.SH FILES
.PP
.TP 20
/usr/lib/help
directory containing files of message text.
и заканчивая восхитительно себя -референциальным
.SH DIAGNOSTICS
Use
.IR help (1)
for explanations.
/usr/src/cmd/sccs/sccs.mk имел следующее:
INSDIR = /usr/bin
# Directory where executable SCCS commands are stored
help: help.o $(LIBDIR)/comobj.a
$(CC) $(LDFLAGS) -o help help.o $(LIBDIR)/comobj.a $(LIBES)
cp $(TESTDIR)/help $(INSDIR)
HELPDIR = help.d
# Directory containing SCCS help files.
PUB_HELPLIB = /usr/lib/help
# Public directory where help files are stored.
helpfiles:
-mkdir $(PUB_HELPLIB)
cp $(HELPDIR)/ad $(PUB_HELPLIB)/ad
cp $(HELPDIR)/bd $(PUB_HELPLIB)/bd
...