Не могу сменить владельца папки linux

Изменить владельца и права доступа на файлы и папки в Linux/BSD

Изменить владельца и права доступа на файлы и папки в Linux и *BSD системах

Представленная ниже информация будет полезная начинающим Linux и *BSD системным администраторам. По большому счету, в любой операционной системе, будь то Linux, Windows или FreeBSD, корректная работа приложений, сервисов и безопасность системы в целом напрямую зависит от прав доступа на файлы и папки. Используя ниже приведённые средства, можно решить практически 90% проблем, возникающих при настройке прав доступа.

Сменить владельца для всех папок и файлов. Для этих целей в Unix используется команда chown. Она обладает рядом параметров:

  • Опции. Например, для того, чтобы изменения коснулись не только данной директории, но и всех поддиректорий, нужно применить команду рекурсивно, т.е. с параметром “-R”.
  • Владелец или группа владельцев (“user:group” или “user”).
  • Пути до папок / файлов, к которым нужно применить команду. Например, “/mnt/pool1/dts1/backup”.

Таким образом, команда для смены смены владельца (и группы владельцев) для директорий и всех вложенных папок и фалов будет выглядеть так:

sudo chown -R user:group /home/user/dir/

Изменить права доступа на файл или папку в Linux и *BDS системах можно командой chmod. Стоит отметить, что в Unix имеются свои особенности в работе данной команды и принципа разделения прав. Так, кроме владельца файла или папки, можно настроить, какие операции может выполнять этот самый владелец и группа, а также все остальные пользователи. В Unix идёт разделение возможностей следующим способом – владелец, группа владельцев и другие. Также присутствует следующее разделение прав:

  • Право на запуск файла (для папок – проход по директории).
  • Право на изменение файла (создание и удаление файлов и папок в директории)
  • Право на чтение файла (для папок – это право на просмотр содержимого директории)

Для удобства использования и запоминания, используется следующая кодировка:

Складывая данные цифровые обозначения мы получим набор прав, предоставляемый владельцу/группе/другим. Разберем данную информацию на примере:

Изменять файл имеет право только владелец, группа владельцев может читать, остальные – ничего не могут, соответственно команда будет такой:

chmod 640 /media/fileshare/file.txt

Создавать файлы в папке могут все, но видит их только владелец:

chmod 622 /media/fileshare/messages/

Чтобы все могли запускать какую-либо программу, но никто, кроме владельца, не мог её редактировать:

chmod 711 /media/share/exec

Для изменения прав на все вложенные файлы и папки (т.е. рекурсивно) используется опять же ключ “-R”.

Выполняя данные операции, стоит понимать – изменять права на файлы и директории могут только администраторы и владелец этих папок и файлов.

Изменение прав только на файлы или только на папки – команда find. При этом файлы обозначаются как file (f), а директории, соответственно – d. Например:

Нашли ошибку в тексте? Выделите фрагмент текста и нажмите Ctrl+Enter

Источник

Как изменить Права Доступа в Linux

Введение

В этом руководстве вы научитесь изменять права доступа в Linux / Unix и устанавливать нового владельца файла/папки через командную строку. Существует 2 базовые команды, которые могут быть использованы для данных целей: chmod и chown.

Прокачайте ваш Linux сервер, воспользовавшись скидками на VPS-хостинг в Hostinger!

Читайте также:  Конвертер файлов для линукс

Что вам понадобится

Перед тем, как вы начнете это руководство, вам понадобится следующее:

  • Доступ к командной строке

Шаг 1 – Как изменить права доступа в Linux через командную строку

chmod – эта команда используется для изменения прав доступа к файлу или папке. Каждый файл имеет типы пользователей, которые могут с ним взаимодействовать:

Тип Объяснение
Владелец (owner) Пользователь, создавший и владеющий данным файлом или папкой.
Группа (group) Все пользователи, члены одной группы.
Другие (other) Все другие пользователи в системе, не являющиеся ни владельцами, ни членами группы.

Команда ls -l, может быть использована для отображения прав доступа и владельца. К примеру, команда ls -l file1.txt отобразит:

-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt

  • “-rwxr–rw-“ – эта часть строки показывает права доступа. Здесь 4 главные буквы на которые вам надо обратить внимание: r,w,x,d. d означает, что тип файла — это каталог. В нашем примере, такой буквы нет (она стояла бы первой в строке), здесь вместо нее стоит символ “-“ (который в основном означает “нет”). Буква x означает разрешение на выполнение файла или папки (это разрешение необходимо для входа в папку). Буква w означает разрешение на запись файла или папки (редактирование, удаление и т.д.) И наконец последняя буква r, которая означает чтение. Если у вас есть права на чтение файла, вы можете прочесть содержимое файла, но не сможете предпринять другие действия (к примеру, вы можете прочитать код скрипта, но не сможете выполнить его).
  • 1 – число хард связи. Проще говоря, хард связь это дополнительное имя для существующего файла.
  • user user – это значение показывает владельца файла и его группу.
  • 0 – это значение показывает размер файла.
  • Jan 19 12:59 – отображает дату последнего изменения.
  • file1.txt – предоставляет имя файла или папки.

Хорошо, теперь давайте вернемся к команде chmod. Это команда позволяет нам изменить права доступа к файлу или папке. Мы научим вас, как это сделать просто складывая номера. Каждое из прав доступа имеет свой собственный номер:

  • r (чтение) – 4
  • w (запись) – 2
  • x (выполнение) – 1

К примеру, если мы хотим изменить права доступа к файлу file1.txt на эти:

-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt

Мы должны написать следующую команду:

Каждый номер в этой команде представляет собой права для одного из типов пользователей (владелец, группа и другие). Первый номер 7. Теперь, используя объяснение числовых значений выше, единственный вариант для получения числа 7 — сложение чисел 4, 2 и 1, получаем 4+2+1=7. Проще говоря, это означает ВСЕ права доступа (чтение, запись, выполнение — rwx). Первый номер устанавливает права доступа для владельца файла. Второй номер 4, который означает права доступа -r (чтение), устанавливает права доступа для группы владельца. Третий номер 6, используя тот же способ, что и с первым номером, 4+2=6, дает группе другие, права на чтение (4) и запись (2) файла. Третья часть в команде (file1.txt) – это имя файла для которого мы изменяем права доступа.

Еще один пример:

эта команда даст все права для каждого типа пользователей (владелец, группа и другие).

Вот список самых наиболее распространённых прав доступа для файлов:

Значение Цифровое значение Объяснение
-rw——- 600 Владелец может читать и записывать файл.
-rw-r–r– 644 Владелец может читать и записывать файл, группа и другие могут только читать.
-rw-rw-rw- 666 Владелец, группа и другие могут читать и записывать.
-rwx—— 700 Владелец может читать, записывать и выполнять, группа и другие не имеют никаких прав доступа.
-rwx–x–x 711 Владелец может читать, записывать и выполнять, группа и другие могут только выполнять.
-rwxr-xr-x 755 Владелец может читать, записывать и выполнять, группа и другие могут читать и выполнять.
-rwxrwxrwx 777 Все типы пользователей могут читать, записывать и выполнять.

Наиболее распространенные права доступа для каталогов:

Значение Цифровое значение Объяснение
drwx—— 700 Только владелец может читать и записывать в этом каталоге.
drwxr-xr-x 755 Владелец, группа и другие могут читать каталог, но только владелец может изменять содержимое.

Существуют и другие способы изменения прав доступа в Linux, используя команду chmod. Но нашей персональной рекомендацией станет, изучение одной из этих команд и её использование (в этом случае способ с номерами). Если вы хотите узнать больше о других путях изменения прав доступа, вы можете прочитать об этом здесь.

Шаг 2 – Изменение владельца файла или папки через командную строку

chown – команда используется для смены владельца файла или папки. Самый стандартный синтаксис для этой команды:

К примеру, если у нас есть файл “demo.txt” и мы хотим изменить владельца на “jerry” и группу владельца на “clients”, нам необходима эта команда:

Как вы видите, мы отделили владельца и группу владельца символом “:” (двоеточие). Если мы хотим поменять только владельца файла, используем этот код:

Мы просто убрали группу владельца и вписали нового владельца файла, в таком случае группа владельца останется без изменений.

Другой схожий пример, если мы хотим поменять только группу владельца:

В этом случае, группа владельца изменится на clients (владелец останется прежним).

Шаг 3 – Использование дополнительных опций с командами chmod и chown

Одна из основных опций работающая с обеими командами это -R, которая означает рекурсивный. Эта опция позволяет вам менять права доступа и владельца файла, заданной папки и ВСЕХ других файлов внутри нее.

ВАЖНО! Будьте очень осторожны с этой опцией, если вы используете ее неправильно, вы можете изменить права доступа и владельца ВСЕХ файлов в вашей системе, что приведет к ошибкам в работе и трате огромного количества времени на откат изменений.

  • “-f” – тихая или силовая опция. При использовании данной опции скроет большинство сообщений об ошибках.
  • “-v” – делает диагностику каждого файла затронутого командой.
  • “-c” – схожа с опцией -v, но предоставляет информацию только в случае реальных изменений.

Заключение

В этом руководстве вы научились, как изменить права доступа Linux и узнали команды для смены владельца папки или файла. Знание данных команд поможет вам в более удобном управлении вашим сервером. Если вы хотите продолжить изучение по данной теме, проверьте эти руководства:

