- chmod — изменение режима доступа к файлам
- Примеры:
- Эквивалент chmod для изменения прав доступа к файлам в Windows
- 8 ответов
- AWS EC2 Windows SSH Help — Chmod 400 (RSA Key).pem Not Working
- jaskiratr / chmod-400.cmd
- This comment has been minimized.
- leylat072 commented May 26, 2019
- This comment has been minimized.
- rjmii commented Jun 8, 2019 •
- This comment has been minimized.
- iChavezF commented Nov 14, 2019
- This comment has been minimized.
- JoeBerg8 commented Dec 15, 2019
- This comment has been minimized.
- RichardSilveira commented Mar 12, 2020
- This comment has been minimized.
- GauriShankarBadola commented Mar 20, 2020
- This comment has been minimized.
- carloscoelhow commented Apr 3, 2020 •
- This comment has been minimized.
- vpaulve commented Apr 19, 2020
- This comment has been minimized.
- jorgelmadrid commented Apr 30, 2020
- This comment has been minimized.
- ProDigit commented May 6, 2020
- chmod — изменение режима доступа к файлам
- Примеры:
chmod — изменение режима доступа к файлам
Все чаще обнаруживается, что некоторые начинающие сайтостроители, увлеченные скриптованием (на perl/cgi, php и т.д.) не знают, что такое chmod и как его использовать. В этом кратком руководстве вы узнаете что такое chmod, как он выставляется и для чего вообще это нужно.
Очень важно иногда назначить права доступа на определенные файлы и папки, находящиеся на веб сервере, будь то в целях безопасности или просто для корректной работы скрипта. Это действие и называется chmod (change file mode), или по-русски: изменение режима доступа к файлам. Это название берет свое начало с команды Unix — chmod, которая изменяет разрешения на файлы. Со временем «chmod» стал синонимом слова «разрешение» («permission»).
Существует три группы пользователей, права которых нас будут интересовать: владелец файла, группа и остальные пользователи.
Создавая файл, пользователь автоматически получает самые широкие права на делание с этим файлом чего угодно, его группа — несколько меньшие права, а все остальные — совсем ничтожные. В Unix есть только три основных права — читать файл или просматривать каталог («Read»), изменять файл или папку, записывая в неё что-нибудь, или вообще её удалять («Write»). Последнее право — право на запуск файла («eXecute»).
Режим chmod может обозначаться в числовом или символьном формате. Например: 755, rwxrxrx, 644 и т.д.
Как вы уже поняли, символы r, w и x обозначают, соответственно, read, write и execute. Выставлять права на файлы таким образом можно через любой ftp-клиент, например CuteFTP.
Обратите внимание на расстановку «галочек». Первыми идут галочки в полях «Владелец»: read, write, execute (rwx); потом идут поля «Группы»: read, execute (rx); и наконец поля «Остальных»: read, execute (rx). В итоге мы получили права rwxrxrx на файл (по очереди букв и полей). То есть, владелец может читать, записывать и исполнять файл; «группа» и «остальные» имеют право на чтение и исполнение файла, но не на запись! Теперь вы должны осознавать важность установки прав на файлы и постараться обеспечить максимальную безопасность ваших скриптов и данных на сервере с помощью этого инструмента.
Обратите внимание на число 755 в поле Manual. Оказывается, каждое право имеет определенный числовой код и может быть выставленно вручную:
- 400 — владелец имеет право на чтение
- 200 — владелец имеет право на запись
- 100 — владелец имеет право на выполнение
- 40 — группа имеет право на чтение
- 20 — группа имеет право на запись
- 10 — группа имеет право на выполнение
- 4 — остальные имеют право на чтение
- 2 — остальные имеют право на запись
- 1 — остальные имеют право на выполнение
Сумма этих пунктов дает желаемый chmod. Например, мы хотим чтобы владелец мог делать все, а группа и остальные — только читать файл. Складываем: 400+200+100+40+4=744. То есть нам необходим chmod 744. Теперь осталось только просуммировать числа, соответствующие тем правам доступа, которые мы хотим поставить файлу, и установить их.
Примеры:
400+40+4=444 — все имеют право только на чтение.
400+100+10+1=611 — владелец может читать и выполнять, остальные — только выполнять.
400+200+40+4=644 — означает, что вы позволяете всем его читать, но писать в этот файл может только владелец файла. Даже если вы являетесь владельцем файла и открываете его в браузере, то вы не сможете ничего в него записать, поскольку доступ через браузер делает вас анонимным пользователем.
400+200+40+20+4+2=666 — означает, что все могут и читать и писать этот файл. Это необходимо, чтобы пользовател могли делать записи в гостевых книгах, форумах и т.д.
400+200+100+40+10+4+1=755 — классическая команда для cgi-скритпа. CGI-скрипт — это исполняемый файл, и все должны иметь к нему доступ на чтение и выполнение. Только владелец этого файла может его изменять или удалять.
Приведу еще более удобную, на мой взгляд, таблицу расчета chmod:
Значения | Owner (Владелец) | Group (Группа) | Public (Остальные) |
Read = 4 | x | x | x |
Write = 2 | x | x | |
Execute = 1 | x | x | x |
Сумма: | (4 + 2 + 1) = 7 | (4 + 1) = 5 | (4 + 1) = 5 |
И в завершении кратко скажу о том, как эти разрешения устанавливаются. Делается это с помощью любого ftp-клиента:
- В Windows Commander они изменяются через пункты меню «Файл» > «Изменить аттрибуты». При этом изменяются разрешения на выделенный файл (файлы) и/или папки.
- В FAR Manager разрешения выделенных файлов изменяются нажатием Ctrl+A:
[x][x][ ] [x][x][ ] [x][x][ ] — 666
[x][x][x] [x][ ][x] [x][ ][x] — 755 - В CuteFTP разрешения меняются с помощью пункта «Change file attributes» (изменить аттрибуты файла) меню, выпадающего при клике правой кнопкой мышки по имени файла.
Эквивалент chmod для изменения прав доступа к файлам в Windows
Есть ли какой-либо эквивалент Windows из chmod для Linux, чтобы изменить права доступа к файлу?
8 ответов
Грег упоминает attrib — но attrib не находится рядом с chmod — attrib может устанавливать атрибуты только для чтения /скрытия одного файла — он не предоставляет мелкомасштабные элементы управления, такие как icacls делает.
icacls устанавливает /сбрасывает списки управления доступом, поэтому вы можете предоставлять /запрещать права для отдельных SID и amp; групп. Это довольно сложно.
Вот пример, который я сохранил в github gist ; он сбрасывает список прав собственности и контроля доступа для всех файлов в папке и особенно полезен для исправления тех раздражающих «вам нужны разрешения .. для выполнения этого действия», особенно при перемещении файлов с предыдущей установки:
Сброс заменяет существующий список по умолчанию.
/t действует рекурсивно на все файлы, папки и amp; вложенные папки
/q не выводит сообщений об успешном завершении
/c продолжается с оставшимися файлами даже при возникновении ошибки.
Вы также можете делать такие вещи, как резервное копирование существующих ACL и amp; применяйте их ко всем. Посмотрите ss64 , в котором объясняются различные параметры & переключатели очень хорошо.
Либо cacls , xcacls или мой личный фаворит icacls , вероятно, сделает все, что вам нужно.
Там (к сожалению) не может быть точного эквивалента, поскольку Linux и DOS /Windows используют атрибуты для разных целей, и (как сказал Чатуранга ранее) модель безопасности отличается:
- В файловых системах Windows есть «скрытые» ( H ) и «system» ( S ), которые не имеют эквивалента в Linux; там файлы спрятаны, добавив имя с точкой ( . ).
- Нет эквивалента атрибуту «архив» Windows ( A ).
- В атрибутах файла DOS /Windows нет эквивалентов «исполняемых» ( x ) атрибутов Linux.
- Там есть эквивалент каталога «каталог» Windows ( D ) (но он может » все равно).
- В файловых системах Linux каждая запись принадлежит одному пользователю и ровно одной группе, а чтение /запись /выполнение может быть разрешено для каждого из них и для других. Списки ACL (например, используемые Windows) являются еще более гибкими, но более сложными, а синтаксис командной строки — PITA (по моему скромному мнению, конечно)
Атрибут файла DOS R (только для чтения) — это тот, который может считаться эквивалентным: этот атрибут set примерно соответствует атрибуту w для всех отсутствующих; но разрешение на изменение этого атрибута подчиняется ACL.
Возможно, было бы здорово иметь chmod / chown эквивалент в Windows, возможно, написан на некоторых языках сценариев, который, в свою очередь, вызывает attrib и cacls (или преемники), но у меня его нет.
Работает как шарм для изменения прав доступа к папке для пользователей домена. Дополнительная информация о cacls и icacls .
AWS EC2 Windows SSH Help — Chmod 400 (RSA Key).pem Not Working
Thank you all who use their time to help others. Thank you in advance.
I am taking a class on EDX for Linux command line. I have attached the instructions I have followed to set up Red hat using Windows 10. But the SSH for isn’t working it says that RSA Key not found. (Attachment didn’t work)
I paste it here
«The recommended way to access your Red Hat Enterprise Linux cloud instance for this course is to use Secure Shell (ssh) to get an interactive shell on the system. Step 1: Getting SSH If you are using macOS or Linux: The OpenSSH command (ssh) should already be installed on your computer. Start a terminal program to get a shell, and proceed to the next step. If you are using Microsoft Windows, you will need to get an SSH client as follows: ● Option 1: Download Git for Windows from https://git-scm.com/download/win and install it using the default settings. When it is installed, right-click on your desktop (not an icon or a file) and select Git Bash Here to open a Git Bash command prompt. An SSH client is provided with Git Bash and you can continue with Step 2. ● Option 2: If you have the PuTTY client, which can be downloaded from http://www.chiark.greenend.org.uk/
sgtatham/putty/, and you are familiar with that tool, you can use that to connect to your instance. AWS provides a tutorial on this at https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html. Step 2: Connecting to your instance with SSH From the Amazon EC2 console, in the left-side menu under INSTANCES, click Instances to display a list of the instances you have running. This is probably just the one you set up for this course. Select its checkbox and click Connect:»
Also, I have another PC I built running on Ubuntu. Can I use that PC with the RSA by logging into AWS account if there is no solution.
I have researched this question and I am stuck here trying to find a solution so I can start class.
jaskiratr / chmod-400.cmd
# Source: https://stackoverflow.com/a/43317244 |
$path = » .\aws-ec2-key.pem « |
# Reset to remove explict permissions |
icacls.exe $path /reset |
# Give current user explicit read-permission |
icacls.exe $path /GRANT:R » $($env:USERNAME):(R) « |
# Disable inheritance and remove inherited permissions |
icacls.exe $path /inheritance:r |
This comment has been minimized.
Copy link Quote reply
leylat072 commented May 26, 2019
Thank You I had an issue on running the chmod, it is not recognized and this helps me a lot to set permission for a file on connecting to AWS Amazon instance
This comment has been minimized.
Copy link Quote reply
rjmii commented Jun 8, 2019 •
For those of us using a hyper-v vagrant box this solves the vagrant ssh «Permission denied (publickey).» issue.
From inside the folder where your vagrant environment resides (usually your project repo folder).
A slightly modified version of this solution.
A Vagrant cloud hosted Ubuntu Desktop Hyper-V box to use it with.
This comment has been minimized.
Copy link Quote reply
iChavezF commented Nov 14, 2019
If dont work this option, try :
click right
security > options advanced > disable heritage
add > select entity o group > «type your user windows» > confirm name > accept > set basic perm > accept
This comment has been minimized.
Copy link Quote reply
JoeBerg8 commented Dec 15, 2019
Still relevant! Thank you!
This comment has been minimized.
Copy link Quote reply
RichardSilveira commented Mar 12, 2020
Still relevant! Thank you!
This comment has been minimized.
Copy link Quote reply
GauriShankarBadola commented Mar 20, 2020
This comment has been minimized.
Copy link Quote reply
carloscoelhow commented Apr 3, 2020 •
thanks @jaskiratr! it helps me a lot 🙂
This comment has been minimized.
Copy link Quote reply
vpaulve commented Apr 19, 2020
This comment has been minimized.
Copy link Quote reply
jorgelmadrid commented Apr 30, 2020
This comment has been minimized.
Copy link Quote reply
ProDigit commented May 6, 2020
If dont work this option, try :
click right
security > options advanced > disable heritage
add > select entity o group > «type your user windows» > confirm name > accept > set basic perm > accept
Thanks!
Amazon AWS pem file can be ran with this much easier mod.
However, on Windows 10, what worked for me is:
right click on the file > properties > security > advanced > disable inheritance > ‘Convert inherited permissions into explicit permission on this object’
Click on «allow | everyone | Full Control» > edit > ‘select a principal’ > type your username > ‘check names’ > select your username > ok > ok > ok (ok until all windows are closed)
Works now!
Another inexplicable way to complicate things from MS.
chmod — изменение режима доступа к файлам
Все чаще обнаруживается, что некоторые начинающие сайтостроители, увлеченные скриптованием (на perl/cgi, php и т.д.) не знают, что такое chmod и как его использовать. В этом кратком руководстве вы узнаете что такое chmod, как он выставляется и для чего вообще это нужно.
Очень важно иногда назначить права доступа на определенные файлы и папки, находящиеся на веб сервере, будь то в целях безопасности или просто для корректной работы скрипта. Это действие и называется chmod (change file mode), или по-русски: изменение режима доступа к файлам. Это название берет свое начало с команды Unix — chmod, которая изменяет разрешения на файлы. Со временем «chmod» стал синонимом слова «разрешение» («permission»).
Существует три группы пользователей, права которых нас будут интересовать: владелец файла, группа и остальные пользователи.
Создавая файл, пользователь автоматически получает самые широкие права на делание с этим файлом чего угодно, его группа — несколько меньшие права, а все остальные — совсем ничтожные. В Unix есть только три основных права — читать файл или просматривать каталог («Read»), изменять файл или папку, записывая в неё что-нибудь, или вообще её удалять («Write»). Последнее право — право на запуск файла («eXecute»).
Режим chmod может обозначаться в числовом или символьном формате. Например: 755, rwxrxrx, 644 и т.д.
Как вы уже поняли, символы r, w и x обозначают, соответственно, read, write и execute. Выставлять права на файлы таким образом можно через любой ftp-клиент, например CuteFTP.
Обратите внимание на расстановку «галочек». Первыми идут галочки в полях «Владелец»: read, write, execute (rwx); потом идут поля «Группы»: read, execute (rx); и наконец поля «Остальных»: read, execute (rx). В итоге мы получили права rwxrxrx на файл (по очереди букв и полей). То есть, владелец может читать, записывать и исполнять файл; «группа» и «остальные» имеют право на чтение и исполнение файла, но не на запись! Теперь вы должны осознавать важность установки прав на файлы и постараться обеспечить максимальную безопасность ваших скриптов и данных на сервере с помощью этого инструмента.
Обратите внимание на число 755 в поле Manual. Оказывается, каждое право имеет определенный числовой код и может быть выставленно вручную:
- 400 — владелец имеет право на чтение
- 200 — владелец имеет право на запись
- 100 — владелец имеет право на выполнение
- 40 — группа имеет право на чтение
- 20 — группа имеет право на запись
- 10 — группа имеет право на выполнение
- 4 — остальные имеют право на чтение
- 2 — остальные имеют право на запись
- 1 — остальные имеют право на выполнение
Сумма этих пунктов дает желаемый chmod. Например, мы хотим чтобы владелец мог делать все, а группа и остальные — только читать файл. Складываем: 400+200+100+40+4=744. То есть нам необходим chmod 744. Теперь осталось только просуммировать числа, соответствующие тем правам доступа, которые мы хотим поставить файлу, и установить их.
Примеры:
400+40+4=444 — все имеют право только на чтение.
400+100+10+1=611 — владелец может читать и выполнять, остальные — только выполнять.
400+200+40+4=644 — означает, что вы позволяете всем его читать, но писать в этот файл может только владелец файла. Даже если вы являетесь владельцем файла и открываете его в браузере, то вы не сможете ничего в него записать, поскольку доступ через браузер делает вас анонимным пользователем.
400+200+40+20+4+2=666 — означает, что все могут и читать и писать этот файл. Это необходимо, чтобы пользовател могли делать записи в гостевых книгах, форумах и т.д.
400+200+100+40+10+4+1=755 — классическая команда для cgi-скритпа. CGI-скрипт — это исполняемый файл, и все должны иметь к нему доступ на чтение и выполнение. Только владелец этого файла может его изменять или удалять.
Приведу еще более удобную, на мой взгляд, таблицу расчета chmod:
Значения | Owner (Владелец) | Group (Группа) | Public (Остальные) |
Read = 4 | x | x | x |
Write = 2 | x | x | |
Execute = 1 | x | x | x |
Сумма: | (4 + 2 + 1) = 7 | (4 + 1) = 5 | (4 + 1) = 5 |
И в завершении кратко скажу о том, как эти разрешения устанавливаются. Делается это с помощью любого ftp-клиента:
- В Windows Commander они изменяются через пункты меню «Файл» > «Изменить аттрибуты». При этом изменяются разрешения на выделенный файл (файлы) и/или папки.
- В FAR Manager разрешения выделенных файлов изменяются нажатием Ctrl+A:
[x][x][ ] [x][x][ ] [x][x][ ] — 666
[x][x][x] [x][ ][x] [x][ ][x] — 755 - В CuteFTP разрешения меняются с помощью пункта «Change file attributes» (изменить аттрибуты файла) меню, выпадающего при клике правой кнопкой мышки по имени файла.