Perché non riesco a inserire il cd in una directory?


14

Sto eseguendo Ubuntu 10.04.2 LTS. Perché non riesco a cdentrare nella /var/wwwdirectory?

david@ubuntu:/var$ pwd
/var

david@ubuntu:/var$ ls -l
drwxrwxr-- 13 root root  4096 2011-02-26 21:53 www

david@ubuntu:/var$ cd www
-bash: cd: www: Permission denied

david@ubuntu:/var$ sudo cd www
sudo: cd: command not found

2
cdè una shell integrata, quindi sudonon può essere utilizzata.
In pausa fino a ulteriore avviso.

E anche se potesse essere usato, sarebbe inutile. In genere non c'è modo di fare in modo che un altro processo cambi la sua directory di lavoro, quindi qualunque cosa l' cdeseguibile possa fare, non può cambiare il processo di shell 'cwd.
David Schwartz,

Risposte:


13

È necessario eseguire l'autorizzazione per cd in una directory.

sudo chmod o+x /var/www

3
Un po 'di chiarimento: nell'esempio sopra sia root (l'utente) sia root (il gruppo) hanno il bit di esecuzione impostato. Quindi i membri del gruppo root possono inserire cd in www. L'utente david non può cd perché non è incluso nei membri del gruppo radice. Puoi verificarlo visualizzando i contenuti di / etc / group
adamo il

1

C'è qualche motivo per vietare agli "altri" di entrare nella directory, no? Quindi suggerirei di ottenere l'accesso come root per accedere a quella directory, fare alcune cose e lasciarlo, lasciando cadere la shell sudo.

sudo -i 
cd /var/www
# do your thing
cd -
exit

1

Solo qualche informazione in più, sarebbe saggio creare un utente web e un gruppo per il tuo sistema e non avere servizi in esecuzione come root. Quindi puoi anche aggiungere utenti a quel gruppo se necessario e non dare i privilegi di root.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.