Титла: Монтиране на windows share Публикувано от: johnpetp в Jun 10, 2007, 20:54 Здравейте,
от скоро се занимавам а Linux и се случи така че се зхванах с Ubuntu 6.10. Та да споделя проблема си. Може би е елементарен но аз вече зациклих. Та програма за работа със склад работеща под DOS. Основната база данни е на Windows машина. Ситуацията в момента. Във fstab съм сложил реда:
Може би по-големия ми проблем е че в терминал "mount" ми казва че само root може да го прави. Четох че трябва да се даде "SUID root" на mount smbmount и smbmnt. Правих нещо но mount продължава да твърди че само root може да го прави. За smbmount казва че библиотеките за smbmount не могат да бъдат с "SUID root". А ако ползвам smbmnt не излиза никакво съобщение но директорията /home/work/Sklad става файл с размер 0 и като се опитам да вляза там ми дава I/O error и браузването на файловата с-ма става страшно бавно. Значи да спомена че писането на КАКВОТО И ДА БИЛО В ТЕРМИНАЛ ОТ СТРАНА НА ПОТРЕБИТЕЛЯ се изключва. Благодаря предварително. Титла: Монтиране на windows share Публикувано от: neter в Jun 10, 2007, 22:26 Първото, което се сещам, е boot скрипт с проверка чрез ping, който ще монтира устройството, вместо fstab. Т.е., нещо подобно
където 111.222.333.444 е IP-то на johnpetp edit: "bat file" под Windows. Тук еквивалента е гореописаното нещо - bash script ![]() Титла: Монтиране на windows share Публикувано от: johnpetp в Jun 11, 2007, 11:16
![]() ![]() ![]() То и аз затова "bat file" съм го сложил в кавички, че с това моето изкривено Windows мислене. ![]() ![]() ![]() Сега по поста. Може би не съм се изразил достатъчно добре това с fstab-a си работи достатъчно добре. Проблема е че ако не е монтирана Windows-ката директория защото отдалечения комп не е бил включен как после да го монтирам без да съм root. Идеята е да се напише някакъв скрипт така че потребителката да не и се налага да пише нищо. Значи ако отдалечения комп е включен да се монтира отдалечената директория и да се пуска програмата. А ако не е пуснат да извежда съобщение и да спира. И всичко това от Gnome средата на потребителя без да се налага да се пише нещо или да се налага да се въвеждат пароли. ![]() P.S. Горния код ми дава следното съобщение ако не съм root
P.P.S. Къде трябва да го сложа този код за да е boot time Титла: Монтиране на windows share Публикувано от: neter в Jun 11, 2007, 12:27 В такъв случай, сещам се за два варианта:
1. Правиш си един подобен скрипт
който скрипт слагаш да се изпълнява от crontab на всеки 2 минути например и когато имаш ping към johnpetp, но папката не е монтирана, скрипта ще си я монтира сам. За целта, в //johnpetp/video си направи един файл с име по избор и замени file в скрипта (след grep). Този файл ще се проверява за наличие и липсата му ще означава, че папката не е монтирана (не е много хитро, ама сега за това се сещам) 2. Добавяш твоя обикновен потребител във файла /etc/sudoers във формат
за да дадеш право на user да изпълнява команди като root и си правиш един скрипт, в който монтираш чрез sudo. Т.е.
Титла: Монтиране на windows share Публикувано от: johnpetp в Jun 11, 2007, 15:08 Благодаря много.
Второто ми хареса повече. Направих го и стана. Още веднъж благодаря много. ![]() ![]() ![]() Титла: Монтиране на windows share Публикувано от: neter в Jun 11, 2007, 16:34 Честито!
![]() А скриптовете, които се изпълняват при boot, седят обикновено в /etc/init.d, но не е задължително. Програмите, които инсталираш, ще си сложат скриптовете там, но ако сам си правиш boot скрипт, той може да бъде навсякъде, важното е да бъде изпълним. Все пак ти препоръчвам да си ги слагаш в /etc/init.d. След като бъде направен, трябва да се направят symlink-ове към него в /etc/rc*.d папките. Всяка rc*.d папка отговаря на определен init. По подразбиране, машината ти се включва в init 2, но слагай symlink-ове във всички папки. Init от 2 до 5 са за включване, другите за изключване. Symlink-овете трябва да се кръщават във формат #**ime, където # е буква S или K съответно за включване или изключване, ** е двуцифрено число, определящо реда на изпълнение на скриптовете (може да има и по повече от 1 скрипт с едно и също число, но не повече от виртуалните конзоли, които по подразбиране са 6). Symlink се прави с примерна команда
Успех и приятни емоции в Unix среда ти пожелавам ![]() Титла: Монтиране на windows share Публикувано от: iskren в Jun 12, 2007, 01:10 @neter
офф// много знаеш бе! ![]() ![]() Относно 2рия начин със лъгането на sudo - то нали точно това прави линуксите толкова стабилни - не всеки има право да прави каквото си ще (в windows default user-а става с admin права и 95% не сменят това). Та добавянето на всеки user сред тези имащи root права не е ли много опасно?? Титла: Монтиране на windows share Публикувано от: neter в Jun 12, 2007, 02:28 @iskren, за sudoers дадох насоката. Вярно е, че даването на такива широки права за обикновен потребител се налага изключително рядко, но sudoers е гъвкав откъм желания, така че с прочитането на това човек може да си организира нещата така, че да изглеждат добре и сигурно. А за стартирането на Линукс... не се наемам да ти предложа четиво, но какво точно искаш да разбереш? Системата монтира дисковете от fstab, зарежда и останалия хардуер и изпълнява скриптовете в rc*.d папката за съответния init. Ако не си създавал ръчно външни boot скриптове, то всички приложения, които се изпълняват при старт са описани в /etc/init.d. Някои от тях може да нямат symlink в съответната rc*.d папка, следователно няма да се заредят (или спрат) при този init. Ако имаш някакви конкретни въпроси, кажи ги, защото ми е малко трудно да ти опиша по-подробно схемата
![]() Титла: Монтиране на windows share Публикувано от: iskren в Jun 12, 2007, 02:37 @neter
off// за сега няма по конкретно - мерси много за информацията - ще я поразгледам (преди ми се наложи да гледам/променям rc* файла при стартиране на bash и то се оказа файл, който вика 2ри, който зарежда цяла директория... а за цялата система кой знае какво е (ти доста добре го описа в първия си пост - ще разгледам ![]() |