42

Я использую Linux. В чем смысл chmod 666?

5 ответов5

109

Атрибуты команды chmod изменяют из файла / папки:

  • chmod 666 file/folder означает, что все пользователи могут читать и писать, но не могут выполнить файл / папку;
  • chmod 777 file/folder позволяет выполнять все действия для всех пользователей;
  • chmod 744 file/folder позволяет только пользователю (владельцу) выполнять все действия; Группе и другим пользователям разрешено только читать.

    permission to:  user(u)   group(g)   other(o)     
                    /¯¯¯\      /¯¯¯\      /¯¯¯\
    octal:            6          6          6
    binary:         1 1 0      1 1 0      1 1 0
    what to permit: r w x      r w x      r w x
    
    binary         - 1: enabled, 0: disabled
    
    what to permit - r: read, w: write, x: execute
    
    permission to  - user: the owner that create the file/folder
                     group: the users from group that owner is member
                     other: all other users
    

Кроме того, вы можете выполнить команду с более интуитивным синтаксисом, не думая о двоичном или восьмеричном (но знание числового синтаксиса очень важно): chmod u=rw, g=rw, o=rw file/folder

Помните, что изменение полномочий с помощью команды chmod требует как минимум 3 аргумента, поэтому chmod 666 ничего не делает без явного изменения файла / папки.

Также не забудьте критиковать, если это не приводит к небезопасным проблемам или просто, если это бесполезное изменение разрешения, потому что chmod 666 разрешит запись файла / папки всем, а выполнение - нет.

7

Проще говоря: он делает файл доступным для чтения и записи владельцем файла, группой владельца файла и всеми остальными, использующими машину (все). Применительно к каталогу он позволяет всем читать (получать списки содержимого файлов) каталога и записывать (создавать, редактировать файлы в каталоге), но не выполнять файлы из каталога.

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

7

Как упоминалось в других ответах, chmod означает изменение режима. Это влияет на разрешения на чтение, запись и выполнение для владельца, группы и других категорий пользователей. Числа, следующие за командой (в данном случае 666), указывают, как эти разрешения изменяются для файла, над которым запускается команда (для 666 это означает, что владелец, группа и другие имеют разрешения на чтение и запись, но не имеют разрешений на выполнение),

Изменяя числа на разные значения, вы эффективно меняете права доступа к файлу. Ссылка, на которую я ссылался выше, содержит небольшой инструмент для определения того, какие значения вам нужно ввести, чтобы получить схему разрешений, которую вы используете. Здесь также рассматриваются параметры переключателя, доступные для команды, и некоторые примеры, которые помогут вам лучше понять, как она работает.

5

Команда chmod (сокращенно от режима изменения) - это команда Unix, которая позволяет оператору сообщить системе, какой доступ (или небольшой) он должен предоставить к файлу. Команда chmod 666 означает, что все пользователи будут иметь права на чтение и запись.

2

Если ваши вопросы касаются больше части 666, чем части chmod, я бы отослал вас к Проекту документации Linux, где представлено достойное объяснение того, как работают разрешения для файлов в Linux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .