Страница 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
Попробовал сделать такое:
После этого сам смог удалить этот файл. Почему он удалился, если я запретил ему "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
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