Мне интересно узнать разницу между ними, чтобы знать, когда какой из них использовать? В случае, если мне нужно изменить права доступа к каталогу или файлу на моем локальном хосте .
Примечание: я прочитал несколько тем на испанском языке, но я вижу, что они объясняют банально, я нахожу лучшую информацию на английском языке, но я не полностью их понимаю.
В конце концов я решаю это с помощью чего-то, что я считаю «накадой», но это работает:
$ sudo chmod 777 -R /ruta/
Хотя по прошествии времени мне это решение уже надоело и я предпочитаю делать это правильно.
chmod
это изменить разрешения (от англ. change mod e )chown
Это сменить владельца (от англ. change own er )Для изменения разрешений используйте первый.
Разрешения представлены флагами, которые указывают, установлено ли разрешение или нет:
r
читать _ _w
напиши _ _x
исполнение _ _Если разрешение не установлено, отображается прочерк
-
И они сгруппированы в три уровня:
Кроме того, первая буква обозначает, является ли это каталогом или нет.
Таким образом, файл со всеми разрешениями будет выглядеть так:
А тот, у которого не было никаких разрешений, выглядел бы так:
Команда chmod может получить в качестве аргумента число, представляющее каждую группу разрешений, например
Дает все права на файл
Каждую группу разрешений можно рассматривать как двоичное число.
Например, никакое разрешение не будет равно 0.
запустить только будет 1
только пиши 2
написать и выполнить, 3
только чтение, 4
читать и выполнять, 5
чтение и письмо, 6
Все разрешения, 7
Другой пример: все разрешения для владельца (
7=rwx
) на чтение и выполнение для группы (5=r-x
) и только на чтение для остальных (4=r--
) будут указаны так:Также можно установить и удалить определенные разрешения, используя формат:
Где кто
u
за владельца (пользователя) илиg
за группу иo
за остальных (остальные)Итак, если вы хотите удалить разрешение на запись для других, вы можете написать:
Я прочитал это как: chmod другой менее запись файла
Или добавить разрешение на выполнение владельцу
пользователь chmod плюс исполняемый файл
Если «кто» не указан, добавление или удаление применяется к трем группам, так что каждый может прочитать это.
Изменить режим (
chmod
), изменяет права доступа (чтение, запись и выполнение. иr
соответственно ):w
x
В приведенном выше примере я добавил разрешения на выполнение (
x
) всем (пользователям, группам и другим), используяa
Изменить владельца (
chown
) изменить владельцев (пользователей, группы):В приведенном выше примере я изменил
user:group
файл to сcesar:cesar
наjuan:juan
Команда chown используется для изменения информации о владельце файла и группе пользователей, команда chmod используется для изменения прав доступа к файлу, таких как запись, чтение и выполнение.
Например:
Назначьте все разрешения для файла
archivo.txt
Назначьте разрешения на чтение и запись, а не разрешения на выполнение, всем файлам и каталогам каталога, в котором мы выполняем команду.
Это дает разрешения для всех файлов и каталогов в каталоге, где вызывается команда, и во всех каталогах, которые зависят от него. Назначенные разрешения читаются для всех пользователей, записываются только для владельца файла и никому не выполняются.
chown
- изменить пользователя и группу владельцев файловchmod
- изменить права доступа к файламЕсли вы хотите изменить разрешения для определенной группы или определенного пользователя, вы можете использовать
chmod
соответствующие разрешения.Теперь в случае, если права установлены правильно, например, но вы решили, что каталог или файл больше не принадлежит определенному пользователю или группе, вы делаете это, изменяя его через
chown
Легкий.
chmod позволяет вам изменять права на запись, чтение и выполнение для файла или каталога. В то время как chown позволяет вам изменить владельца файла или каталога.
Примеры для chmod:
Дайте все права на файл.
Разрешить выполнение
Удалить права на чтение и запись для группы
Примеры для chown:
изменить владельца
Сменить владельца пользователя в группе разработчиков