1

.I have a font file which I created using a python script from Github. The owner and group are root. I don't actually know what this means... I can guess what owner means, and I can guess that a group is a group permission that can be used to determine access but I'm not entirely clear on the difference between the group being root and the owner being root. Or how one even creates a group.

Anyway the permissions for "Other" is read only, and when I try to install the font using the font viewer I am denied based on permissions.

I also want to transfer this file to my windows machine and to other friends etc, so I want to take away all permissions from this file. Or give all permissions on this file? I'm not clear on the semantics there... basically I want to make it so that anyone can read, write, execute, use, install, whatever this file.

I tried running chmod o+rx {{font name}} but that didn't do anything it seems. I then tried `chown o+rx {{font name}}' and that threw an error because I didn't write a user name.

But if I don't want to write a specific user name, I just want to make it that anyone can do anything with this file, what would I do. and why would I do it that way?

I also realize that I could just use the CLI to sudo install the font but I want to understand why permissions work this way and what exactly I'm doing.

When I download a picture from the internet, anyone can edit, delete, move, or use the file etc. So having never really dealt with permissions I'm not really clear on how a picture from the internet differs from files one has set permissions for. I get conceptually that it's a security thing but the exact logic is not clear to me.

EDIT:

The top answer to this question essentially answered my question: How to change permissions from root user to all users?

I'm still not clear on the full limits or theory about permissions, but in order to make it so that a file can be used by anyone I just have to change the permissions while under root using this command: chmod a+rwX {{filename}}

I know what rwx means. It means read, write, execute. And plus means to give those permissions. But what do a mean? I read to use o which is other, but I'm guessing that a is anyone?

I know how to give anyone permission, but how can I make anyone owner? That's probably the more specific question I'm asking.

Rui F Ribeiro
  • 56,709
  • 26
  • 150
  • 232
  • 1
    "when I try to install the font using the font viewer I am denied based on permissions" that's likely a matter of the ownership and permissions on the directory where you're trying to install it to – steeldriver Jul 22 '18 at 20:54
  • Okay so I actually figured it out. The owner was root and root is not the same thing as sudo, which I did not understand. I logged into root and ran the permissions and was able to change it.

    That said I still don't entirely understand the theory behind permissions. As in, the differing levels of group, other, and owner. If Owners can Read and Write and Groups can Read and Write, does that mean that functionall all members of a group are an Owner? Is it possible for an Owner to have less permissions than Other or Group?

    – Aslan French Jul 22 '18 at 20:57
  • Also I know how to get Other all permissions but I don't know how to change the owner to "everyone". I tried to chown user:user as per the answer I've linked in the answer, but the system said that user didn't exist. I assume that the person answering meant user as a variable stand in but in that case it's not as generic as what I'm asking for. I have a way of doing what I need to do, but I'm curious on what the limits of these things are. – Aslan French Jul 22 '18 at 21:00

1 Answers1

1

"root" is the superuser account. It has the permissions to do anything it wants to on the computer. "groups" are used for access control. And, a user can belong to several "groups". Organizations may set up different groups for different departments, e.g. accounting, personal, engineering, etc. This way then can limit access to the files to only that group. Most *nix OSs will automatically create a group with the same name as the user when creating the user account.

The "other" category is limited to everyone who has an account on the computer. It does not mean everyone in the world.

File transfers between computers are usually done with scp (secure copy protocol). It allows you to copy a file from the local computer to the distant computer. Or, the converse, from a remote computer to the local computer. However to do this, you will need a user account on the remote machine.

When you download a picture from the internet you are using either http or ftp to do the download. If you really want anyone in the world to be able to download the fonts, you would have to set up a web server or an anonymous ftp server. I strongly advise against doing that if you are unfamiliar with unix.

Garnet
  • 398
  • Hi, this helps clear up some stuff for me. So THATS that'w http and ftp are for huh? Basically when you download from a server it not only sends the data over it's also giving you permissions?

    I managed to give everyone permissions using chmod a+rwx {{filename}}. But you say it would only work if I used a file server? What if I downloaded the font onto a flash dsk or burned it into a CD? Or do those processes do something to the permissions similar to FTP and http?

    – Aslan French Jul 22 '18 at 21:07
  • Putting the file on removable media (usb, cdrom, etc.) shouldn't be a problem as long as the account you are using to copy/burn the file to it has permission to access the file.
    BTW, windows does not understand unix's file permissions. I have to change permissions whenever I transfer a file from Windows to Linux using removable media.
    – Garnet Jul 22 '18 at 21:13
  • Last two things: I figured out how to give everyone permissions (as per my updated question). Does the a in that terminal command stand for "anyone" and if so that means it should work with owner, group, other AND anyone outside of that computer, correct?

    And absolute last thing, is it possible for group or other to have more permissions than Owner? Or is it hierarchical?

    – Aslan French Jul 22 '18 at 21:40
  • The first letter in the chmod command is either ugoa, which refers to user, group, other, or all (user, group, and other). – Garnet Jul 22 '18 at 21:46
  • So that should work for anyone even people who don't have an account on the computer who would be covered by "other". Correct? – Aslan French Jul 22 '18 at 23:23