Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

installing as non-root makes lppasswd non-executable on GNU/Linux #836

Closed
michaelrsweet opened this issue Aug 2, 2004 · 2 comments
Closed
Milestone

Comments

@michaelrsweet
Copy link
Collaborator

Version: 1.1.21rc1
CUPS.org User: prj.po.cwru

When I build and install as a non-root user, I would expect lppasswd to be executable but not setuid, so it would still be useful for root, at least. Root could also make it setuid later. This is what happens on Solaris, but on GNU/Linux, the GNU install program leaves a target file with mode 600 if it has trouble setting the ownership.

(Also, Solaris has trouble in man/Makefile:install - $(MAN3) is empty, and Solaris sh rejects "for file in ; do". An empty variable works, so you can use "man3='$(MAN3)'; for file in $$man3; do".)

@michaelrsweet
Copy link
Collaborator Author

CUPS.org User: mike

Sounds like a bug in GNU install; unfortunately, the "id" command (the only "universal" command for finding the current user) does not work the same on all OS's, so there is no easy way to check before installing with the setuid options. If we remove the setuid stuff, then we will break installs for a lot of people.

I might be able to add an executable test after installing lppasswd, and then chmod things if it isn't executable...

The second problem is already fixed for the next 1.1.21 release candidate.

@michaelrsweet
Copy link
Collaborator Author

CUPS.org User: mike

Fixed in CVS - the anonymous CVS repository will be updated at midnight EST.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant