Commit Graph

70 Commits

Author SHA1 Message Date
trasz
6509b14193 - Don't include both <sys/types.h> and <sys/param.h>
- Keep variables sorted

- Fix logic error with -f and -v options - don't print
  the usual -v output if there was an error, whether or not
  we were passed -f

- Don't call free(3) just before exit(2)

- Whitespace fixes

Submitted by:	bde
2009-09-02 05:26:59 +00:00
trasz
0f8cdc57c0 Make the code more readable and fix chmod(1) on symlinks with
NFSv4 enabled.
2009-08-31 20:42:07 +00:00
trasz
c51532aa9e With NFSv4 ACLs, it is possible that applying a mode to an ACL which
is identical to the mode computed from that ACL will modify the ACL.
For example, mode computed from the following ACL is 0600:

   user:kamila:rwx--------C--:------:allow
        owner@:--x-----------:------:deny
        owner@:rw-p---A-W-Co-:------:allow
        group@:rwxp----------:------:deny
        group@:--------------:------:allow
     everyone@:rwxp---A-W-Co-:------:deny
     everyone@:------a-R-c--s:------:allow

However, applying that mode (chmod 0600) changes the ACL into this:

   user:kamila:rwx-----------:------:deny
   user:kamila:rwx--------C--:------:allow
        owner@:--x-----------:------:deny
        owner@:rw-p---A-W-Co-:------:allow
        group@:rwxp----------:------:deny
        group@:--------------:------:allow
     everyone@:rwxp---A-W-Co-:------:deny
     everyone@:------a-R-c--s:------:allow

In chmod(1) utility, there is an optimisation, which makes it not
call chmod(2) if the mode of the file is the same as the new mode.
Disable that optimisation for files which may have NFSv4 ACLs.

Reviewed by:	rwatson
Approved by:	re (kib)
2009-07-01 15:52:19 +00:00
delphij
eed25972d1 Staticify internal routines. 2009-06-23 23:30:56 +00:00
trhodes
dfa58632b6 Make the Monty Python quote more google friendly instead of
hacking it apart.

Discussed with:	Christoph Mallon <christoph.mallon@gmx.de>
2009-01-26 18:14:21 +00:00
trhodes
4e6bb7539b Note the implication of setting the 'w' permission on directories,
while here, expand the 'naughty bits' comment in BUGS.

PR:		84265 and 84268
Reviewed by:	keramida
Obtained from:	hints from ceri, keramida
2009-01-23 11:39:00 +00:00
ru
9c271abc0d - Mention umask(2) when first referring to it.
- Add missing markup.

Submitted by:	Eugene Grosbein <eugen@grosbein.pp.ru>
2006-12-22 07:28:38 +00:00
ru
6b6b8c04f6 Expand contractions. 2005-02-13 23:45:54 +00:00
ru
ffd9fd4c0e Add the new standard EXIT STATUS section where appropriate.
Sort standard sections in the (documented) preferred order.
2005-01-16 16:41:59 +00:00
imp
a76898b849 /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
markm
4383f14801 Remove clause 3 from the UCB licenses.
OK'ed by:	imp, core
2004-04-06 20:06:54 +00:00
ru
6bf44828f0 Print unambiguous paths with -R -v. 2003-12-16 15:17:30 +00:00
tobez
f495dad33a Remove the code for parsing octal modes, since setmode(3) already
handles them.

Reviewed by:	audit
MFC after:	2 weeks
2003-10-31 13:20:09 +00:00
obrien
eaf3fff90a Quiet warnings about copyright[]. 2003-05-01 16:58:57 +00:00
mux
4290218dea Remove now unnecessary main() prototype. 2003-01-29 21:46:12 +00:00
ru
d530887c80 mdoc(7) police: In DESCRIPTION, list the options in pure alphabetical
order, as required by style(9).  Document the effect of the -f option
on exit status.  Fixed some spacing.

Submitted by:	bde
Approved by:	re
2002-11-25 14:18:42 +00:00
tjr
4cda572144 Cross-reference setfacl(1). 2002-11-04 06:46:53 +00:00
trhodes
e0dae5aaa4 Return the ``u'' 2002-10-01 20:32:59 +00:00
trhodes
d35cb0528c s/behaviour/behavior/ in the chmod(1) manual 2002-09-28 23:05:58 +00:00
ru
90b670c5b3 mdoc(7) police: kill hard sentence breaks and one double space. 2002-08-09 10:34:57 +00:00
obrien
d3e44dec70 Allow "-v -v" to mean very verbose.
Reviewed by:	freebsd-standards
PR:		40709
Submitted by:	Edward Brocklesby <nighthawk@unrealircd.com>, johan
2002-08-04 05:29:13 +00:00
sheldonh
eaeed7f0ff Revert previous delta, which is not required with rev 1.5 of
src/contrib/gcc/c-format.c .
2002-07-15 12:08:21 +00:00
keramida
722bbd5d1c Don't duplicate the description of the sticky bit that is already
part of chmod(2) and sticky(8), but refer to those manpages instead.

