diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2000-06-09 16:29:07 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2000-06-09 16:29:07 +0000 |
commit | c038cad25c3cc7a430d45ea04ce8fa6af7986542 (patch) | |
tree | 0591b2aa6c21455f668e40cdab82398bc2778ef4 | |
parent | 2c4dd839b221ff29c42a444c4642510a244b2331 (diff) |
chown moved into chmod
-rw-r--r-- | usr.sbin/Makefile | 4 | ||||
-rw-r--r-- | usr.sbin/chown/Makefile | 8 | ||||
-rw-r--r-- | usr.sbin/chown/chgrp.1 | 130 | ||||
-rw-r--r-- | usr.sbin/chown/chown.8 | 153 | ||||
-rw-r--r-- | usr.sbin/chown/chown.c | 238 |
5 files changed, 2 insertions, 531 deletions
diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile index 6c359f00998..23e01c38b72 100644 --- a/usr.sbin/Makefile +++ b/usr.sbin/Makefile @@ -1,11 +1,11 @@ -# $OpenBSD: Makefile,v 1.64 2000/05/18 17:01:37 espie Exp $ +# $OpenBSD: Makefile,v 1.65 2000/06/09 16:28:26 mickey Exp $ # not yet done: catman .include <bsd.own.mk> SUBDIR= ac accton adduser amd arp bootpd bootpgw bootpef bootptest \ - chown chroot config cron dev_mkdb dhcp \ + chroot config cron dev_mkdb dhcp \ edquota gspa httpd inetd iostat \ ipftest ipmon ipsend kgmon kvm_mkdb lpr \ mailwrapper map-mbone mrinfo mopd mrouted mtrace mtree named \ diff --git a/usr.sbin/chown/Makefile b/usr.sbin/chown/Makefile deleted file mode 100644 index 9801dc8f9ac..00000000000 --- a/usr.sbin/chown/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# $OpenBSD: Makefile,v 1.4 1997/09/21 11:43:29 deraadt Exp $ - -PROG= chown -CFLAGS+=-DSUPPORT_DOT -MAN= chgrp.1 chown.8 -LINKS= ${BINDIR}/chown ${BINDIR}/chgrp - -.include <bsd.prog.mk> diff --git a/usr.sbin/chown/chgrp.1 b/usr.sbin/chown/chgrp.1 deleted file mode 100644 index ad880761130..00000000000 --- a/usr.sbin/chown/chgrp.1 +++ /dev/null @@ -1,130 +0,0 @@ -.\" $OpenBSD: chgrp.1,v 1.6 2000/04/15 11:45:59 aaron Exp $ -.\" -.\" Copyright (c) 1983, 1990, 1993, 1994 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" the Institute of Electrical and Electronics Engineers, Inc. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" from: @(#)chgrp.1 8.3 (Berkeley) 3/31/94 -.\" -.Dd January 25, 1997 -.Dt CHGRP 1 -.Os -.Sh NAME -.Nm chgrp -.Nd change group -.Sh SYNOPSIS -.Nm chgrp -.Oo -.Fl R -.Op Fl H | Fl L | Fl P -.Oc -.Op Fl f -.Op Fl h -.Ar group -.Ar file Op Ar ... -.Sh DESCRIPTION -.Nm -sets the group ID of the specified files. -.Pp -The options are as follows: -.Bl -tag -width Ds -.It Fl H -If the -.Fl R -option is specified, symbolic links on the command line are followed. -(Symbolic links encountered in the tree traversal are not followed.) -.It Fl L -If the -.Fl R -option is specified, all symbolic links are followed. -.It Fl P -If the -.Fl R -option is specified, no symbolic links are followed. -.It Fl R -Change the group ID for the file hierarchies rooted -in the files instead of just the files themselves. -.It Fl f -The force option ignores errors, except for usage errors and doesn't -query about strange modes (unless the user does not have proper permissions). -.It Fl h -Change the group ID of the specified symbolic link. -The -.Fl h -and -.Fl R -options are mutually exclusive. -.El -.Pp -The -.Fl H , -.Fl L -and -.Fl P -options are ignored unless the -.Fl R -option is specified. -In addition, these options override each other and the -command's actions are determined by the last one specified. -.Pp -The -.Ar group -operand can be either a group name from the group database, -or a numeric group ID. -If a group name is also a numeric group ID, the operand is used as a -group name. -.Pp -The user invoking -.Nm chgrp -must belong to the specified group and be the owner of the file, -or be the superuser. -.Pp -The -.Nm chgrp -utility exits 0 on success or >0 if an error occurred. -.Sh FILES -.Bl -tag -width /etc/group -compact -.It Pa /etc/group -group ID file -.El -.Sh SEE ALSO -.Xr chown 2 , -.Xr fts 3 , -.Xr group 5 , -.Xr passwd 5 , -.Xr symlink 7 , -.Xr chown 8 -.Sh STANDARDS -The -.Nm chgrp -utility is expected to be POSIX 1003.2 compatible. diff --git a/usr.sbin/chown/chown.8 b/usr.sbin/chown/chown.8 deleted file mode 100644 index 20d4a7e7446..00000000000 --- a/usr.sbin/chown/chown.8 +++ /dev/null @@ -1,153 +0,0 @@ -.\" $OpenBSD: chown.8,v 1.6 2000/04/15 11:45:59 aaron Exp $ -.\" -.\" Copyright (c) 1990, 1991, 1993, 1994 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" from: @(#)chown.8 8.3 (Berkeley) 3/31/94 -.\" -.Dd January 25, 1997 -.Dt CHOWN 8 -.Os -.Sh NAME -.Nm chown -.Nd change file owner and group -.Sh SYNOPSIS -.Nm chown -.Oo -.Fl R -.Op Fl H | Fl L | Fl P -.Oc -.Op Fl f -.Op Fl h -.Ar ownerof Op Ar :group -.Ar file Op Ar ... -.Nm chown -.Oo -.Fl R -.Op Fl H | Fl L | Fl P -.Oc -.Op Fl f -.Op Fl h -.Ar :group -.Ar file Op Ar ... -.Sh DESCRIPTION -.Nm chown -sets the user ID and/or the group ID of the specified files. -.Pp -The options are as follows: -.Bl -tag -width Ds -.It Fl H -If the -.Fl R -option is specified, symbolic links on the command line are followed. -(Symbolic links encountered in the tree traversal are not followed.) -.It Fl L -If the -.Fl R -option is specified, all symbolic links are followed. -.It Fl P -If the -.Fl R -option is specified, no symbolic links are followed. -.It Fl R -Change the user ID and/or the group ID for the file hierarchies rooted -in the files instead of just the files themselves. -.It Fl f -Don't report any failure to change file owner or group, nor modify -the exit status to reflect such failures. -.It Fl h -Change the user ID and/or the group ID on symbolic links. -The -.Fl R -and -.Fl h -options are mutually exclusive. -.El -.Pp -The -.Fl H , -.Fl L -and -.Fl P -options are ignored unless the -.Fl R -option is specified. -In addition, these options override each other and the -command's actions are determined by the last one specified. -.Pp -The -.Ar owner -and -.Ar group -operands are both optional; however, one must be specified. -If the -.Ar group -operand is specified, it must be preceded by a colon -.Pq Sq \&: -character. -.Pp -The -.Ar owner -may be either a numeric user ID or a user name. -If a user name is also a numeric user ID, the operand is used as a -user name. -The -.Ar group -may be either a numeric group ID or a group name. -If a group name is also a numeric group ID, the operand is used as a -group name. -.Pp -The ownership of a file may only be altered by a superuser for -obvious security reasons. -.Pp -The -.Nm chown -utility exits 0 on success or >0 if an error occurred. -.Sh COMPATIBILITY -Previous versions of the -.Nm chown -utility used the dot -.Pq Sq \&. -character to distinguish the group name. -This has been changed to be a colon -.Pq Sq \&: -character so that user and -group names may contain the dot character. -.Sh SEE ALSO -.Xr chgrp 1 , -.Xr find 1 , -.Xr chown 2 , -.Xr fts 3 , -.Xr symlink 7 -.Sh STANDARDS -The -.Nm chown -command is expected to be POSIX 1003.2 compliant. diff --git a/usr.sbin/chown/chown.c b/usr.sbin/chown/chown.c deleted file mode 100644 index 3ad97c47d05..00000000000 --- a/usr.sbin/chown/chown.c +++ /dev/null @@ -1,238 +0,0 @@ -/* $OpenBSD: chown.c,v 1.12 2000/01/14 03:08:03 ericj Exp $ */ - -/* - * Copyright (c) 1988, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char copyright[] = -"@(#) Copyright (c) 1988, 1993, 1994\n\ - The Regents of the University of California. All rights reserved.\n"; -#endif /* not lint */ - -#ifndef lint -/* from: static char sccsid[] = "@(#)chown.c 8.8 (Berkeley) 4/4/94"; */ -static char *rcsid = "$Id: chown.c,v 1.12 2000/01/14 03:08:03 ericj Exp $"; -#endif /* not lint */ - -#include <sys/param.h> -#include <sys/stat.h> - -#include <ctype.h> -#include <dirent.h> -#include <err.h> -#include <errno.h> -#include <fts.h> -#include <grp.h> -#include <pwd.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <locale.h> - -void a_gid __P((char *)); -void a_uid __P((char *)); -void usage __P((void)); - -uid_t uid; -gid_t gid; -int Rflag, ischown, fflag; -extern char *__progname; - -int -main(argc, argv) - int argc; - char *argv[]; -{ - FTS *ftsp; - FTSENT *p; - int Hflag, Lflag, ch, fts_options, hflag, rval; - char *cp; - - setlocale(LC_ALL, ""); - - ischown = __progname[2] == 'o'; - - Hflag = Lflag = hflag = 0; - while ((ch = getopt(argc, argv, "HLPRfh")) != -1) - switch (ch) { - case 'H': - Hflag = 1; - Lflag = 0; - break; - case 'L': - Lflag = 1; - Hflag = 0; - break; - case 'P': - Hflag = Lflag = 0; - break; - case 'R': - Rflag = 1; - break; - case 'f': - fflag = 1; - break; - case 'h': - hflag = 1; - break; - case '?': - default: - usage(); - } - argv += optind; - argc -= optind; - - if (argc < 2) - usage(); - - fts_options = FTS_PHYSICAL; - if (Rflag) { - if (hflag) - errx(1, - "the -R and -h options may not be specified together."); - if (Hflag) - fts_options |= FTS_COMFOLLOW; - if (Lflag) { - fts_options &= ~FTS_PHYSICAL; - fts_options |= FTS_LOGICAL; - } - } - - uid = gid = -1; - if (ischown) { - if ((cp = strchr(*argv, ':')) != NULL) { - *cp++ = '\0'; - a_gid(cp); - } -#ifdef SUPPORT_DOT - else if ((cp = strchr(*argv, '.')) != NULL) { - *cp++ = '\0'; - a_gid(cp); - } -#endif - a_uid(*argv); - } else - a_gid(*argv); - - if ((ftsp = fts_open(++argv, fts_options, 0)) == NULL) - err(1, NULL); - - for (rval = 0; (p = fts_read(ftsp)) != NULL;) { - switch (p->fts_info) { - case FTS_D: - if (!Rflag) /* Change it at FTS_DP. */ - fts_set(ftsp, p, FTS_SKIP); - continue; - case FTS_DNR: /* Warn, chown, continue. */ - warnx("%s: %s", p->fts_path, strerror(p->fts_errno)); - rval = 1; - break; - case FTS_ERR: /* Warn, continue. */ - case FTS_NS: - warnx("%s: %s", p->fts_path, strerror(p->fts_errno)); - rval = 1; - continue; - case FTS_SL: - case FTS_SLNONE: - if (!hflag) - continue; - /*FALLTHROUGH*/ - default: - break; - } - - if ((hflag ? lchown(p->fts_accpath, uid, gid) : - chown(p->fts_accpath, uid, gid)) && !fflag) { - warn("%s", p->fts_path); - rval = 1; - } - } - if (errno) - err(1, "fts_read"); - exit(rval); -} - -void -a_gid(s) - char *s; -{ - struct group *gr; - char *ep; - u_long ul; - - if (*s == '\0') /* Argument was "gid[:.]". */ - return; - - if ((gr = getgrnam(s)) != NULL) { - gid = gr->gr_gid; - } else { - if ((ul = strtoul(s, &ep, 10)) == ULONG_MAX) - err(1, "%s", s); - if (*ep != '\0') - errx(1, "%s: invalid group name", s); - gid = (gid_t)ul; - } -} - -void -a_uid(s) - char *s; -{ - struct passwd *pw; - char *ep; - u_long ul; - - if (*s == '\0') /* Argument was "gid[:.]". */ - return; - - if ((pw = getpwnam(s)) != NULL) { - uid = pw->pw_uid; - } else { - if ((ul = strtoul(s, &ep, 10)) == ULONG_MAX) - err(1, "%s", s); - if (*ep != '\0') - errx(1, "%s: invalid user name", s); - uid = (uid_t)ul; - } -} - -void -usage() -{ - - (void)fprintf(stderr, - "usage: %s [-R [-H | -L | -P]] [-f] [-h] %s file ...\n", - __progname, ischown ? "[owner][:group]" : "group"); - exit(1); -} |