Никогда не работала с linux, только начинаю разбираться, и возникла такая проблема:
не могу изменить права доступа к доступа к файлам. Подскажите как это делается?
Права доступа к файлам
Подскажите как это делается?
man 1 chmod
info coreutils 'chmod invocation'
это простые права. Есть ещё ACL, есть специальные ext4 атрибуты. Есть ещё много чего.
Задайте вопрос по-человечески: "я хочу, что-бы Вася <...>, но Петя <...>, а вот Коля <...>".
[quote="kat"]Подскажите как это делается?
man 1 chmod
info coreutils 'chmod invocation'
это простые права. Есть ещё ACL, есть специальные ext4 атрибуты. Есть ещё много чего.
Задайте вопрос по-человечески: "я хочу, что-бы Вася <...>, но Петя <...>, а вот Коля <...>".[/quote]
Добрый день! Как дать полные права пользователю user?
никак. В Linux нет понятия "полные права" (не считая root'а, но это маздай и ламерство).Как дать полные права пользователю user?
Полные права и так есть у юзера для _своих_ файлов. Т.е. для любого своего файла(каталоги тоже файлы) юзер может выполнить
[console]chmod +rwx -v filename[/console]
это даст права на любой доступ всем подряд.
Также юзер может давать права:
[console]chmod u+rwx -v filename # только себе
chmod g+rwx -v filename # только группе файла
chmod o+rwx -v filename # только всем прочим
chmod +r -v filename # разрешить только чтения всем(для каталогов это просмотр списка)
chmod +w -v filename # только изменение(для каталогов это создание/удаление файлов)
chmod +x -v filename # только исполнение (для каталогов без этого права в каталог будет не войти)
chmod go-rwx -v filename # запретить любой доступ всем, кроме хозяина[/console]
Также юзер может менять группу файла(chgrp), но только для своих файлов, и только на те группы, в которые он входит.
Есть и некоторые другие права(см man chmod).
Для ext2/3/4 есть специальные дополнительные права(man chattr/lsattr).
Хорошо, спасибо!
chgrp
Ну и man chown до кучи.
chown не нужен. Не нужно менять владельца, ни к чему хорошему это не приведёт.Ну и man chown до кучи.
PS: chown нужен только для исправления последствий рака, вызванного работай под рутом. Или я что-то не знаю?
drBatty, я к тому, что этой командой тоже можно менять группу.
yars, круто. Никогда бы не додумался, что для смены группы можно юзать команду "сменить хозяина", при наличии команды "сменить группу".
drBatty, ну так-то да, просто одну операцию можно выполнить несколькими способами™ :)
yars, да я чего? Говорю же: "круто, я не знал". Я думал, что chown работает только от имени рута(про то, что оно умеет группу я знал).
drBatty, chown может и руту отдать (root:root), только от пользователя обратно уже не забрать :)
не. Не может:chown может и руту отдать (root:root)
[console]$ chown -v root:root zzzz
chown: изменение владельца «zzzz»: Операция не позволена
не удалось изменить владельца «zzzz» с drb:users на root:root
[/console]
drBatty, странно. Не вижу технических причин препятствовать этому.
странно. Не вижу технических причин препятствовать этому.
Почему же странно? На мой взгляд гораздо «страннее» выглядела бы возможность создать файл (исполняемый), присвоить ему права root и, соответственно, запустить его с этими правами.
yars, атрибуты файла может только хозяин менять. Все. Кроме хозяина. Хозяина файла очевидно может менять только root.
Команда chown меняет именно хозяина.
не. Файл запускается с правами того, кто запускает. Исключение: SUID bit. Вот с эти битом права процесса будут не такие, как у запустившего, а такие как у файла. (файлы /bin/ping, /bin/su, /usr/bin/sudo и т.п.)Почему же странно? На мой взгляд гораздо «страннее» выглядела бы возможность создать файл (исполняемый), присвоить ему права root и, соответственно, запустить его с этими правами.