Автор Тема: Малко проблемче със споделените ресурси  (Прочетена 2177 пъти)

ivterbg

  • Напреднали
  • *****
  • Публикации: 78
    • Профил
Какво е положението: UBUNTU 12.04 е ОС-а. Споделил съм една папка която ми е в хоум директорията. Всичко работи (споделянето се вижда от всички в мрежата) но когато сложа нов файл там (дали локално на Убунтуто или го копирам в тази папка по мрежата) се оказва, че нямам права да чета файла както аз локално, така и всички по мрежата. Тоест това става дори аз самия да си копирам там файл.
Всеки път като сложа там файл трябва да правя chmod - R 777 \folder за да мога да си ползвам файла който е сложен там.
Насочете ме как да фиксирам проблема, защото е изнервящо това !?
Активен

backinblack

  • Напреднали
  • *****
  • Публикации: 3201
    • Профил
Казах ти и в предишна тема да сложиш Webmin  и с него да си настройваш самбата, ама не чуваш!
Като искаш с команди да става, седни и научи всичките.
Активен

mimosh

  • Напреднали
  • *****
  • Публикации: 317
  • Distribution: Kubuntu
  • Window Manager: KDE
    • Профил
В настройките на самбата има опция force user, с която да промениш като кой юзър да се пишат файловете качени през самбата.
Активен

dreamdj

  • Напреднали
  • *****
  • Публикации: 52
    • Профил
Това е в моя случай със споделени определени папки, които са за четене от всички потребители и указан достъп на определени потребители с права за писане. Видях самба някъде горе. Това е при условие, че си заложил security = user.

Код:
[Име на споделената папка]
comment = Коментар (не е задължителен)
path = /home/бля бля бля
read only = yes
write list = Потребители които имат право да записват по мрежата в папката
Активен

ivterbg

  • Напреднали
  • *****
  • Публикации: 78
    • Профил
Предположих, че е някаква кретения, ама не предполагах, че е такава: проблема ми се оказа от правата на папките. Мислех, че всяка папка надолу по корена наследява правата на по-горната, ама то не било така - всяка си има нейни права, които изобщо не се интересуват от правата на родителя. Тоест: папката /home/share/folder1 има права нямащи нищо общо с тези на /home/share/ (не само правата, ами и собственика и групата бяха различни). Поогледах си правата на папките, зададох им такива каквито трябва да са ми и всичко е ок.
Ще имам в предвид напред, че правила родител-дете хич ги няма в linux.

За WEBMIN - този софтуер през браузър достъп изобщо дори не ми вижда инсталирана САМБА-та. Изобщо я няма като услуга, макар да я имам пусната коректно на самия Линукс.
След ръчкане напред назад, смених темите (!!!) и се появи услугата в графата. В подразбиращата се тема на WEBMIN изобщо нямаше САМБА.
« Последна редакция: May 31, 2013, 16:22 от ivterbg »
Активен

drag

  • Напреднали
  • *****
  • Публикации: 83
  • Distribution: Debian; FreeBSD
  • Window Manager: Gnome
    • Профил
/offff
Казах ти и в предишна тема да сложиш Webmin

Какво пък толкова му харесваш на това го*но не мога да схвана....
Активен

dreamdj

  • Напреднали
  • *****
  • Публикации: 52
    • Профил
@ivterbg Извинявай ама написаното от теб може да е някакво намиране на решение, но като цяло проблема е в ненастроена самба. При мен са 8 основни папки, като всяка папка има поне по над 20 под папки и т.н. Дървото е просто каша в буквалния смисъл. Но колегите се оправят някак си то си е техен проблем. Всяка под-папка наследява правата на основната това го запомни. Огледай си пак конфигурацията на самбата, там нещо се чупи.
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил

Ще имам в предвид напред, че правила родител-дете хич ги няма в linux.

Това не е така. Виж "man umask". А относно администрирането, виж SWAT
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

backinblack

  • Напреднали
  • *****
  • Публикации: 3201
    • Профил
/offff
Казах ти и в предишна тема да сложиш Webmin

Какво пък толкова му харесваш на това го*но не мога да схвана....

Принципно същото което е и с Убунту! На времето(преди 3+ години), като започнах да се интересувам от Линукс и да разцъквам, разгледах Мандрива и Федора и двете с КДЕ и Убунту 10.04 с Гном. Повече ми харесваше фейса на КДЕ като Уиндоус потребител, но по-лесно се справих с това което исках да направя с Убунту, а в последствие като понапреднах, не намирах причина защо да си губя времето с другите, като и с Убунту може да се направи същото.
В последствие реших да обърна фнимание на Дебиан, че нали бил като Убунту или Убунту като Дебиан, но така се омазах, че го захвърлих още на първата седмица и все още не виждам смисъл да сменям Убунту с нещо друго.
След това лирично отклонение, по същия начин стоят нещата и с Уебмин при мен. Когото го инсталирах имах съвсем елементарни познания и се справих от раз с инсталирането му и стартирането му и не ми липсва нищо в него, за да търся друг софтуер за тази цел.
За това го и препоръчвам горещо на всеки начинаещ, а когато напредне и реши, че има нужда от нещо повече, да се спасява с нещо друго.
За мен, дето не искам да се уча да работя с конзола и се опитвам за убедя и Уиндоус потребителите, че с Линукс може да се работи по уиндоуски е незаменим инстумент.
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Относно правата - виж и това: File and Directory Permissions-Based Controls
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

