2017-02-13 1 views
0

il est dans ce fichier: https://github.com/nathanctung/UCLA-CS-136/blob/1a883e2a6d1014fb5b162b332c867f6b4ef1e461/Assignment%203/submit2-1415097320/part2/patch2.shPourquoi le fichier peut-il donner plus de permissions que son répertoire?

#!/bin/bash 

sudo mkdir /home/memo-users # create memo-users directory in /home 
sudo groupadd memo-users # create memo-users group and give them ownership 
sudo chgrp -R memo-users /home/memo-users 
sudo chmod 755 /home/memo-users 

# at this point, users can be added to memo-users group 
# all users dealing with memos should be added 

sudo mkdir /home/memo-users/memo # add the actual dir for storing memos 
sudo chmod 775 /home/memo-users/memo 

sudo chmod +t /home/memo-users/memo # sticky bit keeps files from arbitrarily deletion 

sudo cp fixed.patch /usr/lib/cgi-bin/ # copy the patch over to memo.cgi's dir 
cd /usr/lib/cgi-bin 
sudo chmod -s memo.cgi # remove root-SUID from memo.cgi altogether 
patch < fixed.patch # apply the patch! this may need sudo su - access 

Ce script peut empêcher l'utilisateur différent de la note des autres de changement. Mais je ne sais pas vraiment en détail ce qu'il a fait. Je ne peux pas comprendre pourquoi il a mis 755 à /home/memo-users, mais mis 775 à /home/memo-users/memo. Pourriez-vous me dire le but et le résultat de cette scipt?

Répondre

0

[7 pour le propriétaire] [7 pour un même groupe] [5 pour tout le monde]

R - lire

W - écrire

X - execute

5 = R (oui) -W (non) -X (oui)

vous pouvez visiter ce répertoire que si vous avez la permission R et X

7 = R (oui) -W (oui) -X (oui)

vous pouvez écrire sth. à l'intérieur de ce répertoire


Maintenant, vous êtes dans le même groupe avec les memo-users. Vous avez R & X, de sorte que vous pouvez entrer/home/memo-users mais impossible de modifier quoi que ce soit dans ce dossier, et vous avez RWX dans/home/memo-users/memo, donc vous pouvez écrire sth. dans ce répertoire. Vous avez la permission R + X dans/home/memo-users est le pré-requis pour accéder à/home/memo-users/memo, mais vous pouvez éditer dans/home/memo-users/memo est invoqué par ce répertoire lui-même .


Cette logique est lisse en ce qui me concerne. Vous n'avez aucune permission d'écrire quoi que ce soit dans/home, mais vous pouvez écrire sth. dans/home/you-name right