Re: [dev] [sbase] chmod -R and symbolic links

2019-12-29 Thread Laslo Hunhold
On Sat, 28 Dec 2019 16:24:57 -0800 Michael Forney wrote: Dear Michael, > I'm only proposing removing -H, -L, and -P from chmod, not the other > tools. The only POSIX option is -R, and the only use I can think of > for chmod -L is if you wanted to modify the permissions of files > outside the

Re: [dev] [sbase] chmod -R and symbolic links

2019-12-28 Thread Michael Forney
On 2019-12-23, Laslo Hunhold wrote: > On Sat, 21 Dec 2019 19:05:45 -0800 > Michael Forney wrote: > > Dear Michael, > >> I can think of two possibilities here: >> >> 1. Remove the -H, -L, and -P options from chmod, always set r.follow = >> 'H', and call chmod(3) conditional on

Re: [dev] [sbase] chmod -R and symbolic links

2019-12-23 Thread Wolf
On 2019-12-23 16:47:59 +0100, Laslo Hunhold wrote: > [..] Especially with the H, L and P options we found many bugs in GNU > coreutils, and keeping them in is essential if we want to claim that > we are more or less POSIX compliant. [..] Sorry I do not understand how this is meant. Looking at the

Re: [dev] [sbase] chmod -R and symbolic links

2019-12-23 Thread Laslo Hunhold
On Sat, 21 Dec 2019 19:05:45 -0800 Michael Forney wrote: Dear Michael, > I can think of two possibilities here: > > 1. Remove the -H, -L, and -P options from chmod, always set r.follow = > 'H', and call chmod(3) conditional on !S_ISLINK(st->st_mode). > 2. Keep the -H, -L, and -P options, but

Re: [dev] [sbase] chmod -R and symbolic links

2019-12-22 Thread Markus Wichmann
On Sat, Dec 21, 2019 at 07:05:45PM -0800, Michael Forney wrote: > - Most BSD chmod(1) have -H, -L, and -P options (defaulting to -P), > and the filesystem *does* record the mode of a symlink, but this mode > has no affect on the kernel's access checks. Well, most Linux FSes have the capacity to

[dev] [sbase] chmod -R and symbolic links

2019-12-21 Thread Michael Forney
Hi, I'm looking into improving chmod(1) behavior with symbolic links. First, some background: - The mode of symbolic links is not used anywhere, and on linux, fchmodat(AT_FDCWD, path, mode, AT_SYMLINK_NOFOLLOW) on a symlink returns EOPNOTSUPP. - POSIX only specifies the -R option, and doesn't