Git Product home page Git Product logo

cyberpanel-fixperms's Introduction

Cyberpanel-fixperms

A script to fix permissions and ownership, on files and directories, for Cyberpanel accounts.

More Info

Ever needed just to quickly 'fix' the permissions or ownership for your files in a regular Cyberpanel account? This is the script for you. There is a staggering number of people using Cyberpanel out there, and this script will help every Cyberpanel user quickly recover from self-made permission mistakes or allow you to be lazy when setting permissions when uploading new scripts (ex: Wordpress).

It safely steps through the file structure only in a particular user, and sets folders to be owned by the user, and files to have Cyberpanel-recommended permissions.

It is safe to run, and I would run it in a heart-beat as a general 'fix my errors' fix.

The script is also compatible with multiple attached volumes on their servers, such as multiple home directories with Cyberpanel (eg., /home, /home2, /home3, etc).

Note: This is intended for non-DSO servers (Meaning, it will run just fine for: FastCGI, suPHP, etc...). You can run this on a DSO box, but just know that things such as Wordpress uploads won't work. You'll have to manually set some folders to be owned by the user "nobody".

Instructions

Fixperms - for one single user

To get the fixperms script, simply wget the file from Gitlab and make sure it's executable:

wget https://gitlab.com/cyberpaneltoolsnscripts/cyberpanel-fixperms/raw/master/fixperms.sh
chmod +x fixperms.sh

Then, run it (with ROOT permissions) while using the 'a' flag to specify a particular Cyberpanel user:

sudo sh ./fixperms.sh -a USER-NAME

It does not matter which directory you are in when you run fixperms. You can be in the user’s home directory, the server root, etc... The script will not affect anything outside of the particular user’s home folder.

Fixperms - for all of the users:

If you would like fix the permissions for every user on your Cyberpanel server, simply use the '-all' option:

sudo sh ./fixperms.sh -all

Verbosity of Fixperms

By default, the script runs in a 'quiet' mode with minimal display. However, if you’re like me, you may want to see everything that is happening. You can turn on verbosity and have the script print to the screen everything that is being changed. I find this extremely useful when fixing large accounts that have many files. You can watch the changes as a sort of 'progress bar' of completion. The '-v' option can be used per account or with all accounts.

For one single account

sudo sh ./fixperms.sh -v -a USER-NAME

For all accounts

sudo sh ./fixperms.sh -v -all

Getting Help

You can run fixperms with the '-h' or '--help' flags in order to see a help menu.

You can also open an issue here on GitHub if you see any problems.

Adding Fixperms to your bin

I host numerous websites for friends and family, who will routinely make mistakes in regards to file permissions. It's understandable; they're not tech people. I will need to fix their permissions for them pretty frequently on my servers so I opted to put the fixperms script in all my servers' bin folders.

sudo mv fixperms.sh /usr/bin/fixperms

History: Originally forked from https://github.com/PeachFlame/cPanel-fixperms

Now that fixperms is in Github, all contributors will have proper credit. However, before the move to Github, there were a 2 inidividuals that were crucial to the scripts existence:

  • Dean Freeman
  • Colin R.

Contributing

If you would like to contribute, simply create a new feature branch, named for the fix, and submit a merge request.

cyberpanel-fixperms's People

Contributors

meramsey avatar whattheserver avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.