The problem: I'm sharing a directory with my wife. I've placed us both in a 'shared' group and the directory belongs to the 'shared' group as well. Whenever one of us creates a file, this file belongs to user:user, instead of user:shared...
The solution: I can do sudo chown, but my wife can't. So, I want to run a script when I logout of the session.
If I understand correctly, the startup scripts go in /etc/init.d/ and the runlevel scripts go /etc/rc0.d/ where 0 is the runlevel (0-6).
Questions: Do the runlevel scripts execute only on exit/logout? Do these depend on the user, that is, I'd like to run it only for my user (not so important in this case, mind)? Which runlevel should I choose (my guess is 5)? Should I place the script somewhere else?
Also, I imagine that the script will be run by root, so there's no need for sudo within the script, is that correct?
I believe you can use setgid bit?
From
man 2 chmod
:Runlevel scripts are executed only on runlevel changes.
See also this thread: https://superuser.com/questions/65460/create-a-logoff-script-task-for-linux
Those in /etc/init.d only on startup/shutdown, not while switching user/logout/login.
Since they run before login: No, they don't depend on the user.
Ubuntu uses normally 2 as standard runlevel. You can test it with
in the shell.
Should I place the script somewhere else? according to brownian, you could use ~/.logout, but a better solution is, to produce the files with a proper Group-ID. This can be done with starting the editor with sg.
sg share gedit
sg
acts similar tosu
- switch user/switch group. Maybe you can put a starter into your panels, for easy access. Brownians solution for the whole directory looks even better.That's correct.