- Как изменить режим umask навсегда?
- 3 ответа
- Команда Umask в Linux
- Umask Command in Linux
- В операционных системах Linux и Unix все новые файлы создаются с набором разрешений по умолчанию. umask
- Разрешения Linux
- Понимание масок
- Установка значения маски
- Вывод
- Что такое umask и как установить права на файл или директорию
- Что такое umask?
- Как установить umask по умолчанию?
- Что такое umask равное 0022 и 0002?
- Итоги
- Калькулятор umask
- Umask команда в Linux 2021
- Umask Linux Pro
- Разрешения Linux
- Понимание масок
- Установка значения маски
- Вывод
- Команда Chmod в Linux (права доступа к файлам)
- Команда Chgrp в Linux (сменить группу)
- Команда cp в linux (копирование файлов)
Как изменить режим umask навсегда?
Я прочитал пару статей, подобных этой старой, как изменить режим umask, но все еще не могу понять это на 100%. У меня Ubuntu 14.04 работает с ядром Xenial со стандартным umask 0002, и моя цель — установить режим 0027 umask навсегда все по всей системе. Как мне это сделать? Каков наилучший способ сделать это?
3 ответа
Спасибо @waltinator за то, что указал мне правильное направление.
Отсюда я понял, как легко установить режим umask на 0027, просто запустив его в терминале:
или с nano какой вы предпочитаете
Отредактируйте последнюю строку, ссылаясь на UMASK, чтобы установить значение umask на 0007, просто выйдите из системы и войдите снова.
Обратите внимание на строки выше: если USERGROUPS_ENAB установлен на «да», это изменит это значение по умолчанию UMASK. используется как групповые разрешения, например, 022 станет 002
Итак, чтобы umask 0027 вступил в силу, скатитесь до строки:
и измените его на:
Готово. После того, как вы вышли из системы и вошли обратно, запустите в терминале umask и это даст вам 0027 Режим.
Теперь создайте новый файл с touch в терминале:
Теперь проверьте разрешения:
Это должно дать вам 640
Просто man -k umask должен был привести вас к чтению man pam_umask Что говорит, частично:
Это также говорит,
Я использовал ответ JoKeR, приведенный выше, чтобы получить системный umask 027, но я осознавал, что когда я использовал USERGROUPS_ENAB no это потребовало большего группового управления. Поэтому я чувствую, что нашел лучший ответ, в основном:
Источник
Команда Umask в Linux
Umask Command in Linux
В операционных системах Linux и Unix все новые файлы создаются с набором разрешений по умолчанию. umask
Утилита позволяет просматривать и устанавливать маску режима создания файла, который определяет разрешения для вновь создаваемых файлов или каталогов.
Он используется командами mkdir, touch, tee и другими, которые создают новые файлы и каталоги.
Разрешения Linux
Прежде чем идти дальше, давайте кратко объясним модель разрешений Linux.
В Linux каждый файл связан с владельцем и группой и ему назначены права доступа для трех разных классов пользователей:
- владелец файла.
- члены группы.
- все остальные.
Существует три типа разрешений, которые применяются к каждому классу:
- разрешение на чтение.
- разрешение на запись.
- разрешение на выполнение.
Эта концепция позволяет вам указать, каким пользователям разрешено читать файл, записывать в файл или выполнять файл.
Чтобы просмотреть права доступа к файлу, используйте ls команду:
Первый символ представляет тип файла, который может быть обычным file ( — ), directory ( d ), символической ссылкой ( l ) или любым другим специальным типом файла.
Следующие девять символов представляют разрешения, три набора по три символа в каждом. Первый набор показывает права владельца, второй — права группы, а последний набор — права доступа для всех остальных.
Символ r с восьмеричным значением 4 стоит для чтения, w с восьмеричным значением 2 для записи, x с восьмеричным значением 1 для разрешения на выполнение и ( — ) с восьмеричным значением 0 для без разрешений.
Есть также три типа разрешений специального файла: setuid , setgid и Sticky Bit .
В приведенном выше примере ( rwxr-xr-x ) означает, что владелец имеет разрешения на чтение, запись и выполнение ( rwx ), группа и другие пользователи имеют разрешения на чтение и выполнение.
Если мы представим права доступа к файлу с помощью числовой записи, мы подойдем к числу 755 :
- Владелец: rwx = 4+2+1 = 7
- Группа: r-x = 4+0+1 = 5
- Другое: r-x = 4+0+1 = 5
Когда они представлены в цифровом формате, разрешения могут иметь три или четыре восьмеричных цифры (0-7). Первая цифра представляет специальные разрешения, а если она опущена, это означает, что никаких специальных разрешений для файла не установлено. В нашем случае так 755 же, как 0755 . Первая цифра может быть комбинацией 4 для setuid , 2 для setgid и 1 для Sticky Bit .
Права доступа к файлам можно изменить с помощью chmod команды, а владельца — с помощью chown команды.
Понимание масок
По умолчанию в системах Linux разрешения 666 на создание по умолчанию предназначены для файлов, которые дают права на чтение и запись для пользователя, группы и других, а также 777 для каталогов, что означает разрешение на чтение, запись и выполнение для пользователя, группы и других. Linux не позволяет создавать файл с разрешениями на выполнение.
Разрешения на создание по умолчанию можно изменить с помощью umask утилиты.
umask влияет только на текущую среду оболочки. В большинстве дистрибутивов Linux значение umask по умолчанию для всей системы устанавливается в файле pam_umask.so или /etc/profile .
Если вы хотите указать другое значение для каждого пользователя, отредактируйте файлы конфигурации оболочки пользователя, такие как
/.zshrc . Вы также можете изменить текущее umask значение сеанса , выполнив с umask последующим желаемым значением.
Чтобы просмотреть текущее значение маски, просто введите umask без аргументов:
Выход будет включать
Это umask значение содержит биты прав доступа, которые НЕ будут установлены во вновь создаваемых файлах и каталогах.
Как мы уже упоминали, разрешения на создание файлов по умолчанию 666 и для каталогов 777 . Чтобы вычислить биты прав доступа для новых файлов, вычтите значение umask из значения по умолчанию.
Например, чтобы рассчитать, как uname 022 это повлияет на вновь созданные файлы и каталоги, используйте:
- Файлы: 666 — 022 = 644 . Владелец может читать и изменять файлы. Группа и другие могут только читать файлы.
- Каталоги: 777 — 022 = 755 Владелец может перейти в каталог и просмотреть список, изменить, создать или удалить файлы в каталоге. Группа и другие могут cd в каталог и список и читать файлы.
Вы также можете отобразить значение маски в символической записи, используя -S опцию:
В отличие от числовой записи, значение символической записи содержит биты прав доступа, которые будут установлены во вновь создаваемых файлах и каталогах.
Установка значения маски
Маска создания файла может быть установлена с использованием восьмеричной или символической записи. Чтобы сделать изменения постоянными, установите новое umask значение в глобальном файле конфигурации, таком как /etc/profile файл, который будет влиять на всех пользователей, или в файлах конфигурации оболочки пользователя, таких как
/.zshrc которые будут влиять только на пользователя. Пользовательские файлы имеют приоритет над глобальными файлами.
Прежде чем вносить изменения в umask значение, убедитесь, что новое значение не представляет потенциальной угрозы безопасности. Значения менее строгие, чем 022 следует использовать с большой осторожностью. Например, umask 000 означает, что любой пользователь будет иметь права на чтение, запись и выполнение для всех вновь создаваемых файлов.
Допустим, мы хотим установить более строгие разрешения для вновь создаваемых файлов и каталогов, чтобы другие не могли обращаться cd к каталогам и читать файлы. Разрешения, которые мы хотим, 750 для каталогов и 640 для файлов.
Чтобы вычислить umask значение, просто вычтите требуемые разрешения из разрешения по умолчанию:
Umask значение: 777-750 = 027
Желаемое umask значение, представленное в числовой записи 027 .
Чтобы навсегда установить новое значение для всей системы, откройте /etc/profile файл в текстовом редакторе:
и измените или добавьте следующую строку в начале файла:
Чтобы изменения вступили в силу, выполните следующую source команду или выйдите из системы и войдите в систему:
Для проверки новых настроек мы создадим один новый файл и каталог, используя mkdir и touch :
Если вы проверите разрешения с помощью ls команды, вы заметите, что новый файл имеет 640 и новый каталог 750 разрешений, как мы хотели:
Другой способ установить маску создания файла — использовать символическую запись. Например так umask u=rwx,g=rx,o= же, как umask 027 .
Вывод
В этом руководстве мы объяснили права доступа Linux и как использовать umask команду для установки битов разрешений для вновь создаваемых файлов или каталогов.
Для получения дополнительной информации введите man umask в своем терминале.
Источник
Что такое umask и как установить права на файл или директорию
Очередной пост из серии «Ликбез». Всегда хотел это понять, но вечно что-то мешало.
Подглядел вот здесь, довольно легкое и доходчивое объяснение (прошу не путать ликбез с академическим толкованием) того, как посчитать umask, если знаешь какие права в итоге должен иметь твой файл или директория. Как правило, при администрировании Linux систем, нам больше всего приходится сталкиваться с фактическими правами, а вот с umask возникают некоторые трудности. Автор оригинальной статьи сам немного запутался, но я все исправил.
Что такое umask?
При создании файла или директории, среда операционной системы присваивает им определенные права доступа по умолчанию, и umask — это пользовательская маска (user mask), которая используется для определения конечных прав доступа.
Как установить umask по умолчанию?
Сперва, нам необходимо понять, как узнать текущее значение нашей umask. Сделать это очень просто:
Umask для всех пользователей по умолчанию устанавливается в файлах /etc/.bashrc или /etc/.profile.
После процедуры начальной инсталляции Linux, по умолчанию она равна 0022 (022) или 0002 (002).
Если в этих файлах, мы просто добавим или изменим строку с umask:
То при следующем входе мы получим новое значение umask. Если выполним эту команду в текущем сеансе, то, соответственно, изменим значение для маски на время работы сеанса.
Что такое umask равное 0022 и 0002?
В операционной системе Linux базовые права для директории равны 0777 (rwxrwxrwx), а для файла 0666 (rw-rw-rw).
По умолчанию umask 0002 используется для обычного пользователя. С этой маской права по умолчанию, для директории, равны 775, а для файла 664.
Для суперпользователя (root) umask по умолчанию равна 0022. С этой маской права по умолчанию, для директории, равны 755, а для файла 644.
Как посчитать (определить) права файла для маски 022 (пользователь root):
Права по умолчанию: 666
Вычитаемое значение umask: 022 (-)
Итоговые права: 644
Как посчитать (определить) права директории для маски 022 (пользователь root):
Права по умолчанию: 777
Вычитаемое значение umask: 022 (-)
Итоговые права: 755
Итоги
Таким образом: umask «отбирает» необходимые права в нужных разрядах: 7-ка полностью все, 2-ка права на запись, 0 оставляет по умолчанию. По-моему очень просто и понятно.
К примеру вот такие команды:
приведут к такому результату:
И напоследок, пример umask с различными (наиболее часто используемыми) значениями и результирующие (итоговые) права:
Значение umask | Файл | Директория | ||||||
---|---|---|---|---|---|---|---|---|
Итог | Владелец | Группа | Остальные | Итог | Владелец | Группа | Остальные | |
0000 | 666 | rw- | rw- | rw- | 777 | rwx | rwx | rwx |
0002 | 664 | rw- | rw- | r— | 775 | rwx | rwx | r-x |
0022 | 644 | rw- | r— | r— | 755 | rwx | r-x | r-x |
0007 | 660 | rw- | rw- | — | 770 | rwx | rwx | — |
0077 | 600 | rw- | — | — | 700 | rwx | — | — |
0027 | 640 | rw- | r— | — | 750 | rwx | r-x | — |
0277 | 400 | r— | — | — | 500 | r-x | — | — |
Калькулятор umask
Конечно-же, ограниченный упрощенный метод подсчета и приведенная таблица не способны покрыть множество вариантов значений umask, поэтому, для более полной и четкой картины, предлагаю вам воспользоваться следующим наглядным инструментом:
«Онлайн umask калькулятор»
Источник
Umask команда в Linux 2021
Umask Linux Pro
В операционных системах Linux и Unix все новые файлы создаются с набором разрешений по умолчанию. Утилита umask позволяет вам просматривать или устанавливать маску создания режима файла, которая определяет биты прав доступа для вновь создаваемых файлов или каталогов.
Он используется командами mkdir, touch, tee и другими, которые создают новые файлы и каталоги.
Разрешения Linux
Прежде чем идти дальше, давайте кратко объясним модель разрешений Linux.
В Linux каждый файл связан с владельцем и группой и ему назначены права доступа для трех разных классов пользователей:
- владелец файла. участники группы. все остальные.
Существует три типа разрешений, которые применяются к каждому классу:
- разрешение на чтение. разрешение на запись. разрешение на выполнение.
Эта концепция позволяет вам указать, каким пользователям разрешено читать файл, записывать в файл или выполнять файл.
Чтобы просмотреть права доступа к файлу, используйте команду ls :
Первый символ представляет тип файла, который может быть обычным файлом ( — ), каталогом ( d ), символической ссылкой ( l ) или любым другим специальным типом файла.
Следующие девять символов представляют разрешения, три набора по три символа в каждом. Первый набор показывает права владельца, второй — права группы, а последний набор — права доступа для всех остальных.
Символ r с восьмеричным значением 4 обозначает чтение, w с восьмеричным значением 2 для записи, x с восьмеричным значением 1 для разрешения на выполнение и ( — ) с восьмеричным значением 0 для отсутствия разрешений.
Есть также три других специальных типа прав доступа к файлам: setuid , setgid и Sticky Bit .
В приведенном выше примере ( rwxr-xr-x ) означает, что владелец имеет разрешения на чтение, запись и выполнение ( rwx ), группа и другие пользователи имеют разрешения на чтение и выполнение.
Если мы представим права доступа к файлу с помощью числовой записи, мы подойдем к числу 755 :
- Владелец: rwx = 4+2+1 = 7 Группа: rx = 4+0+1 = 5 Другое: rx = 4+0+1 = 5
Когда они представлены в цифровом формате, разрешения могут иметь три или четыре восьмеричных цифры (0-7). Первая цифра представляет специальные разрешения, а если она опущена, это означает, что никаких специальных разрешений для файла не установлено. В нашем случае 755 совпадает с 0755 . Первая цифра может быть комбинацией 4 для setuid , 2 для setgid и 1 для Sticky Bit .
Права доступа к файлам можно изменить с помощью команды chmod а владельца — с помощью команды chown .
Понимание масок
По умолчанию в системах Linux разрешения на создание по умолчанию составляют 666 для файлов, что дает права на чтение и запись для пользователя, группы и других пользователей, и 777 для каталогов, что означает разрешение на чтение, запись и выполнение для пользователя, группы и другие. Linux не позволяет создавать файл с разрешениями на выполнение.
Разрешения на создание по умолчанию можно изменить с помощью утилиты umask .
umask влияет только на текущую оболочку. В большинстве дистрибутивов Linux значение umask по умолчанию для всей системы устанавливается в pam_umask.so или /etc/profile .
Чтобы просмотреть текущее значение маски, просто введите umask без аргументов:
Выход будет включать
Значение umask содержит биты прав доступа, которые НЕ будут установлены во вновь создаваемых файлах и каталогах.
Как мы уже упоминали, разрешения на создание файлов по умолчанию — 666 а для каталогов — 777 . Чтобы вычислить биты прав доступа для новых файлов, вычтите значение umask из значения по умолчанию.
Например, чтобы рассчитать, как uname 022 повлияет на вновь созданные файлы и каталоги, используйте:
- Файлы: 666 — 022 = 644 . Владелец может читать и изменять файлы. Группа и другие могут только читать файлы. Каталоги: 777 — 022 = 755 755. Владелец может перейти в каталог и перечислить чтение, изменение, создание или удаление файлов в каталоге. Группа и другие могут cd в каталог и перечислить и прочитать файлы.
Вы также можете отобразить значение маски в символической записи, используя опцию -S :
В отличие от числовой записи, значение символической записи содержит биты прав доступа, которые будут установлены во вновь создаваемых файлах и каталогах.
Установка значения маски
Маска создания файла может быть установлена с использованием восьмеричной или символической записи. Чтобы сделать изменения постоянными, установите новое значение umask в глобальном файле конфигурации, таком как /etc/profile который будет влиять на всех пользователей, или в файлах конфигурации оболочки пользователя, таких как
/.zshrc которые повлияет только на пользователя. Пользовательские файлы имеют приоритет над глобальными файлами.
Прежде чем вносить изменения в значение umask убедитесь, что новое значение не представляет потенциальной угрозы безопасности. Значения менее ограничительные, чем 022 следует использовать с большой осторожностью. Например, umask 000 означает, что любой пользователь будет иметь права на чтение, запись и выполнение для всех вновь создаваемых файлов.
Допустим, мы хотим установить более строгие разрешения для вновь создаваемых файлов и каталогов, чтобы другие не могли cd в каталоги и читать файлы. Разрешения, которые мы хотим, — 750 для каталогов и 640 для файлов.
Чтобы вычислить значение umask просто вычтите нужные разрешения из значений по умолчанию:
Значение 777-750 = 027 : 777-750 = 027
Желаемое значение umask представленное в числовой записи, равно 027 .
Чтобы навсегда установить новое значение для всей системы, откройте файл /etc/profile текстовом редакторе:
sudo nano /etc/profile
и измените или добавьте следующую строку в начале файла:
Чтобы изменения вступили в силу, выполните следующую source команду или выйдите из системы и войдите в систему:
Для проверки новых настроек мы создадим один новый файл и каталог с помощью mkdir и touch :
mkdir newdir touch newfile
drwxr-x— 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r—— 1 linuxize users 0 Jul 4 18:14 newfile
Другой способ установить маску создания файла — использовать символическую запись. Например, umask u=rwx, g=rx, o= совпадает с umask 027 .
Вывод
В этом руководстве мы объяснили права доступа Linux и как использовать команду umask для установки битов прав доступа для вновь создаваемых файлов или каталогов.
Для получения дополнительной информации наберите man umask в своем терминале.
Команда Chmod в Linux (права доступа к файлам)
В Linux доступ к файлам управляется через права доступа к файлам, атрибуты и права собственности. В этом руководстве рассказывается, как использовать команду chmod для изменения прав доступа к файлам и каталогам.
Команда Chgrp в Linux (сменить группу)
В Linux каждый файл связан с владельцем и группой и имеет разрешения, которые определяют, какие пользователи могут читать, записывать или выполнять файл. Команда chgrpc меняет групповое владение данными файлами.
Команда cp в linux (копирование файлов)
cp — утилита командной строки для копирования файлов и каталогов в системах Unix и Linux.
Источник