{"id":50820766,"url":"https://github.com/laserattack/rights","last_synced_at":"2026-06-13T13:34:56.569Z","repository":{"id":342259740,"uuid":"1173400944","full_name":"laserattack/rights","owner":"laserattack","description":"Linux file permissions explainer","archived":false,"fork":false,"pushed_at":"2026-03-06T20:11:06.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-13T13:34:52.036Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/laserattack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-05T10:23:14.000Z","updated_at":"2026-03-06T20:11:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/laserattack/rights","commit_stats":null,"previous_names":["laserattack/rights"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/laserattack/rights","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laserattack%2Frights","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laserattack%2Frights/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laserattack%2Frights/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laserattack%2Frights/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/laserattack","download_url":"https://codeload.github.com/laserattack/rights/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laserattack%2Frights/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34286975,"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-13T02:00:06.617Z","response_time":62,"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-13T13:34:55.883Z","updated_at":"2026-06-13T13:34:56.563Z","avatar_url":"https://github.com/laserattack.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rights - Linux file permissions explainer\n\nA simple script to explain Linux file permissions in human-readable format\n\n**rights** takes file permissions in various formats (numeric, symbolic, or actual file path) and explains what they mean - who can read, write, execute, and what special bits are set\n\n# Usage\n\n```\nWhat is it : Linux file permissions explainer\nUsage      : rights [-hq] ARGUMENTS\n\nFlags:\n  -h  Show this help message\n  -q  Show only symbolic and numeric permissions\n      without explanation, without file type and suffix\n\nArguments:\n  Symbolic permissions  rwxr-xr-x, rw-------, r-x--x--x\n  Numeric permissions   755, 644, 777, 600, 444\n  File/directory path   /dev/video0, script.sh, /tmp\n\nExamples:\n  rights 755            Explain numeric permissions\n  rights rwxr-xr-x      Explain symbolic permissions\n  rights /dev/video0    Explain file permissions\n```\n\n# Examples\n\n## Explain numeric permissions\n\n```\n~\n[serr@lap]-\u003e rights 505\nFile type:           not specified\nSpecial bits:        no SUID, no SGID, no sticky\nOwner permissions:   read (+4), no write, execute (+1)\nGroup permissions:   no read, no write, no execute\nOthers permissions:  read (+4), no write, execute (+1)\nSuffix:              not specified\nSymbolic:            r-x---r-x\nNumeric:             505\n```\n\n```\n~\n[serr@lap]-\u003e rights 5557\nFile type:           not specified\nSpecial bits:        SUID (+4), no SGID, sticky (+1)\nOwner permissions:   read (+4), no write, execute (+1) with SUID (run as file owner)\nGroup permissions:   read (+4), no write, execute (+1)\nOthers permissions:  read (+4), write (+2), execute (+1) with sticky (for directories: only file owner or root can delete files)\nSuffix:              not specified\nSymbolic:            r-sr-xrwt\nNumeric:             5557\n```\n\n## Explain symbolic permissions\n\n```\n~\n[serr@lap]-\u003e rights rwsr-sr-t\nFile type:           not specified\nSpecial bits:        SUID (+4), SGID (+2), sticky (+1)\nOwner permissions:   read (+4), write (+2), execute (+1) with SUID (run as file owner)\nGroup permissions:   read (+4), no write, execute (+1) with SGID (run as group member)\nOthers permissions:  read (+4), no write, execute (+1) with sticky (for directories: only file owner or root can delete files)\nSuffix:              not specified\nSymbolic:            rwsr-sr-t\nNumeric:             7755\n```\n\n```\n~\n[serr@lap]-\u003e rights crw-rw----+\nFile type:           character device\nSpecial bits:        no SUID, no SGID, no sticky\nOwner permissions:   read (+4), write (+2), no execute\nGroup permissions:   read (+4), write (+2), no execute\nOthers permissions:  no read, no write, no execute\nSuffix:              ACL present (Access Control Lists)\nSymbolic:            crw-rw----+\nNumeric:             660\n```\n\n## Explain file permissions\n\n```\n~\n[serr@lap]-\u003e rights /\nFile type:           directory\nSpecial bits:        no SUID, no SGID, no sticky\nOwner permissions:   read (+4), write (+2), execute (+1)\nGroup permissions:   read (+4), no write, execute (+1)\nOthers permissions:  read (+4), no write, execute (+1)\nSuffix:              not specified\nSymbolic:            drwxr-xr-x\nNumeric:             755\n```\n\n```\n~\n[serr@lap]-\u003e rights /dev/video0\nFile type:           character device\nSpecial bits:        no SUID, no SGID, no sticky\nOwner permissions:   read (+4), write (+2), no execute\nGroup permissions:   read (+4), write (+2), no execute\nOthers permissions:  no read, no write, no execute\nSuffix:              ACL present (Access Control Lists)\nSymbolic:            crw-rw----+\nNumeric:             660\n```\n\n## Quiet mode\n\n```\n~\n[serr@lap]-\u003e rights -q 755 r-x--x--x /tmp\nrwxr-xr-x 755\nr-x--x--x 511\nrwxrwxrwt 1777\n```\n\n# Installation\n\nJust download somewhere\n\n```\nwget https://raw.githubusercontent.com/laserattack/rights/refs/heads/master/rights\n```\n\nMake it executable\n\n```\nchmod +x rights\n```\n\nAnd use\n\n```\n./rights\n```\n\nOptionally, you can add the script to your PATH\n\n# Requirements\n\n- Perl 5.10 or newer\n- `ls` program (optional for most modes, required for file/directory arguments)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaserattack%2Frights","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaserattack%2Frights","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaserattack%2Frights/lists"}