1

Привет всем!
Я создал пользователя user (группа ftp), который заходит в свой домашний каталог /home/ftp и создает папки по умолчанию с правами доступа -755. Подскажите пожалуйста, как сделать так, чтобы пользователь user всегда по умолчанию создавал каталог с правами -777?
Т.к. не очень удобно каждый раз менять права с помощью chmod -R 777 /home/ftp/*

2

Добавьте в файл /home/ftp/.bashrc, если вы используете Bash, разумеется, строку

umask 0
Был, был и весь вышел...

3

В /etc/profile строчку:

umask 022

поменять на что-то более подходящее случаю:

if [ "$(id -un)" == "user" ]
then umask 0
else umask 022
fi

или

if [ "$(id -u)" == "1001" ]
then umask 0
else umask 022
fi

, где 1001 -- это идентификатор пользователя user.
Или просто, когда нужно подобное поведение, выдать от пользователя umask 0.

4

Lupo Alberto пишет:

Добавьте в файл /home/ftp/.bashrc, если вы используете Bash, разумеется, строку

такого файла нет, и под рутом тоже не видится

5

avaddon66 пишет:

такого файла нет

Создайте.

6

Lupo Alberto
bormant
Сделал по вашим рекомендациям, результата нет. каталоги по прежнему создаются с правами -755.

7

avaddon66 пишет:

Сделал по вашим рекомендациям, результата нет. каталоги по прежнему создаются с правами -755.

После этого нужно перелогиниться. Это, во-первых.
Во-вторых, покажите

ls -al /home/ftp
awk -F':' '/ftp/ {print $7}' /etc/passwd
Был, был и весь вышел...

8

admin@test:~$ ls -al /home/ftp
drwxrwxrwx 4 root  root  4096 2012-07-04 14:09 .
drwxr-xr-x 4 root  root  4096 2011-01-01 01:00 ..
drwxrwxrwx 3 admin users 4096 2012-07-04 14:09 11234
drwxrwxrwx 5 root  root  4096 2012-07-04 12:50 config
admin@test:~$ awk -F':' '/ftp/ {print $7}' /etc/passwd
/bin/false

Вроде бы все получилось, пользователь в корне создает каталоги с правами -777, но если создать еще один каталог внутри созданного, то права будут -755.

9

...и где файл .bashrc в каталоге /home/ftp?

Был, был и весь вышел...

10

avaddon66 пишет:

/bin/false

...хотя у пользователя ftp всё равно рабочей оболочки нет.

Был, был и весь вышел...

11

Lupo Alberto пишет:

у пользователя ftp

avaddon66 пишет:

создал пользователя user (группа ftp)

поэтому наличие или отсутствие шелла у пользователя ftp отношения к делу не имеет.

12

avaddon66 пишет:

Я создал пользователя user (группа ftp), который заходит в свой домашний каталог /home/ftp и создает папки по умолчанию с правами доступа -755.

Что-то я запутался...
Как называется пользователь, для которого вы настраиваете права?

Был, был и весь вышел...

13

bormant пишет:

поэтому наличие или отсутствие шелла у пользователя ftp отношения к делу не имеет.

Уже заметил ac

Был, был и весь вышел...

14 (04.07.2012 14:49:45 отредактировано mil612)

Lupo Alberto
Пожалуйста

user@test:~/test$ awk -F':' '/ftp/ {print $7}' /etc/passwd
/bin/false
/bin/bash
user@est:~/test$ ls -al /home/ftp
итого 56
drwxrwxrwx 12 root root 4096 2012-07-04 14:38 .
drwxr-xr-x  4 root root 4096 2011-01-01 00:00 ..
-rw-------  1 user ftp    55 2012-07-04 14:12 .bash_history
-rw-rw-rw-  1 user ftp     7 2012-07-04 14:35 .bashrc
drwxrwxrwx  2 user ftp  4096 2012-07-04 14:03 .mc
drwxr-xr-x  2 user ftp  4096 2012-07-04 14:07 123
drwxr-xr-x  2 user ftp  4096 2012-07-04 14:38 334444
drwxrwxrwx 32 user ftp  4096 2012-06-29 10:27 Backup
drwxrwxrwx 31 root root 4096 2012-06-29 11:37 config
drwxrwxrwx  5 user ftp  4096 2012-07-04 08:36 config_mks
drwxrwxrwx  5 root root 4096 2012-06-29 13:49 distrib
drwxrwxrwx 22 root root 4096 2012-07-04 10:28 docum
drwxrwxrwx 31 user ftp  4096 2012-07-04 11:50 screen
drwxrwxrwx  3 user ftp  4096 2012-07-04 14:37 test

Как называется пользователь, для которого вы настраиваете права?

пользователь user группа ftp
P.S. Извиняюсь за не внимательность, когда каталоги создаются в bash, то права выставляются -777, а когда делаю через TotalCommander под именем user создаются с -755

15

avaddon66 пишет:

пользователь user группа ftp

В домашнем каталоге пользователя user создайте файл .bashrc со строкой

umask 0

Домашний каталог пользователя — шестое поле в строке с именем пользователя файла /etc/passwd; рабочая оболочка — там же седьмое поле.

Был, был и весь вышел...

16 (04.07.2012 14:52:50 отредактировано mil612)

В домашнем каталоге пользователя user создайте файл .bashrc со строкой

файл bashrc создан, строка umask 0 добавлена, домашний каталог для user и есть /home/ftp

17

avaddon66 пишет:

домашний каталог для user и есть /home/ftp

...и всё же покажите bx

grep user /etc/passwd
Был, был и весь вышел...

18

avaddon66 пишет:

а когда делаю через TotalCommander под именем user создаются с -755

Тут я точно не помощник ac

Был, был и весь вышел...

19

avaddon66,
чтобы советы не выглядели шаманством, коротенечко поясню, что зачем и где почитать.

1) вызов
umask 0
устанавливает umask текущего процесса в 0, в результате чего создаваемые процессом каталоги получают права drwxrwxrwx, а файлы -rw-rw-rw-.

2) все остальные "приседания" направлены на то, что бы вызов "umask 0" делался без участия пользователя. Возможные кандидаты: скрипты, выполняемые при логине пользователя: /etc/profile, /etc/profile.d/*, ~/.profile, ~/.bashrc, ...
Строго говоря, это очень плохая идея, поскольку все остальные файлы этим пользователем будут создаваться с теми же правами -- "всё для всех", а выдать когда нужно "umask 0" и по завершении "umask 022" руки не отвалятся.

Про umask: man umask (ru), http://ru.wikipedia.org/wiki/Umask
Про выполняемое при старте bash: man bash (ru)

20

Разобрался, поправил в файле /etc/proftp.conf значение umask на 011, этого более чем достаточно, все создается как мне нужно.
Спасибо всем!