Fedora linux forum

Форум русской поддержки ОС Fedora linux

 

#1 2010-12-03 17:43:37

ekkl
Member
Зарегистрирован: 2009-09-07
Сообщений: 77

Поменять права на все файлы в папке

Есть папка, содержащая подпапки и файлы, скопированная с NTFS раздела. Права, естественно 0777.
Как быстро "подправить" права? на файлы 0644, на папки 0744?

Неактивен

 

#2 2010-12-03 23:28:42

Mak_s
Member
Откуда: Чернигов
Зарегистрирован: 2009-12-06
Сообщений: 358

Re: Поменять права на все файлы в папке

Можно написать скрипт. Например так:

1. Создаем файл fixperms.py следующего содержания:

Код:

#!/usr/bin/python
import sys, os
try:
top = sys.argv[1]
except IndexError:
sys.exit("Specify top folder to fix permissions")
os.chmod(top, 0755)
for (path, dirs, files) in os.walk(top):
for dirname in dirs:
os.chmod(os.path.join(path, dirname), 0755)
for filename in files:
os.chmod(os.path.join(path, filename), 0644)

2. Делаем его исполняемым:

Код:

chmod +x fixperms.py

3. Запускаем с именем начальной папки в качестве параметра:

Код:

./fixperms.py /path/to/folder

Возможно есть более простой способ, но я его не знаю smile

Отредактированно Mak_s (2010-12-03 23:33:02)


Круче самовара только титан

Неактивен

 

#3 2010-12-04 01:35:41

ekkl
Member
Зарегистрирован: 2009-09-07
Сообщений: 77

Re: Поменять права на все файлы в папке

Ясно. Я сначала делал с рекурсией

Код:

chmod -R 0644 *

Но меняется права доступа на подпапки, и конечно, "добраться" до файлов в этих подпапках функция уже не может....

Неактивен