Commit Graph

68 Commits

Author SHA1 Message Date
smh
091e83ecee Standardise chmod, chflags, chown and chgrp recursive symlink processing
chmod, chflags, chgrp, chmod and chown now affect symlinks in -R mode as
defined in symlink(7); previously symlinks were silently ignored.

Differential Revision:	https://reviews.freebsd.org/D2316
Reviewed by:	jilles
MFC after:	1 month
Relnotes:	yes
Sponsored by:	Multiplay
2015-04-29 00:49:00 +00:00
eadler
e3ad0e8031 chown: Fix chown test number 2014-07-17 06:57:26 +00:00
eadler
253aaa13c2 chown: add a test
Add a test for the chown utility. This sets up chown(8) to be capable of being
tested.  As such, only add one test for now as an example.
2014-06-30 05:33:52 +00:00
ed
57acbc3db8 Mark global functions and/or variables in chown(8) static where possible.
This allows compilers and static analyzers to do more thorough analysis.
2011-11-06 19:01:41 +00:00
trasz
e949899e57 Plug resource leak.
Found with:	Coverity Prevent
CID:		7040
2010-06-05 08:11:11 +00:00
trasz
c476826d40 Make chown(1) emit more useful error message when user/group name is invalid. 2010-06-03 20:46:23 +00:00
gavin
30a2ed98ab Add a "-x" option to chown(8)/chgrp(1) similar to the same option in
du(1), cp(1) etc, to prevent the crossing of mountpoints whilst using the
commands recursively.

PR:		bin/130855
Submitted by:	keramida
MFC after:	1 month
2010-02-21 10:14:06 +00:00
ed
073cafdd42 The last big commit: let usr.sbin/ use WARNS=6 by default. 2010-01-02 11:07:44 +00:00
brooks
da4e70cf9a In preparation for raising NGROUPS and NGROUPS_MAX, change base
system callers of getgroups(), getgrouplist(), and setgroups() to
allocate buffers dynamically.  Specifically, allocate a buffer of size
sysconf(_SC_NGROUPS_MAX)+1 (+2 in a few cases to allow for overflow).

This (or similar gymnastics) is required for the code to actually follow
the POSIX.1-2008 specification where {NGROUPS_MAX} may differ at runtime
and where getgroups may return {NGROUPS_MAX}+1 results on systems like
FreeBSD which include the primary group.

In id(1), don't pointlessly add the primary group to the list of all
groups, it is always the first result from getgroups().  In principle
the old code was more portable, but this was only done in one of the two
places where getgroups() was called to the overall effect was pointless.

Document the actual POSIX requirements in the getgroups(2) and
setgroups(2) manpages.  We do not yet support a dynamic NGROUPS, but we
may in the future.

MFC after:	2 weeks
2009-06-19 15:58:24 +00:00
trhodes
d7a4b1e1f2 Fix punctuation.
PR:		132834
Submitted by:	"Alan R. S. Bueno" <alan.bsd@gmail.com>
2009-04-01 08:33:54 +00:00
ru
1541af42f1 Expand *n't contractions. 2005-02-13 22:25:33 +00:00
ru
c05985f13f Sort sections. 2005-01-18 20:02:45 +00:00
ru
6cc4b6c220 Added the EXIT STATUS section where appropriate. 2005-01-17 07:44:44 +00:00
imp
9c9b6e3045 Per letter dated July 22, 1999, delete clause 3 from code directly
from Berkeley.
2004-08-07 04:19:37 +00:00
charnier
8f5e31de0a Use uid_t. 2003-09-07 16:43:53 +00:00
ru
facfefd315 Erase whitespace at EOL.
Approved by:	re (blanket)
2003-05-22 11:56:41 +00:00
obrien
7293a24a2b Use __FBSDID over rcsid[]. Protect copyright[] where needed. 2003-05-03 21:06:42 +00:00
johan
b15a9b8776 Similar to chmod(1); make -v -v mean very verbose and show
the old and new uid/gid.

PR:		41341
Submitted by:	Edward Brocklesby <nighthawk@unrealircd.com>
Reviewed by:	bde@ (an older version)
2003-04-25 08:57:55 +00:00
obrien
a920d12f89 style.Makefile(5) 2003-04-04 17:49:21 +00:00
keramida
42e9848116 Reword the description of -R a bit and add a note about being careful
when -R is combined with patterns that might match ".." (like ".*").

PR:		46415
Submitted by:	Gary W. Swearingen <swear@attbi.com>
2003-01-26 02:40:23 +00:00
obrien
3d65cf2dd1 Use basename(3). 2002-12-30 10:16:56 +00:00
dwmalone
1b350fbe36 Fix a spelling mistake.
PR:		40695
Submitted by:	Maxim Maximov <mcsi@agava.com>
MFC after:	1 week
2002-07-17 16:22:24 +00:00
charnier
d2168fe021 The .Nm utility 2002-07-14 14:47:15 +00:00
jmallett
064b0ce2e7 Kill __P(), use ANSI C function declarations, remove local prototype for main,
and add a __FBSDID() while I'm here.
2002-06-30 15:30:14 +00:00
jmallett
325c48d385 In the SUPPORT_DOT case, warn that seperation with a period is deprecated.
In -STABLE, this is default, in -CURRENT it is not, which leads to many a
headache for a user coming to -CURRENT without remembering this fact.  It
is one of the POLA violations we have not avoided by preparing the users
for it appopriately.  Therefore, a warnx(3) is added here, explicitly to
be MFC'd shortly to start the re-education process rolling.

