LinuxForum.Fans
Тема

Chown для ".." - переход к родительской папке

Автор: brullek 9 сообщений 1582 просмотров
#248532

День добрый! Есть проблема с правами доступа к каталогам в файловой системе (ext4) ОС Fedora 16 3.2.2-1.fc16.i686

Есть каталоги:

text
          users /
            |---user1 (chown user1:ftp)
A           |    |---- .. (уровень вверх) (chown user1:ftp)
            |    |---- file1
            |    |---- ....
            |    |---- fileN
            |
            |---user2    (chown user2:users)
B           |    |---- .. (уровень вверх) (chown user1:ftp) - тут проблема: должно быть chown: user2:users
            |    |---- file1
            |    |---- ....
            |    |---- fileN
            |
            ...
            |--- userN

у папок user1, user2 ... userN- я рекурсивно ставлю нужных мне родителей через chown
захожу в папку user1 и смотрю права для ".." - на схеме помечено как А - все верно.
захожу в папку user2, user3 и в любую другую, смотрю на права для ".." - на схеме помечено как B - вижу не правильных хозяев.
Меняю руками для ".." хозяина и группу - меняется сразу у всех ".." внутри user1, user2,...userN

Причем у самих папок User1, User2, ... UserN и у всех вложенных в них файлах и папках - все права устанавливаются правильно.

Как с этим бороться?

#248541
"brullek" написал:
у папок user1, user2 ... userN- я рекурсивно ставлю нужных мне родителей через chown

Покажите всё же команду, которой вы это делаете.
Покажите вывод команды

text

id

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

text

find ПОЛНЫЙ_ПУТЬ_К/users -maxdepth 2 -ls
#248546
Lupo Alberto написал:

Покажите всё же команду, которой вы это делаете.
text

chown -R user1:ftp user1/
chown -R user2:users user2/
...
Lupo Alberto написал:

Покажите вывод команды id
text
uid=0(root) gid=0(root) группы=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
"Lupo Alberto" написал:
Покажите вывод команды

find ПОЛНЫЙ_ПУТЬ_К/users -maxdepth 2 -ls
Показать

12320769 4 drwxr-xr-x 5 ftpadmin ftp 4096 Апр 26 18:29 /var/ftp/users/
12320782 4 drwxr-xr-x 4 mirror mirrorgroup 4096 Апр 26 15:59 /var/ftp/users/mirror
3145729 4 drwxr-x--- 6 mirror mirrorgroup 4096 Апр 26 15:58 /var/ftp/users/mirror/distrfiles
12320786 4 drwxrwx--- 3 mirror mirrorgroup 4096 Апр 6 10:12 /var/ftp/users/mirror/CentOS
12321281 920 -rw-r--r-- 1 mirror mirrorgroup 942080 Апр 26 15:59 /var/ftp/users/mirror/TL_Price.xls
12320770 4 drwxr-xr-x 3 ftpadmin ftp 4096 Апр 2 16:06 /var/ftp/users/ftp
12320771 4 drwxr-x--- 3 ftpadmin ftp 4096 Апр 2 16:29 /var/ftp/users/ftp/pub
3145741 4 drwxr-xr-x 4 privateftp ftp 4096 Апр 18 16:49 /var/ftp/users/privateftp
3145742 4108 -rw-r----- 1 privateftp ftp 4202841 Апр 18 15:17 /var/ftp/users/privateftp/\312\355\350\343\340\ -\ Kuper\ Aalan\ -\317\361\350\365\341\356\353\374\355\350\366\340\ \342\360\363\352\340\365\ \357\340\366\350\345\355\362\356\342.rtf
3145743 4 drwxr-x--- 2 privateftp ftp 4096 Апр 11 12:27 /var/ftp/users/privateftp/dvd_disk_Grazhdanin_Poet
3145744 4 drwxr-x--- 4 privateftp ftp 4096 Апр 18 16:51 /var/ftp/users/privateftp/MultyBoot
12320781 4 -rw-r--r-- 1 mirror mirrorgroup 530 Апр 11 11:11 /var/ftp/users/readme.txt
#248819

Какие мысли, господа? )

#248821
"brullek" написал:
Есть каталоги:
text
          users /
            |---user1 (chown user1:ftp)
A           |    |---- .. (уровень вверх) (chown user1:ftp)
            |    |---- file1
            |    |---- ....
            |    |---- fileN
            |
            |---user2    (chown user2:users)
B           |    |---- .. (уровень вверх) (chown user1:ftp) - тут проблема: должно быть chown: user2:users
            |    |---- file1
            |    |---- ....
            |    |---- fileN
            |
            ...
            |--- userN

По-моему, вам нужно сделать так:

text

#!/bin/bash
cd users
for i in user1 user2; do
     find . -name $i -exec chown -Rv $i:users {} \;
done

Это концепт-кар скрипт, наверняка допилить надо будет

#248876

Так, как я понял, этот скрипт нужен для назначения рекурсивно каждому каталогу нужных родителей... Но мне это не нужно. Проблемы с назначением прав нет. Проблема с багой для файлов ".." - переход на каталог выше.

Трабл с правами внутри каждого пользовательского каталога: все ".." в каждом пользовательском каталоге имеют не правильных хозяев, а именно: я меняю хозяев для файла ".." внутри каталога User1

text
chown user1:ftp ..

И файлам ".." внутри остальных каталогов User2... UserN назначаются хозяева user1:ftp. Хотя они меняться вообще не должны. Пробовал и через mc уже менять, та же бага проявляется (

#248886

Мб, я, конечно, туплю, и оно так и должно быть? )

#248888
"brullek" написал:
И файлам ".." внутри остальных каталогов User2... UserN назначаются хозяева user1:ftp. Хотя они меняться вообще не должны. Пробовал и через mc уже менять, та же бага проявляется (

чего-то вы недопонимаете основных концепций:
.. - это всего лишь де-факто жёсткая ссылка на родительский каталог, /var/ftp/users/, а права назначаются применительно к самому файлу, а не к ссылкам на него. и бага тут никакого нет...

"brullek" написал:
Мб, я, конечно, туплю, и оно так и должно быть? )

воистину =))

#248889

Спасибо, тему можно закрыть.

Войдите или зарегистрируйтесь, чтобы ответить.