GNOME Bugzilla – Bug 503266
option to avoid permissions nagging at startup
Last modified: 2010-06-04 20:39:33 UTC
I confess i used to change files and folders permissions all the time to 777 or 555 (mostly for avoiding have to browse files only from 'gksudo nautilus --no-desktp'), and i even created Nautilus scripts with 'gksudo chmod' and 'gksudo chown' for easing this task, but GDM starts nagging me with this: "User's $HOME/.dmrc file is being ignored. This prevents the defaul session and language from being saved. File should be owned by user and have 644 permissions. Users $HOME directory must be owned by user and not writable by other users." I tried to fix this '~/.dmrc' file permission to 644 and nothing, to fix all '~' folder and contents permissions to 644 and nothing - am i doing something wrong? I have two suggestions for this: .1- a preference from gnome allowing us to choose if we want this nag or not (i'm not having further problems caused by these permission changing beyond that nag) .2- a very simple tool, like that comes with MacOS-X disk repair tool, which 'fixes' or guesses all files and folders permissions automatically, depending on where orwhat they are. I think this tool can be very simple to code from the skilled people,i know a bit of Python, but not enough for this... (of course a tool coded in C could be better, for performance issues?) Other information:
I think GDM already has this functionality. Yes, by default, GDM is a bit strict about file permissions for files like $HOME/.dmrc. However, on systems like yours where you want other permissions and you know what you are doing, you can modify GDM's configuration to allow "relaxed permissions". Note the security/RelaxPermissions configuration option. I'd think setting it to 1 or 2 (instead of 0) should fix your issue. Setting it to 1 allows group write permissions and 2 allows all write permissions. Also note the security/SupportAutomount key. It can also affect some of the checks that GDM does. So you might try changing this value to see if it makes a difference if RelaxPermissions doesn't help. Just for reference, note in daemon/slave.c that it calls gdm_file_check() and displays the error message you see if this gdm_file_check function fails. Notice in daemon/filecheck.c that this function does a number of "sanity" checks to make sure your environment is okay. Note that it does output debug information which should tell you exactly which test is failing, so if you turn on GDM debug and restart GDM by running "gdm-restart", then you should find gdm-related debug messages at the end of your syslog (/var/log/messages or /var/adm/messages depending on your OS). If you still see the problem after changing RelaxPermissions, then this should highlight what test is failing and causing the problem. Remember to turn off debug and restart GDM again after debugging the problem. GDM gets mad if - the user's $HOME directory isn't owned by the user. - the user's home directory (or the $HOME/.dmrc file) has write permissions and RelaxPermissions is set to a value that causes it to check. - if the file ($HOME/.dmrc in this case) is not a regular file, isn't owned by the user. Looking at the code those are the only checks that are done, so perhaps this will help you figure out your problem. If you are able to fix this by modifying the configuration properly, then please close this bug report and let us know the problem is resolved. Thanks.
Created attachment 102547 [details] [review] patch to fix crashing problem.
Thanks for taking the time to report this bug. However, you are using a version that is too old and not supported anymore. GNOME developers are no longer working on that version, so unfortunately there will not be any bug fixes for the version that you use. By upgrading to a newer version of GNOME you could receive bug fixes and new functionality. You may need to upgrade your Linux distribution to obtain a newer version of GNOME. Please feel free to reopen this bug if the problem still occurs with a newer version of GNOME.