незнаю сюда я обращаюсь или нет, но очень нужна помощь
помогите пожалуйста с заданием:
В домашнем каталоге создайте четыре файла, в которые помещайте имена файлов с правами доступа следующим образом: в первый, если права rwx установлены для владельца; во второй, если для группы; в третий, если для остальных; в четвертый, если такой группы прав не установлено ни для кого.
Тема переименована. yars.
Создать четыре файла, в которые поместить имена файлов
создайте четыре файла, в которые помещайте имена файлов
Тяжкий бред.
Согласен, но очень нужно
вроде разобрался это делается с помощью find -perm
darkgrey19, http://linuxforum.ru/viewtopic.php?id=18294
darkgrey19, http://linuxforum.ru/viewtopic.php?id=18294
Ну примерно так...
1. http://linuxforum.ru/viewtopic.php?id=18294.
2.
find . -type f -perm 0700 -exec "basename {} >> urwx.txt" \
-o -perm 0070 -exec "basename {} >> grwx.txt" \
-o -perm 0007 -exec "basename {} >> orwx.txt" \
-exec "basename {} >> other.txt" \;Предлагаю это довести до ума самостоятельно. Команда должна быть выполнена в каталоге с подопытными файлами. В помощь man bash, man find и "Искусство написания сценариев Bash/Bash scripting guide".
Команда должна быть выполнена в каталоге с подопытными файлами.
Как это помещает имена файлов в созданные файлы, согласно заданию? Я Вас не понял или задание?
Если я правильно понял задачу, есть каталог с файлами, у которых выставлены максимальные права только или для владельца, или для группы, или для остальных, нужно поместить их имена согласно выставленным правам в новые файлы, а не в те же.
yars, а! Теперь догнал, спасибо!
создайте четыре файла, в которые помещайте имена файлов
Тяжкий бред.на самом деле -- устами младенца глаголит истинна. Действительно: каталоги это файлы в которых имена других файлов.
В домашнем каталоге создайте четыре файла, в которые помещайте имена файлов с правами доступа следующим образом: в первый, если права rwx установлены для владельца; во второй, если для группы; в третий, если для остальных; в четвертый, если такой группы прав не установлено ни для кого.
ну сами права можно получить так:
[console]stat -c%a filename[/console]
далее с ними можно работать как с обычными десятичными числами (хотя они на самом деле восьмеричные), например выделить права хозяина можно так:
[console]$ A=$(stat -c%a .)
$ ((A=A/100))
$ echo $A
7
[/console]
ну "7", это и есть rwx.