{"id":50908273,"url":"https://github.com/unleashed/suid-script","last_synced_at":"2026-06-16T07:04:21.530Z","repository":{"id":14285308,"uuid":"16993446","full_name":"unleashed/suid-script","owner":"unleashed","description":"This package provides a tool to allow shell scripts to run honoring setuid modes","archived":false,"fork":false,"pushed_at":"2021-06-20T17:41:42.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-11T09:56:23.883Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unleashed.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-19T18:02:32.000Z","updated_at":"2021-05-24T14:49:14.000Z","dependencies_parsed_at":"2022-09-10T09:01:13.638Z","dependency_job_id":null,"html_url":"https://github.com/unleashed/suid-script","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"purl":"pkg:github/unleashed/suid-script","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unleashed%2Fsuid-script","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unleashed%2Fsuid-script/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unleashed%2Fsuid-script/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unleashed%2Fsuid-script/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unleashed","download_url":"https://codeload.github.com/unleashed/suid-script/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unleashed%2Fsuid-script/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34393306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-16T07:04:20.186Z","updated_at":"2026-06-16T07:04:21.520Z","avatar_url":"https://github.com/unleashed.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# suid-script\n\nThis package provides a tool to allow shell scripts to run honoring setuid\nmodes.\n\nThis allows a non-privileged user to run those scripts just as she would run\nany other setuid binary. In order for this to happen securely you have to\ninstall the setuid script without world nor group writable permissions and\nenable the setuid and/or setgid permissions.\n\n`suid-script` will run the shell script using the uid and gid of the user\nowner and group owner if their respective setuid/setgid bits are enabled and\nthe script has no world or group writable permissions.\n\n## Requirements\n\n* A Unix-like OS.\n* A shell script at /bin/sh\n\n## Build \u0026 Install\n\nThis requires the GNU Autotools to build.\n\n```\n$ ./autogen.sh\n$ ./configure \u0026\u0026 make \u0026\u0026 make install\n```\n\n## Shell script\n\nThe shebang line of shell scripts will NOT be respected. Instead, this\nprogram will run `/bin/sh - \u003cyour_script\u003e`. You can however easily work around\nthis limitation by adding code to the script in which you test whether the\nright shell is being used, and exec() again via the right one if not.\n\n## FAQ\n\nQ: Why?\nA: Because it's been useful to me a couple times.\n\nQ: Is this secure?\nA: Likely not.\n\nQ: Couldn't this use capabilities?\nA: Patches welcome!\n\nQ: Does it work on \u003cUnix-like OS\u003e?\nA: It has been tested to work on Linux, FreeBSD and NetBSD.\n\nQ: Is there a Debian/Ubuntu package?\nA: There is a contrib package under `debian` that might or might not work. At\nsome point this was actually shipping, but nowadays it is untested.\n\nQ: It does not work.\nA: That's not a question. But check to see that `suid-script` is installed with\nsetuid root and that the script also has, at least, setuid \u003cuser\u003e, and that it\nis not world or group writable.\n\nQ: Why does the script break?\nA: Either it requires a different shell than the system's `/bin/sh` and you\nneed to detect that it is running under not-the-right-shell and exec() itself\nvia the right one, or the different user/group under which it runs changes its\nsemantics.\n\nQ: Is this being actively developed?\nA: No, this is just a hack to get one job done - but: patches welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funleashed%2Fsuid-script","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funleashed%2Fsuid-script","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funleashed%2Fsuid-script/lists"}