Решено: настройка прав, у созданных программами файлов (почему-то по-умолчанию запрещено всё)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

petrushka_sch2
Сообщения: 252
ОС: Mandriva 2007.1

Решено: настройка прав, у созданных программами файлов

Сообщение petrushka_sch2 »

Проблема: все файлы, созданные программами (например, gem, apache + mod_rails или tar) от имени пользователей root или user создаются с правами "--------w-". umask у каждого из пользователей выдает 0644, что меня вполне устраивает.

Соответственно, в связи с этой проблемой множество глюков.

OS: Suse Entherpirse Linux 10

Подскажите, пожалуйста, куда копать?
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Решено: настройка прав, у созданных программами файлов

Сообщение nesk »

petrushka_sch2 писал(а):
22.10.2009 19:05
umask у каждого из пользователей выдает 0644, что меня вполне устраивает.

umask каких прав у файла при создании быть не должно.
Например есть установить маску 777, то все файлы будут создаваться с правами 000
То есть если сделать маску 022, то файлы будет создаваться с правами 644, а каталоги с правами 755
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
petrushka_sch2
Сообщения: 252
ОС: Mandriva 2007.1

Re: Решено: настройка прав, у созданных программами файлов

Сообщение petrushka_sch2 »

Верно, работает. Спасибо. А есть ли файл конфигурации, отвечающий за это?
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Решено: настройка прав, у созданных программами файлов

Сообщение SLEDopit »

petrushka_sch2 писал(а):
22.10.2009 19:17
Верно, работает. Спасибо. А есть ли файл конфигурации, отвечающий за это?
если программа запускается от обычного пользователя (например архиватор), то ~/.bashrc
если от системного (например apache), то это прописывается в конфигурационных файлах (в данном примере в сусе /etc/sysconfig/httpd , если память мне не изменяет)
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
petrushka_sch2
Сообщения: 252
ОС: Mandriva 2007.1

Re: Решено: настройка прав, у созданных программами файлов

Сообщение petrushka_sch2 »

Спасибо!
Спасибо сказали:
petrushka_sch2
Сообщения: 252
ОС: Mandriva 2007.1

Re: Решено: настройка прав, у созданных программами файлов

Сообщение petrushka_sch2 »

Кака-то мистика. Для рута прописал в /etc/bash.bashrc. Для него umask теперь в вечном 0022. А вот для пользователя нечто странное.

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

user@server:~> cat ~/.bashrc
umask 022
echo `umask`

При входе в систему:
Last login: Sat Oct 24 16:52:22 2009 from myhost
0022
user@server:~> date && umask
Sat Oct 24 16:55:27 MSD 2009
0664


Подскажите, где ещё может быть прописано изменение umask?!
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Решено: настройка прав, у созданных программами файлов

Сообщение Frank »

the default umask is set in /etc/profile
Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Решено: настройка прав, у созданных программами файлов

Сообщение drBatty »

petrushka_sch2 писал(а):
24.10.2009 16:53
Подскажите, где ещё может быть прописано изменение umask?!

а с чего вы взяли, что при входе выполняется ~/.bashrc ?
сначала /etc/profile, потом ~/.bash_profile. для подробностей читайте man bash
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
petrushka_sch2
Сообщения: 252
ОС: Mandriva 2007.1

Re: Решено: настройка прав, у созданных программами файлов

Сообщение petrushka_sch2 »

Есть только bashrc

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

$ls ~/.bash*
/home/petruninmm/.bash_history  /home/petruninmm/.bashrc

Везде прописано 022:

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

$grep "umask" /etc/*
/etc/bash.bashrc:umask 022
/etc/csh.login:umask 022
/etc/ksh.kshrc:umask 022
/etc/profile:umask 022


В итоге оказалось, что загвоздка была в файле ~/.profile . Неверный umask стоял там.
Спасибо сказали: