Bite 223. Unix file permissions
Login and get codingEach file and directory in Unix has its permissions broken down into owner, group and other (world) attributes, see here.
Each attribute has one or more permissions: r(ead), w(rite), e(x)ecute. The lack of any permission is indicated by a dash (
-). Sor--= read only,rw-= read + write, andrwx= full permissions.The file permission for owner + group + other has 3 of those strings after the initial character which indicates file type (- = file / d = directory):
$ lt bite.html -rw-r--r-- 1 bobbelderbos staff 229B Oct 9 14:03 bite.htmlTo change the file permission you use the
chmodand its octal representation, for each attribute (owner, group, other) we translate the permission string summing a value for each permission:r= 4,w= 2, andx= 1, hence:$ touch myfile $ lt myfile -rw-r--r-- 1 bobbelderbos staff 0B Oct 11 10:12 myfile $ chmod 400 myfile $ lt myfile -r-------- 1 bobbelderbos staff 0B Oct 11 10:12 myfile $ chmod 600 myfile $ lt myfile -rw------- 1 bobbelderbos staff 0B Oct 11 10:12 myfile $ chmod 700 myfile $ lt myfile -rwx------ 1 bobbelderbos staff 0B Oct 11 10:12 myfile $ chmod 740 myfile $ lt myfile -rwxr----- 1 bobbelderbos staff 0B Oct 11 10:12 myfile $ chmod 745 myfile $ lt myfile -rwxr--r-x 1 bobbelderbos staff 0B Oct 11 10:12 myfileThat concludes our little Unix file permission lesson. In this Bite you will complete
get_octal_from_file_permissionthat takes a permission string and returns its octal representation, for example:>>> from permissions import get_octal_from_file_permission >>> get_octal_from_file_permission('rw-r--r--') '644' >>> get_octal_from_file_permission('rwxrwxrwx') '777'Of course the tests check a bunch more (wonder about
parametrize? You can read more about it on our blog - bullet 9). Have fun and keep calm and code in Python!
Will you be the 118th person to crack this Bite?
Resolution time: ~29 min. (avg. submissions of 5-240 min.)
Our community rates this Bite 2.33 on a 1-10 difficulty scale.
» You can do it! 😌