hey, what is the difference between chmod and chown, and which should I use and when?
Thanks... -I am a little confused here
Printable View
hey, what is the difference between chmod and chown, and which should I use and when?
Thanks... -I am a little confused here
It's obvious, isn't it?
chown - Change ownership of file.
chmod - Change modus of file. (read, write, execute)
so if I was to make a folder as root say /downloads for example.. to use that under my user account I would need to
chown -R :users /downloads
and
chmod -R 660 /downloads
??
is this correct?
thanks
Essentially, if you want file my file.txt that belongs to user A to be fully accessible by another user B, there are two ways of doing it:
1. chmod 777 file.txt makes the file completely open to anyone so obviously even user B (unsafe, not elegant)
2. chown userB file.txt
chgrp userB file.txt
This changes the ownership fo the file and the group to which it belongs to userB (assuming that each user is in his/her own group). If all ordinary users are in the group "users", then change group ownership to that, from say, root's group.
I hope this clears it, I suspect the confusion comes from people saying that if you want everyone to be able to access a file you should just chmod 777 it. I think that's confusing and inelegant but, hey I haven't got my head fully around permissions either and I've been using linux for almost 10 years now...
Sorry, I missed your reply earlier with the /download directory issue.
This is a problem that I don't really have a clean solution for. The recommended way is to make a group (say downloads) and put all the users that want access to that directory in the group.
But, if that directory is in a different filesystem (say another hard drive as on my system) it is still a problem because the directory will be mounted with root permission on bootup.
A cheap solution is to add something along the lines:
/dev/hda1 /download vfat uid=102, gid=102, users,auto,exec,dev
to your fstab making sure you have the right filesystem and group id and so on. There is also a umask=*** option for fstab.
But then you'll have another problem. Depending on what gui you have at bootup (I have gdm for example) the group owner of the mounted drives will become gdm instead of your download group.
I still haven't found a clean solution but I'd welcome someone with more experience sending one.
I have several distributions installed, by default I use Source Mage. I often want to have a look at stuff on my Gentoo partition, since that is the distribution I used to use and still has a lot of my personal stuff and configuration and stuff (though it's getting less by the day :D). I mount Gentoo on /gen.
Gentoo has exactly the same users as I have on Source Mage - after I've mounted my /gen partition, my SM user "sam" can freely access everything that used to be owned by my Gentoo user "sam" even though I haven't chrooted or whatever. I don't mount gentoo with anything special, only noatime (which doesn't have anything to do with this afaik).
Thus, I think that if you make sure that all the files in /downloads are as you want them, owned by the right users and stuff, you can freely access it.
This is just how it works for me - I'm not totally able to explain it, maybe something you can get some information out of it that works for you.
Hope this helps
Sam
[EDIT] Wow! I just noticed that this is my 200th post! :D [/EDIT]
[EDIT2]Ehhhmmm.... sorry - I just noticed that I didn't really answer your question: I think the commands are right, off course you don't need the -R if the dir's empty :D[/EDIT2]
both posts at the same time, down to the minute ; )Quote:
Sorry, I missed your reply earlier with the /download directory issue.
for vfat partitions i have to add them to the entire partition on mount. Is this a good idea to mount my reiserfs partitions in the same way with the uid=100 or whatever it is, or is it more 'elegant' as such to do so with chown?
i think i understand now about chmod and chown
thanks :)
it still isn't working. :(Quote:
john@odysseus john $ cd /files/
-bash: cd: /files/: Permission denied
john@odysseus john $ su
Password:
root@odysseus john # chown -Rv john: /files/
changed ownership of `/files/' to john:users
changed ownership of `/files/.reiserfs_priv' to john:users
changed ownership of `/files/movies' to john:users
changed ownership of `/files/movies/007' to john:users
changed ownership of `/files/movies/007/01 - 1962 - Dr No.avi' to john:users
changed ownership of `/files/movies/007/01 - Dr No - Part 1.avi' to john:users
changed ownership of `/files/movies/007/01 - Dr No - Part 2.avi' to john:users
changed ownership of `/files/movies/Hellraiser.avi' to john:users
etc...
root@odysseus john # chmod -Rv 660 /files/
mode of `/files/' changed to 0660 (rw-rw----)
mode of `/files/.reiserfs_priv' changed to 0660 (rw-rw----)
mode of `/files/movies' changed to 0660 (rw-rw----)
mode of `/files/movies/007' changed to 0660 (rw-rw----)
mode of `/files/movies/007/01 - 1962 - Dr No.avi' changed to 0660 (rw-rw----)
etc...
root@odysseus john # exit
john@odysseus john $ cd /files/
-bash: cd: /files/: Permission denied
john@odysseus john $
I believe you need execute permissions to 'cd' into those directories:
# chmod -R 770 /files
thank you:) that did the trick