디렉토리에 CD를 넣을 수없는 이유는 무엇입니까?


14

우분투 10.04.2 LTS를 실행 중입니다. 디렉토리에 cd들어갈 수없는 이유는 무엇 /var/www입니까?

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내장 쉘이므로 sudo사용할 수 없습니다.
추후 공지가있을 때까지 일시 중지되었습니다.

그리고 그것을 사용할 수 있다고해도 무의미합니다. 일반적으로 다른 프로세스가 작업 디렉토리를 변경하는 방법은 없으므로 cd실행 파일이 무엇이든간에 쉘 프로세스의 cwd를 변경할 수 없습니다.
David Schwartz

답변:


13

디렉토리로 cd하려면 실행 권한이 필요합니다.

sudo chmod o+x /var/www

3
약간의 설명 : 위의 예에서 루트 (사용자)와 루트 (그룹) 모두 실행 비트 세트를 가지고 있습니다. 따라서 루트 그룹의 구성원은 www를 cd 할 수 있습니다. 사용자 david는 루트 그룹 구성원에 포함되어 있지 않으므로 CD를 넣을 수 없습니다. / etc / group
adamo

1

``다른 사람들 ''이 디렉토리에 들어가는 것을 금지하는 데는 어떤 이유가 있습니까? 따라서 루트 액세스 권한을 얻어 해당 디렉토리에 들어가서 몇 가지 작업을 수행하고 남겨두고 sudo 셸을 삭제하는 것이 좋습니다.

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

1

약간의 추가 정보 만 있으면 시스템의 웹 사용자 및 그룹을 작성하고 루트로 서비스를 실행하지 않는 것이 좋습니다. 그런 다음 필요한 경우 해당 그룹에 사용자를 추가하고 루트 권한을 부여하지 않아도됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.