Linux.by
https://forum.linux.by/

Как задать default права для каталога рекурсивно...
https://forum.linux.by/viewtopic.php?f=1&t=10650
Страница 1 из 4

Автор:  Virgil [ 25 дек 2009, 15:13 ]
Заголовок сообщения:  Как задать default права для каталога рекурсивно...

...и потом посмотреть default и отменить его?

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

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

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

Автор:  bazil [ 25 дек 2009, 16:19 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

права в *nix не наследуются как в венде, при простом перемещении каталога права не изменяются

Автор:  Virgil [ 25 дек 2009, 17:05 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

То есть нельзя установить так, что при перемещении каталога в определённую директорию у него изменялись права?

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

Автор:  Virgil [ 25 дек 2009, 20:08 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

Попробовал сделать такое:

Код:
chmod a-rwx /all/example.txt

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

Автор:  Llama [ 25 дек 2009, 22:32 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

bazil, прежде чем делать такое заявление, наверное стоило бы всё-таки почитать man setfacl

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

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

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


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

Автор:  Virgil [ 25 дек 2009, 23:37 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

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

Nautilus...

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

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

Автор:  Llama [ 26 дек 2009, 00:06 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

Virgil, я пока не встречал поисковиков по posix ACL.

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

Автор:  bazil [ 26 дек 2009, 01:48 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

Llama, я не понял на что вы намекаете.

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

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

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

Автор:  bazil [ 26 дек 2009, 01:51 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

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

Автор:  Virgil [ 28 дек 2009, 16:48 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

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

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

Автор:  Llama [ 28 дек 2009, 19:40 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

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

Автор:  Virgil [ 28 дек 2009, 20:39 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

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.

Автор:  Llama [ 28 дек 2009, 23:46 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

Virgil, значит переопределяется при логине одним из скриптов. См. .bash_profile и .bashrc

Автор:  Virgil [ 29 дек 2009, 14:30 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

.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

Автор:  Llama [ 29 дек 2009, 20:52 ]
Заголовок сообщения:  Re: Как задать default права для каталога рекурсивно...

Virgil писал(а):

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



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

Страница 1 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/