Страница 1 из 4

Как задать default права для каталога рекурсивно...

Добавлено: 25 дек 2009, 15:13
Virgil
...и потом посмотреть default и отменить его?

Например, setfacl устанавливает default user для каталога рекурсивно. Можно ли, скажем, задать chmod 777 для каталога рекурсивно и default, чтобы при перемещении и копировании в любой подкаталог этого каталога файлов и директорий они тоже становились автоматически 777? И как посмотреть установленные default? Можно ли удалять опцию default?

Можно ли это проделывать с владельцами?

Сложновато... :?

Re: Как задать default права для каталога рекурсивно...

Добавлено: 25 дек 2009, 16:19
bazil
права в *nix не наследуются как в венде, при простом перемещении каталога права не изменяются

Re: Как задать default права для каталога рекурсивно...

Добавлено: 25 дек 2009, 17:05
Virgil
То есть нельзя установить так, что при перемещении каталога в определённую директорию у него изменялись права?

Тогда что делает setfacl default?

Re: Как задать default права для каталога рекурсивно...

Добавлено: 25 дек 2009, 20:08
Virgil
Попробовал сделать такое:

Код: Выделить всё

chmod a-rwx /all/example.txt

После этого сам смог удалить этот файл. Почему он удалился, если я запретил ему "w"?

Re: Как задать default права для каталога рекурсивно...

Добавлено: 25 дек 2009, 22:32
Llama
bazil, прежде чем делать такое заявление, наверное стоило бы всё-таки почитать man setfacl

Virgil,
Если я верно понял - то default acl на каталог - это именно то, что вам надо.

Права отлично наследуются, возможно вам следует внимательно почитать руководство по порграмме которую вы используете для копирования файлов.

chmod a-rwx /all/example.txt
После этого сам смог удалить этот файл. Почему он удалился, если я запретил ему "w"?


Удаление "простого" файла - это не запись в сам файл, а запись в файл каталога к котрому удаляемый файл оносится.
Если есть права записи на каталог - можно удалят файлы в нём, права и владельцы файлов внутри такого каталога пофиг.

Re: Как задать default права для каталога рекурсивно...

Добавлено: 25 дек 2009, 23:37
Virgil
Права отлично наследуются, возможно вам следует внимательно почитать руководство по порграмме которую вы используете для копирования файлов.

Nautilus...

Virgil,
Если я верно понял - то default acl на каталог - это именно то, что вам надо.

Читал man setfacl, мало что понял. Man'ы пишутся так же лево как и мануалы к Оконным прогам. Как установить default на каталог - вроде, разобрался. Но как управлять default'ами? Вот навыставлял я их, допустим, 20 штук на моём HDD. И забыл где и что ставил. Как их все найти, просмотреть и отредактировать?

Re: Как задать default права для каталога рекурсивно...

Добавлено: 26 дек 2009, 00:06
Llama
Virgil, я пока не встречал поисковиков по posix ACL.

Проблемане в ACL, а (ИМХО) в наутилусе, который при копировании занимается самодеятельностью и выставляет права на скпированные файлы... И решения со стороны файловой системы тут быть не может в принципе :(

Re: Как задать default права для каталога рекурсивно...

Добавлено: 26 дек 2009, 01:48
bazil
Llama, я не понял на что вы намекаете.

default для каталога задает права для создаваемых в нем файлов и каталогов(грубо говоря это аналог umask). При изменение прав на родительский каталог, права на дочерние объекты не меняются - наследования нет.

Не понимаю, о каком работающем наследовании говорит уважаемый Llama.

Virgil, Посмотрите в сторону umask или подробнее опишите начальную задачу.

Re: Как задать default права для каталога рекурсивно...

Добавлено: 26 дек 2009, 01:51
bazil
Virgil, возможно эти ссылки окажутся вам полезны
http://karapuzz.blogspot.com/2009/03/linux.html
http://pascal.tsu.ru/unix/files/files7a.html

Re: Как задать default права для каталога рекурсивно...

Добавлено: 28 дек 2009, 16:48
Virgil
Virgil, Посмотрите в сторону umask или подробнее опишите начальную задачу.

Почитал инфо в Инете. Вобщем, мне нужно, чтобы все файлы на моём компе создавались с правами 666, а каталоги - 777. Как задавать разные umask для файлов и для каталогов. Пробовал читать man umask, но он ГИГАНТСКИЙ.

Re: Как задать default права для каталога рекурсивно...

Добавлено: 28 дек 2009, 19:40
Llama
Virgil, во-первых, man umask - это руководство по системной функции, "тот самый umask" описан man bash
В вашем случае umask достаточно поставить в 0000.

Re: Как задать default права для каталога рекурсивно...

Добавлено: 28 дек 2009, 20:39
Virgil
umask не сохраняется.

Стоит umask 0022. Делаю umask 000, потом umask, выдаёт 000. Закрываю Терминал, открываю снова, ввожу umask, выдаёт снова 0022. Редактировал /etc/profile. Он у меня на компе теперь начинается так:

Код: Выделить всё

# /etc/profile -*- Mode: shell-script -*- 
# (c) MandrakeSoft, Chmouel Boudjnah <chmouel@mandrakesoft.com>

loginsh=1

if [ "$UID" -ge 500 ] && ! echo ${PATH} |grep -q /usr/games ; then
    PATH=$PATH:/usr/games
fi

umask 000

Всё равно umask = 0022.

Re: Как задать default права для каталога рекурсивно...

Добавлено: 28 дек 2009, 23:46
Llama
Virgil, значит переопределяется при логине одним из скриптов. См. .bash_profile и .bashrc

Re: Как задать default права для каталога рекурсивно...

Добавлено: 29 дек 2009, 14:30
Virgil
.bashrc:

Код: Выделить всё

# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
   . /etc/bashrc
fi

PS1='\n\n${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

.bash_profile:

Код: Выделить всё

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
   . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME

Re: Как задать default права для каталога рекурсивно...

Добавлено: 29 дек 2009, 20:52
Llama
Virgil писал(а):
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi



Эти конструкции говорят нам заглянуть в /etc/bashrc