¿Por qué no puedo cd en un directorio?

14

Estoy ejecutando Ubuntu 10.04.2 LTS. ¿Por qué no puedo cdingresar al /var/wwwdirectorio?

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
davidjhp
fuente
2
cdes un shell incorporado, por lo sudoque no se puede usar.
Pausado hasta nuevo aviso.
E incluso si pudiera usarse, no tendría sentido. Por lo general, no hay forma de hacer que otro proceso cambie su directorio de trabajo, por lo que, independientemente de lo que cdpueda hacer el ejecutable, no podría cambiar el proceso de shell 'cwd.
David Schwartz

Respuestas:

13

Necesita ejecutar permiso para cd en un directorio.

sudo chmod o+x /var/www
Cakemox
fuente
3
Un poco de aclaración: en el ejemplo anterior, tanto root (el usuario) como root (el grupo) tienen el bit de ejecución establecido. Entonces, los miembros de la raíz del grupo pueden cd en www. El usuario david no puede cd porque no está incluido en los miembros del grupo raíz. Puede inspeccionar eso viendo los contenidos de / etc / group
adamo
1

Hay alguna razón para prohibir que los '' otros '' ingresen al directorio, ¿no? Por lo tanto, sugeriría obtener acceso de root para ingresar a ese directorio, hacer algunas cosas y dejarlo, soltando el shell de sudo.

sudo -i 
cd /var/www
# do your thing
cd -
exit
usuario desconocido
fuente
1

Solo un poco más de información, sería aconsejable crear un usuario y grupo web para su sistema y no tener servicios que se ejecutan como root. Entonces también puede agregar usuarios a ese grupo si es necesario y no otorgar privilegios de root.

Miguel
fuente