PR:		docs/35605
Submitted by:	Gary W. Swearingen <swear@blarg.net>
2002-07-12 01:57:44 +00:00
sheldonh
aa9de7efae Set WFORMAT=0, because our compiler currently complains about NULL
arg 2 to err() and friends, and warnings are promoted to errors.

This allows the following revisions to be reverted:

	rev 1.39	src/bin/cp/cp.c
	rev 1.26	src/bin/chmod/chmod.c
	rev 1.40	src/bin/rm/rm.c

The following revisions can already be reverted, because they were
already covered by WFORMAT=0:

	rev 1.8		src/bin/ls/lomac.c
	rev 1.63	src/bin/ls/ls.c
	rev 1.8		src/bin/ps/lomac.c
	rev 1.34	src/bin/rcp/rcp.c
2002-07-11 08:45:38 +00:00
dillon
d5291af616 err() is documented as allowing NULL for the format string but GCC isn't
happy about it any more so change the useage so buildworld works again.
2002-07-10 20:36:25 +00:00
obrien
c84c569bd1 Consistently use __FBSDID 2002-06-30 05:13:54 +00:00
markm
f24931e332 Fix warnings inspired by lint, a commercial lint and WARNS=4 2002-02-22 20:45:09 +00:00
imp
41e5cc1a95 Modernization effort for bin/c*:
o __P has been reoved
  o Old-style K&R declarations have been converted to new C89 style
  o register has been removed
  o prototype for main() has been removed (gcc3 makes it an error)
  o int main(int argc, char *argv[]) is the preferred main definition.
  o Attempt to not break style(9) conformance for declarations more than
    they already are.

  Approved by: arch@, new style(9)
2002-02-02 06:15:22 +00:00
sheldonh
84ced5c708 Refer to the original mode of the file, not the mode of the original
file.

PR:		docs/34224
Submitted by:	"Gary W. Swearingen" <swear@blarg.net>
2002-02-01 12:37:21 +00:00
obrien
099f8ecbe9 Default to WARNS=2. Binary builds that cannot handle this must explicitly
set WARNS=0.

Reviewed by:	mike
2001-12-04 01:57:47 +00:00
ru
bde8ec1b70 mdoc(7) police: utilize the new .Ex macro. 2001-08-15 09:09:47 +00:00
dd
a145482cf6 Remove whitespace at EOL. 2001-07-15 07:53:42 +00:00
dd
d705df8034 WARNS= -> WARNS?=
Submitted by:	Mike Barcroft <mike@q9media.com>
2001-06-22 21:38:30 +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
5e17a4447b Change noop option -h to do the real work. Now mode of symbolic link
is changed if -h option is given.

Requested by:	bde
Obtained from:	NetBSD (code part)
2001-05-28 15:31:11 +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
kris
c3082fa5da Make this compile with WARNS=2 2001-05-20 03:24:24 +00:00
ben
1603ceb27a The 'X' permission symbol is specified by POSIX.2, so don't say that it
isn't.

Obtained from:	NetBSD
Confirmed by:	ru, wollman
2001-03-01 19:03:01 +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
3d8401c62e Prepare for mdoc(7)NG. 2001-01-16 09:08:22 +00:00
ru
be1f850a8f mdoc(7) police: use the new features of the Nm macro. 2000-11-20 11:39:41 +00:00
ru
7d99729431 Use Fx macro wherever possible. 2000-11-14 11:20:58 +00:00
ru
a6f5d950d8 Avoid use of direct troff requests in mdoc(7) manual pages. 2000-11-10 17:46:15 +00:00
peter
d2e30b8731 Optimize out no-op chmod() syscalls. 2000-07-29 22:16:55 +00:00
kris
7a2b8e6857 Don't call warn() with no format string. This is potentially exploitable, although it
would be difficult both technically and in practise.
2000-07-10 08:31:35 +00:00
unfurl
641f074c69 From the PR:
Three minor changes to the manpage of chmod(1).

  1. At the description of -H option, I added that symlinks are
  not followed _by default_ to show that links can be followed,
  but the default chmod behavior is not to do so.

  2. Moved a misplaced .Va file command up to the place it belongs.

  3. Simplified the grammar that describes symbolic modes.

PR:		16749
Submitted by:	Giorgos Keramidas <keramida@ceid.upatras.gr>
2000-02-17 03:17:03 +00:00
obrien
4fc2be7713 Default to not -v.
Fix usage() style bug spotted by BDE.
1999-11-28 12:24:16 +00:00
obrien
9fc872877e Add "-v". 1999-11-27 19:25:08 +00:00
peter
66312e4a8d $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00