![]() |
0 Всего найдено: 33
Infarch
Сообщение
05/10/2010 12:48
Копия темы
Уважаемые линуксоиды, помогите пожалуйста Мне нужно в минимум команд сделать следующее: 1. Для папки и всех вложенных папок (много уровней) выставить права xxx 2. Для всех файлов в этой папке ( и во всех вложенных тоже) выставить права yyy Можно такое сделать в пару команд или придется скрипты писать?
lilumi
Сообщение
05/10/2010 13:09
Копия темы
перейти в необходимый каталог: cd /var/www/sites/site1 Сменить права на каталоги sudo find . -type d -exec chmod 755 \; Сменить права на файлы sudo find . -type f -exec chmod 644 \;
Infarch
Сообщение
05/10/2010 13:22
Копия темы
Попробовал и получил вот это: root@voyager:~# find l1 -type d -exec chmod 755 \; find: missing argument to `-exeс` Я конечно не большой знаток но меня смущают фигурные скобки в конце. Для чего они?
idle
Сообщение
05/10/2010 13:25
Копия темы
>find l1 Должно быть find . или find ./ или find /полны/путь Фигурные скобки переменная содержащая результат работы find.
Infarch
Сообщение
05/10/2010 13:33
Копия темы
root@voyager:~# find ./l1 -type f -exec chmod 644 find: missing argument to `-exec' root@voyager:~# find ./l1/ -type f -exec chmod 644 find: missing argument to `-exec' root@voyager:~# find l1/ -type f -exec chmod 644 find: missing argument to `-exec' Не получается :( У меня в текущей директории есть папка l1 которую надо обработать. Никакие пути не подходят.
idle
Сообщение
05/10/2010 13:35
Копия темы
Папка так и называется |1? Это спецсимвол, его надо брать в кавычки find '|1'
lilumi
Сообщение
05/10/2010 13:35
Копия темы
зайдите в эту папку l1 и из нее выполните команду find . -type d -exec chmod 755 \;
Infarch
Сообщение
05/10/2010 13:37
Копия темы
Так мне надо и на эту папку тоже права поменять той самой командой. Так что зайти не выход.
Infarch
Сообщение
05/10/2010 13:39
Копия темы
Для интереса попробовал зайти и в папке выполнить команду. Результат тот же самый. root@voyager:~/l1# find . -type f -exec chmod 644 find: missing argument to `-exec'
lilumi
Сообщение
05/10/2010 13:44
Копия темы
блин, да что вы прицепились к этом названию ~/l1 Зайдите в папку где нужно поменять права и введите в точности ту команду, что я вам предложил! find . -type d -exec chmod 755 \; Никаких l1 там не пишите!!!
Infarch
Сообщение
05/10/2010 13:48
Копия темы
Аналогично: root@voyager:~/l1# find . -type f -exec chmod 644 \; find: missing argument to `-exec'
Infarch
Сообщение
05/10/2010 13:50
Копия темы
Не цепляюсь я к ней, просто права надо сменить на определенной папке и ее содержимом используя минимум операций. А если входить в папку, то придется потом на нее отдельно менять права. Да и переход между папками тоже придется делать. заметть что эта папка находится среди прочих которые не должны быть затронуты.
lilumi
Сообщение
05/10/2010 13:51
Копия темы
а ну напишите команду: find . -type f В результате ее работы должно вывести все файлы в этой директории
lilumi
Сообщение
05/10/2010 13:55
Копия темы
я в шоке, как человек, в команде, которую нужно только скопипастить допускает столько ошибок :))))
Infarch
Сообщение
05/10/2010 14:02
Копия темы
Вот это да, а пробел то я и не заметил. Простите что морочил голову. Скопипастить к сожалению не мог, так как машины разные, вот и вышла ошибка. Теперь все работает, даже сакральная L1 :) Спасибо!
lilumi
Сообщение
05/10/2010 14:05
Копия темы
>используя минимум операций А это что — задачка на олимпиаде?? Ну поменяете потом права на папку отдельной командой: chmod 755 ~/l1
Infarch
Сообщение
05/10/2010 14:11
Копия темы
Тут есть свои нюансы. Нужно выполнить несколько команд на удаленной машине по SSH в автоматическом режиме. Так сложилось что наиболее надежный вариант вышел использовать WinSCP в пакетном режиме. Но он иногда теряет связь, тоесть есть риск что некоторые команды выполнены не будут. Поэтому я стараюсь свести к минимуму колличество команд, чтобы все было надежно. Конечно можно было бы пересмотреть всю эту систему, но к сожалению клиент не хочет менять устоявшиеся методы работы.
lilumi
Сообщение
05/10/2010 14:19
Копия темы
если честно, то я не понял зачем здесь пакетный режим? Что, эта команда будет выполняться раз в какой-то период? Я бы просто через putty (если вы под виндой) зашел по ssh на тот сервер и в консоли выполнил бы все эти команды
Infarch
Сообщение
05/10/2010 14:22
Копия темы
Так точно. Именно раз в некий период, на основе сгенерированного другими скриптами набора команд. Из консоли я бы не парился :)
idle
Сообщение
05/10/2010 14:24
Копия темы
А зачем через winscp то? Для периодического выполнения команд есть crontab.
Infarch
Сообщение
05/10/2010 14:28
Копия темы
Период увы не постоянный. Кроном вообще шикарно было бы. Даже я виндузятник про него знаю :) Тем более как я писал перед этим, команды несколько отличаются от случая к случаю.
maksim000
Сообщение
05/10/2010 14:29
Копия темы
А
Infarch
Сообщение
05/10/2010 14:35
Копия темы
Интересная вещь, почитаю про нее. Однако выполнять эту команду все равно придется в пакетном режиме WinSCP. Не подскажете, нельзя ли в линуксе выполнить этот nohup относительно не одной команды, а группы?
maksim000
Сообщение
05/10/2010 14:39
Копия темы
Эээ, да я сам нубоват в этом деле... С другой стороны, а что мешает вместе с ним выполнить скрипт? nohup ./script.sh
Infarch
Сообщение
05/10/2010 14:44
Копия темы
Тогда получается что script.sh должен присутствовать на удаленной машине. То есть надо его залить туда. В общем тут по моему выходит "шило на мыло". Хотя утилитка сама по себе занятная, может и приспособлю ее куда. Спасибо.
russkiy-lance
Сообщение
05/10/2010 15:53
Копия темы
0
это зависит от того какие права надо добавить/ убрать в общем случае конечно лучше через find, но мне всегда хватало 2 прохода чмодом стандартный пример всем файлам надо 644 а папкам 755 chmod -R 644 ./ chmod -R ugo+X ./ Чуть не забыл! Делать такой фокус можно только под рутовыми правами иначе после первой команды папки станут недоступны |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |