Linux узнать владелец файла

linux Владельцы (пользователи и группы) папок и файлов — как их узнать, менять и понять в терминале (консоли, рекурсивная смена)

vedro-compota's picture

В Linux у ресурса (файла или папки) есть как бы два «владельца»:

Т.е. файлом может владеть (и всегда владеет какой-то) пользователь user1 и какая-то группа group22, при этом нужно понимать пользователь user1 в общем случае может и не состоять в группе group22.

Как узнать владельца файла или папки

Используйте команду ls c флагами -la, перейдете в папку с содержимым, для которого вы хотите узнать владельцев:

ответом может быть что-то вроде:

total 8 drwxrwxr-x 2 qwer qwer 4096 июн 2 19:23 . drwxrwxr-x 6 qwer qwer 4096 июн 2 19:15 .. -rw-rw-r-- 1 qwer games 0 июн 2 19:16 myfile1 -rw-rw-r-- 1 qwer qwer 0 июн 2 19:23 myfile2
  • myfile1 имеет владельцев: юзера qwer и группу games
  • myfile2 имеет владельцев: юзера qwer и группу с тами же именем

Также можно указать путь к файлу, чтобы узнать его владельца:

-rw-rw-r-- 1 qwer games 0 июн 2 19:16 myfile1

Как сменить владельца

Сменить владельца можно с помощью команды chown, причем её формат такой:

chown [парараметры] имяпользователя:имягруппы путькресурсу

Например смена владельца-пользователя файла на user2:

Смена владеющей группы с текущей на games:

Можно и одной командой сменить и владеющего пользователя и владеющую группу на указанные:

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

ПРИМЕЧАНИЕ: есть ограничения логичные на смену владельцев, а именно:

  • 1) чтобы сменить владельца-пользователя на другого надо выполнять chown под суперпользователем (для этого служит команда sudo).
  • 2) чтобы сменить группу-владельца, надо, чтобы пользователь состоял и в текущей группе и в той, на которую надо сменить (т.е. в обеих), в противном случае опять же потребуются права суперпользователя.
Читайте также:  Настройка ssh сервера astra linux

Рекурсивная смена владельцев для всего содержимого папки

Делаем пользователя training владельцем для всего содержимого папки /usr/lib/hadoop-0.20-mapreduce/input такой комадой:

sudo chown -R training /usr/lib/hadoop-0.20-mapreduce/input
sudo chown -R training /usr/lib/hadoop

— как показывает практика флаг -R можно писать и имени пользователя и/или группы)

Ключевые слова:

Источник

Оцените статью
Adblock
detector