Источник

Не могу поменять владельца папки

Нужно изменить владельца папки /media/data/1/

в терминале вводил chown -R пользователь:users /media/data/1/

терминал начал переделывать файлы, но потом написал ошибку, мол не хватает прав

я додумался добавить sudo в начало строки, ввел пароль, а через пару секунд в терминале появилась просто новая строка, как будто я ничего и не делал

так же пробовал chown -R пользователь /media/data/1/

все равно не получается

подскажите, пожалуйста, что я делаю не так?

а через пару секунд в терминале появилась просто новая строка, как будто я ничего и не делал

А должна была появиться Джоконда?

А ежели ты хочешь поменять владельца корневой директории примонтированной флешки, то хрена с 2 у тебя что получится: man mount!

ls -ld /media/data/1/

хард диск подключен в nfts

подскажите, пожалуйста, что я делаю не так?

можно добавить ключ -v после -R, и тогда будет докладывать о всех действиях.

Я, кстати, в ЛОРовики помещал правило для udev, чтобы по-человечески монтировать сменные носители.

А в fstab все просто:

См. путь. Он пытается сменить владельца у примонтированного накопителя с некошерной ФС!

Пы.Сы.: опция user уже нафиг не нужна (разве только если сам перекомпилируешь ntfs-3g), т.к. какие-то сволочи сломали ее поддержку в официальных пакетах!

// долбаный лоркод! нет тега [tt], а [pre] почти идентичен [code]

Тогда man mount, section ntfs.

Оно же до сих пор не работает на запись!

я абсолютно ничего не понял

если вам не составит труда, напишите, пожалуйста, поочередность действий, которые я должен выполнить

Ну к ntfs-3g опции подойдут.

хорошо, спасибо большое, буду пробовать

и еще вопрос — я ничего с хард диском не накручу там? я все так же смогу пользоваться им и из под винды?

Тебе надо перемонтировать хард с другими опциями.

Если не форматировать и ничего не удалять, диск не сломается.

мне нужно в файл /etc/udev/rules.d/mnt.rules добавить один код, а в /etc/sudoers другой, и всего то?

Как линух должен подкатывать к мастдайным правам доступа ФС не мазтдаево дело.

Короче, делаем так:

Это для автомонтирования сменных носителей. Если носитель не сменный, то хватит строчки в /etc/fstab.

я совсем дурак, получается

точка монтирования — это media/data/ ? а устройство — это ethx?

и как мне x узнать?

да, он не сменный

Набрать mount и посмотреть, какое устройство примонтировалось к /media/data/1/

// а вообще, я не понимаю, как оно туда само могло примонтироваться. Разве только, если это не линукс, а бубунта…

Этот тег мог бы значительно сократить количество комментариев.

я знать-то не знал, что это так важно

а вообще, я не понимаю, как оно туда само могло примонтироваться.

Шо, на хвалённых мандривах такого не бывает?

Добавить строчку в fstab. Как в бубунте отключить автомонтирование, не знаю. Но подозреваю, что если в fstab будет запись, то неправильного автомонтирования не будет.

Не было такого. Разве что щелкнуть случайно в диалоге открытия/сохранения файла GTK/QT. Но с этой дрянью я так и не понял, как бороться (в арче тоже это говно не отключается просто так).

Спросить какая сволочь^W^W что так некошерно монтирует диски.

какую именно строчку?

ntfs-3g /dev/sda2 /media/data -o uid=user,fmask=111

Да, давай свой mount

Проблема в том, что все наши советы могут не сработать, т.к. у ТСа бубунта!

В бубунте udev есть, fstab и mount есть. Только в бубунте может что-то уже настроено.

В бубунте есть куча всякого ненужного поцтеринговского хлама + «улучшения», из-за которых она вообще недееспособной местами становится.

В бубунте есть куча всякого ненужного поцтеринговского хлама

o_O хуже, в ней как раз нету ни systemd, ни systemd-logind, ни systemd-journald, ни systemd-hostnamed, ни многих других полезных вещей, зато есть убогие костыли типа upstart, consolekit.

BTW, в убунте должно из коробки всё правильно монтироваться с правильными правами. Если не работает, то надо как-то обновить udisks до udisks2 (возможно, в 12.10 уже есть, я не знаю), там для каждого пользователя свой каталог media где-то в глубине /run, и монтируется с правами 700 и правильным owner. Или же надо разобраться, почему udisks неправильно монтирует, но для этого нужна хоть какая-то информация, а ТС не сказал ещё ничего (даже выхлопа mount не было, не говоря о попытках udisks —mount /dev/нужный_файл).

Источник

Читайте также:  Lg 24gm79g драйвер windows 10
Оцените статью