Reviewed by:	General murmurs of approval in that IRC channel.
MFC after:	3 days
2002-06-27 21:23:16 +00:00
tjr
58f7295568 Don't exit immediately if an error occurs, continue but exit non-zero. 2002-06-02 09:32:39 +00:00
ru
812a445e72 mdoc(7) police: removed an extra .Op call. 2002-05-30 07:48:01 +00:00
trhodes
c8e30faac7 chown(8) was not describing symlinks correctly, fixed.
PR:	36447
No objections from: ru
MFC after:	3 days
2002-04-09 20:24:23 +00:00
luigi
6f50cc5876 Add prototypes for main() so that these programs compile with -Werror
(which somehow now seems to be the default for compiling -current).
This error popped up while doing a PicoBSD cross-compile on a 4.3-ish system,
it may well be that there are other apps which have similar problems,
but I did not spot them as they are not included in my picobsd config.

Whether adding prototypes for main() is the correct solution or not
I have no idea, a request to -current on the matter went basically
unanswered. Those who have better ideas are welcome to back this out
and replace it with the correct fix.
2001-12-14 16:22:41 +00:00
ru
f521cb96aa Clean up, WARNSify, unbreak -v option handling. 2001-09-13 14:55:59 +00:00
dd
46ac4548dc If a sentence starts inside parenthesis, it should end inside
parenthesis.
2001-09-11 13:07:03 +00:00
ru
bde8ec1b70 mdoc(7) police: utilize the new .Ex macro. 2001-08-15 09:09:47 +00:00
obrien
9c97c8f02d Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.
2001-07-20 06:20:32 +00:00
ru
0d5f9334cf mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:12:08 +00:00
obrien
e6b17dc71e Starting with 5.0-R, do not support `.' as a owner / group delimiter. 2001-05-31 19:30:19 +00:00
ru
8a1fd26292 Fixed the bug from the previous revision.
``chown -h owner symlink'' did not set the symlink's owner
if the file the symlink points to already had that owner:

# ls -l alink afile
-rw-r--r--  1 nobody  ru  0 May 31 14:14 afile
lrwxr-xr-x  1 root    ru  5 May 31 14:14 alink -> afile
# ./chown -h -v nobody alink
# ls -l alink afile
-rw-r--r--  1 nobody  ru  0 May 31 14:14 afile
lrwxr-xr-x  1 root    ru  5 May 31 14:14 alink -> afile

Similarly for chgrp(1) and chmod(1).
2001-05-31 11:47:20 +00:00
ru
68d3eccc3a Follow symbolic links named as command line arguments if run without -R.
This is required by symlink(7), ``Commands not traversing a file tree''
subsection, third paragraph:

: It is important to realize that this rule includes commands which may
: optionally traverse file trees, e.g. the command ``chown file'' is
: included in this rule, while the command ``chown -R file'' is not.

For chown(8) and chgrp(1), this is also is compliance with the latest
POSIX 1003.1-200x draft.

MFC after:	1 week
2001-05-28 12:58:10 +00:00
ru
0c045c5d54 Make it clear that -P is the default.
PR:		docs/27629
2001-05-25 07:32:58 +00:00
ru
afd506414e - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:42:20 +00:00
ru
b5cd63f616 mdoc(7) police: use the default ``file ...'' feature of the .Ar macro. 2001-02-13 09:56:35 +00:00
ru
66cd8f698e mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:44:04 +00:00
ru
71e2293ad4 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
peter
dcb2b59522 Initialize vflag like the rest (not necessary, but this keeps it together)
Optimize out chown(2) syscalls if there is no change in uid or gid.
2000-07-29 22:22:11 +00:00
obrien
f9382c8a43 Somehow I didn't get all the "-v" code commited.
Submitted by:	Arindum Mukerji <rmukerji@execpc.com>
Approved by:	JKH

Make the manpage more style(9) complient.
2000-03-08 16:31:42 +00:00
obrien
dc40bd8713 Revert rev 1.3. chown(8)-like functionality has been added to mknod(8)
and MAKEDEV(8) will be changed to not use chown(8), thus removing the
depdendance on a having /usr mounted.
2000-01-06 05:30:38 +00:00
obrien
7ecbe9c845 Install chown' into /sbin rather than /usr/sbin as chown' is needed by
`MAKEDEV'.  And one might need to `MAKEDEV' inorder to get a device node
in order to mount /usr from.
1999-12-14 04:48:17 +00:00
obrien
9fc872877e Add "-v". 1999-11-27 19:25:08 +00:00
charnier
8eb0be13fb add .Sh DIAGNOSTICS 1999-10-17 15:50:19 +00:00
charnier
9cb1556e4f space is not allowed between owner and :group. 1999-10-08 21:38:08 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00