On Mon, 28 Mar 2005, Eve Atley wrote: > Hello! I want to write a very simple script that once daily (via cron) will > set permissions to 777. This is to override any permissions set on files > uploaded by other people, so everyone who already has access to the group > will have rwx access to the file(s).
You should do that by setting the `umask value' or configuring the programs that store the files correctly . No need for a cronscript. That is if they are only uploading and not accessing the shell interactively, even then you should go for a systemwide default `umask' value. > So I'm double-checking if the best route is to create my script, then run it > in cron as necessary. Or is there another way I should be handling it? > > Here's the script: > > #!/bin/sh > #set_permissions: simple routine to set permissions of directories to be > #accessible by everyone who already has specific group access. > # > #written by EMM - 3/28/2005 > cd /home/shared/hr/ Does the directory exsist you `cd' to ? test -d /home/shared/hr/ || echo "Error - .... and exittttt.. " or if [ ! -d /home/shared/hr/ ] ; then print error.. fi > chmod 777 -R * You say, `permissions of directorys' The above will set permissions of all files except for the dotted files. You could walk the directory structure by means of `find' and evaluate if the file is a directory file by `-type d'. find /home/shared/hr/ -type d -exec chmod 0755 '{}' \; Then there is overhead, since every file no matter what the permissions are is set. Check if the file needs permissions 777 and what the current permissions are.. Other..., Maybe there are files that no matter what shouldn't be world readable and writable.. If multiple users are on your system they could put a file in a certain directory, your cronscript goes over it, maybe as user root.. and.. makes it world readable/writable.. Not a good thing. There is also a time gap inbetween the two different permissions, users can't access their files until your cronscript has set the correct permissions. Yes running your cronscript every X sec's will fix that, but that's not the way... > cd /home/shared/public > chmod 777 -R * > #put an exception here for /scans and /cd however > #???? > cd /home/shared/accounting > chmod 777 -R * > Fi There is no error wrapper in your script, it will keep running after errors or notifying messages have occurred. Cron takes also the exit value of your script to determine if it's successful or not.. > Thanks much, > Eve You should take more effort doing the `Unix filosofy', Do one thing and do it well.. [Right from the beginning in your case]. You are fixing symptoms, after the problem has occurred. E.G. >From the moment a file is stored on your system, it should have the right permissions. That takes good configuration of the basics of your system. Before looking at these type of problems, try to imagine if you are running an ISP with 1000+ users. Who are constantly accessing their files. You surely don't want to run constantly cronscripts to fix every user/group rights management problem ? GNU/Linux , Unix are multitasking, multiuser operatingsystems and they should be treated like that.. Otherwise you will loose all the advantages of that at a certain given point.. GoodLuck.. J. - To unsubscribe from this list: send the line "unsubscribe linux-newbie" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.linux-learn.org/faqs