Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: sunhater в Nov 23, 2003, 15:10



Титла: executible directory
Публикувано от: sunhater в Nov 23, 2003, 15:10
Какъв е смисълът на x (executible) флага на директориите. За файловете ясно. Забелязах че като няма x, директорията не може да се отвори. Ами тогава защо е r флага, като x изпълнява неговите функции?


Титла: executible directory
Публикувано от: zazzko в Nov 23, 2003, 20:31
Ами различно е. х -а го разбирай като browsеble, докато r си е точно read. Сега ако имаш файл с r права, но без x, то този файл ще може да се чете само ако му зададеш пълния път (т.е. ако знаеш, че е там). От друга страна няма да можеш да отвориш директориата и да видиш другите файлове.


Титла: executible directory
Публикувано от: в Nov 24, 2003, 08:10
Да, както казва zazzko, флагът x за директориите е за разглеждане на съдържанието им. С други думи, ако правата над директорията test (приндлежаща на теб) са r-------- или 400, и в нея има изпълним файл test1, то при изпълнение на командата ls test няма да можеш да го видиш, но ако знаеш, че файлът е там, ще можеш да го стартираш с командата ./test/test1
Best wishes!
Alex


Титла: executible directory
Публикувано от: sunhater в Nov 24, 2003, 22:39
Цитат (zazzko @ Ноември 23 2003,21:31)
Сега ако имаш файл с r права, но без x, то този файл ще може да се чете само ако му зададеш пълния път (т.е. ако знаеш, че е там).

Нищо подобно... Пробвах следното нещо:
Примерен код
sunhater@rastix:~$ mkdir dir1
sunhater@rastix:~$ chmod 600 dir1
sunhater@rastix:~$ touch dir1/file1
touch: cannot touch `dir1/file1': Permission denied
sunhater@rastix:~$ chmod 700 dir1
sunhater@rastix:~$ ls / > dir1/file1
sunhater@rastix:~$ chmod 600 dir1
sunhater@rastix:~$ cat dir1/file1
cat: dir1/file1: Permission denied
sunhater@rastix:~$