[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

cvs permissions



i/we operate a number of remote servers, and sometimes, configuration
is impossible because of slow links; then, vi takes 10 seconds to
start, and a keystroke is echoed in 5... unacceptable.

so i would like to change configuration remotely, and currently, i
rsync the /etc trees to a local directory, update, then rsync back.
however, this requires a lot of discipline, and is not a viable method
with multiple maintainers.

CVS is pretty much exactly what i am looking for. i would love to
create a CVS repository each for every one of the remote machines.
then everyone could checkout and commit, and a cron job on the actual
remote machine could bring the local /etc up to date with the CVS
repository every 4 hours or so.

my problem is that CVS doesn't care about permissions as RCS does.
specifically, CVS creates files locally with $CVS_UMASK permissions,
which is fine for the local checkout, but which will destroy the
security of the remote system, since some files in /etc have to be
0644 while others *should* be 0600. i don't want to use suidmanager or
a separate cron job to update the permissions, because that'll create
holes. i want the files, if checked out of the repository, to be
created immediately with specific permissions - the permissions that
the file had when it was checked in.

is this possible, and if yes, how?

martin;              (greetings from the heart of the sun.)
  \____ echo mailto: !#^."<*>"|tr "<*> mailto:"; net@madduck
-- 
"in contrast to the what-you-see-is-what-you-get philosophy,
 unix is the you-asked-for-it,-you-got-it operating system."
                                                           --scott lee



Reply to: