Neden bir dizine cd yazamıyorum?


14

Ubuntu 10.04.2 LTS kullanıyorum. Neden yapamıyorum cdiçine /var/wwwdizine?

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
cdyerleşik bir kabuk yani sudokullanılamaz.
sonraki duyuruya kadar duraklatıldı.

Ve kullanılabilseydi bile anlamsız olurdu. Genellikle başka bir işlemin çalışma dizinini değiştirmesinin bir yolu yoktur, bu nedenle cdyürütülebilir dosya ne olursa olsun , kabuk işlemi 'cwd'sini değiştiremez.
David Schwartz

Yanıtlar:


13

Bir dizine cd yazmak için yürütme izninizin olması gerekir.

sudo chmod o+x /var/www

3
Biraz açıklama: Yukarıdaki örnekte hem root (kullanıcı) hem de root (grup) yürütme biti ayarlanmıştır. Böylece grup kök üyeleri www'ye cd yapabilir. David kullanıcısı kök grup üyelerine dahil olmadığı için cd yapamaz. / Etc / group içeriğini görüntüleyerek inceleyebilirsiniz
adamo

1

'' Diğerleri''nin dizine girmesini yasaklamak için bir neden var, değil mi? Bu nedenle, bu dizine girmek, bazı şeyler yapmak ve sudo kabuğunu bırakarak bırakmak için root erişimi almanızı öneririm.

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

1

Sadece biraz daha bilgi, sisteminiz için bir web kullanıcısı ve grubu oluşturmak akıllıca olacaktır ve kök olarak çalışan hizmetlere sahip olmamak akıllıca olacaktır. Daha sonra gerekirse bu gruba kullanıcılar ekleyebilir ve kök ayrıcalıkları vermeyebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.