Hello, please find attached a script for setting the quota for existing users. It was inspired by Jakub's email and also aims at automated, scriptable administration of an owncloud instance.
<?php # Set quota for existing user. # Author: Stefan Vollmar, 2013, MPI for Neurological Research, Cologne # using code from Jakub T. Moscicki, 2013, CERN/IT # # run on the owncloud application server: # php -f set-quota.php USER QUOTA # e.g. php -f set-quota.php aeinstein 3g # e.g. php -f set-quota.php aeinstein "3 GB" set_include_path(get_include_path() . PATH_SEPARATOR . '/var/www/owncloud'); require_once 'lib/base.php'; $login = $argv[1]; $quota = $argv[2]; if(OC_User::userExists($login)) { if($quota!='none' and $quota!='default') { $quota = OC_Helper::computerFileSize($quota); $quota = OC_Helper::humanFileSize($quota); } print "setting quota of user \"".$login."\" to ".$quota."\n"; OC_Preferences::setValue($login, 'files', 'quota', $quota); print "done.\n"; } else { print "*** ERROR: user \"".$login."\" does not exist.\n"; } ?> Warm regards, Stefan On 28.09.2013, at 13:16, Jakub Moscicki <jakub.mosci...@cern.ch> wrote: > Hello again, > > Let me share a small script that I recently wrote by analysing the API. I > would appreciate if the owncloud developers could comment if this is a right > approach - it works for me but it has been developed purely experimentally > and maybe there are some loopholes. > > It creates a user account and sets up the filesystem. Just run this script on > the server possibly adjusting the location of your ownloud path. > > I use it for creating test accounts. > > I hope this will be useful for you, too. > > kuba > > -- > > create_test_user.php: > > <?php > > # Create local user account. > # > # Author: Jakub T. Moscicki, 2013, CERN/IT > # > # To be placed and run on the owncloud application server: > # > # php -f create_test_user.php USER PASSWORD > # > > set_include_path(get_include_path() . PATH_SEPARATOR . > '/var/www/html/owncloud'); > > require_once 'lib/base.php'; > > $login = $argv[1]; > $password = $argv[2]; > > if(OC_User::userExists($login)) { > print "user already exists:".$login."\n"; > OC_User::setPassword($login,$password); > print "password overwritten\n"; > } > else > { > print "creating user... \n"; > OC_User::createUser($login,$password); > print "user created and password set:".$login."\n"; > OC_Util::setupFS($login); > print "setup FS done\n"; > } > > ?> > > > > > On Sep 28, 2013, at 10:35 AM, Jakub Moscicki <jakub.mosci...@cern.ch> wrote: > >> Hello, >> >> I found this tool - I have not tested all functionality (only file upload >> with admin masquerading) but it also has the set_quota option: >> >> http://forum.owncloud.org/viewtopic.php?t=8684 >> >> kuba >> >> -- >> >> On Sep 28, 2013, at 12:18 AM, Stefan Vollmar <voll...@nf.mpg.de> >> wrote: >> >>> Dear CJ Keist, >>> >>> On 27.09.2013, at 22:28, CJ Keist <cj.ke...@colostate.edu> wrote: >>> >>>> The web interface doesn't look to have the ability to list thousands of >>>> users on my owncloud system. So there is no way for me to set custom disk >>>> quotas for users that are not displayed on the web interface. I have >>>> tried the search function on the page but that doesn't work. >>>> So I tried to see where disk quota settings are stored on the mysql >>>> database but have not had any luck finding where that value is set per >>>> user account. Could someone direct me on how I can set default disk quota >>>> for users on my system? >>> >>> I am not sure that this is the "official" way of doing things but I would >>> suggest a different approach: if you use the MySQL backend, it seems to be >>> pretty straightforward to set all sorts of parameters with a few lines of >>> SQL code. In fact, this is similar to our own automated method of creating >>> a large number of users in OwnCloud and sending automatically generated >>> E-mails with activation links (tokens). >>> >>> With OwnCloud 5, you can look up user data in the oc_user table (here: >>> "aeinstein" is the "uid" of "Albert Einstein"), you can then set a quota of >>> 10 GB like this: >>> >>> INSERT INTO `oc_preferences` VALUES >>> ('aeinstein','files','quota','10 GB'); >>> >>> If you have a list of uids it is very easy to repeat that line as often as >>> required. >>> >>> Warm regards, >>> Stefan >>> >>>> >>>> >>>> -- >>>> C. J. Keist Email: cj.ke...@colostate.edu >>>> Systems Group Manager Solaris 10 OS (SAI) >>>> Engineering Network Services Phone: 970-491-0630 >>>> College of Engineering, CSU Fax: 970-491-5569 >>>> Ft. Collins, CO 80523-1301 >>>> >>>> All I want is a chance to prove 'Money can't buy happiness' >>>> >>>> _______________________________________________ >>>> Owncloud mailing list >>>> Owncloud@kde.org >>>> https://mail.kde.org/mailman/listinfo/owncloud >>> >>> -- >>> Dr. Stefan Vollmar, Dipl.-Phys. >>> Head of IT group >>> Max-Planck-Institut für neurologische Forschung >>> Gleueler Str. 50, 50931 Köln, Germany >>> Tel.: +49-221-4726-213 FAX +49-221-4726-298 >>> Tel.: +49-221-478-5713 Mobile: 0160-93874279 >>> E-Mail: voll...@nf.mpg.de http://www.nf.mpg.de >>> >>> >>> >>> _______________________________________________ >>> Owncloud mailing list >>> Owncloud@kde.org >>> https://mail.kde.org/mailman/listinfo/owncloud >> >> _______________________________________________ >> Owncloud mailing list >> Owncloud@kde.org >> https://mail.kde.org/mailman/listinfo/owncloud > > _______________________________________________ > Owncloud mailing list > Owncloud@kde.org > https://mail.kde.org/mailman/listinfo/owncloud -- Dr. Stefan Vollmar, Dipl.-Phys. Head of IT group Max-Planck-Institut für neurologische Forschung Gleueler Str. 50, 50931 Köln, Germany Tel.: +49-221-4726-213 FAX +49-221-4726-298 Tel.: +49-221-478-5713 Mobile: 0160-93874279 E-Mail: voll...@nf.mpg.de http://www.nf.mpg.de
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Owncloud mailing list Owncloud@kde.org https://mail.kde.org/mailman/listinfo/owncloud