ivterbg

  • Напреднали
  • *****
  • Публикации: 78
    • Профил
Един бърз тест който направих за да се уверя, че папката-дете не наседява правата на папката родител. Ето го и теста:


За САМБА-та - както казах оправих нещата. Объркването ми беше в мисълта, че като направя папка тя взима правата на тази в която е (ако не е оказано допълнително). Е, оказах го допълнително и всичко е ок вече.
Мерси за насоките.
Активен

jet

  • Напреднали
  • *****
  • Публикации: 3473
  • Distribution: debian
  • Window Manager: kde
    • Профил
а ти от къде реши че се наследява?!
laskov ти обясни да погледнеш umask
« Последна редакция: Jun 01, 2013, 05:01 от jet »
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Бая спор сте захванали, като намесвате Линукс (ядрото), там, където не му е работа. Защото системният примитив е:
Цитат
MKDIR(2)                                                                  Linux Programmer's Manual                                                                 MKDIR(2)

NAME
       mkdir - create a directory

SYNOPSIS
       #include <sys/stat.h>
       #include <sys/types.h>

       int mkdir(const char *pathname, mode_t mode);

DESCRIPTION
       mkdir() attempts to create a directory named pathname.

       The  argument  mode  specifies  the permissions to use.  It is modified by the process's umask in the usual way: the permissions of the created directory are (mode &
       ~umask & 0777).  Other mode bits of the created directory depend on the operating system.  For Linux, see below.

       The newly created directory will be owned by the effective user ID of the process.  If the directory containing the file has the set-group-ID bit set, or if the file
       system  is mounted with BSD group semantics (mount -o bsdgroups or, synonymously mount -o grpid), the new directory will inherit the group ownership from its parent;
       otherwise it will be owned by the effective group ID of the process.

       If the parent directory has the set-group-ID bit set then so will the newly created directory
...
...
ERRORS
       EACCES The parent directory does not allow write permission to the process, or one of the directories in  pathname  did  not  allow  search  permission.   (See  also
              path_resolution(7).)

       ...

       EPERM  The file system containing pathname does not support the creation of directories.

       EROFS  pathname refers to a file on a read-only file system.
...
Източник: man 2 mkdir

Или, иначе казано, всяка програма, която създава нова директория, сама посочва правата, с които я иска (като към тях се прилага и umask). А според това каква е и как е монтирана файловата система, се определя и за коя системна група отива третата цифричка от тези права.

Съответно, за shell програмката mkdir:
Цитат
MKDIR(1)                                                                        User Commands                                                                       MKDIR(1)

NAME
       mkdir - make directories

SYNOPSIS
       mkdir [OPTION]... DIRECTORY...

DESCRIPTION
       Create the DIRECTORY(ies), if they do not already exist.

       Mandatory arguments to long options are mandatory for short options too.

       -m, --mode=MODE
              set file mode (as in chmod), not a=rwx - umask

...
Източник: man 1 mkdir
Както се вижда, по подразбиране (без допълнително указан аргумент за mode) тя прави директорията с права 0777 & ~umask.

Какво се случва в samba, предполагам, също не е неоткриваема тайна.

---------
Ще имам в предвид напред, че правила родител-дете хич ги няма в linux.
В Линукс (ядрото!) има отлични правила за това какво детето наследява от родителя. Но не в контекста на директории, а в контекста на процеси.

От една директория няма какво да се наследява, директорията не е нещо „живо“ (за разлика от процеса), директорията е просто един файл с фиксирана структура.

За да създадеш нов файл (бил той обикновен или директория, или връзка и т.н.) се изисква ти (създаващият процес) да имаш определени права за достъп (w за директорията, в която ще е файла, x за всички директории от пълния път до нея, включително). Ако ги имаш, новосъздаденият файл може да бъде с каквито права ти си пожелаеш.
Активен

shoshon

  • Напреднали
  • *****
  • Публикации: 497
    • Профил
Не мога да разбера какво се случва...

Задача за първокласници...


правиш user public и група public с домашна директория /home/Public
g+wrsx на /home/Public

На своя потребител:
смянаш в ~/.bash_profile umask на 0002
usermod -a -G public <потребител>

Модифизираш SeLinux:
setsebool -p samba_enable_home_dirs 1

Баси сложната задача. Samba не трябва да се модифицира, защото по default си експортва домашните директории:

Т.е може или така:
[homes]
        comment = Home Directories
        browseable = no
        writable = yes


Или така:

[Public]
        comment = Public Directories
        browseable = no
        writable = no
        path = /home/Public
        valid users = public

И в двата случая ще работи. Само обърни внимание на writable...


Баси...


Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
"Унаследява" се gid-а на директорията само ако има вдигнат setgid на по-горната такава. Като изключим случая със самбата или някакви там директории споделени между потребители, не мисля че има някакво особено приложение другаде. Всъщност, учудващо много хора дори нямат идея за това.
Активен

"Knowledge is power" - France is Bacon