How do I specify chmod 744 in Powershell?
I know that I can use icacls to specify the permission on the file, and from What is the equivalent of chmod 777?, I can use
icacls myfile.txt /grant Everyone:F
But how do I set an equivalent for chmod 744? I think I can use /grant:____:R
for just read access, but I'm not sure how to specify the owners and the group permissions as simply as with chmod. When I try this:
icacls myfile.txt /grant Owner:F Group:R Everyone:R
I receive an error, "No mapping between account names and security IDs was done." I'm probably missing something obvious, any ideas?
When I try:
icacls myfile.txt /grant Administrator:F /grant:r Users:R
I take a look at the file in Explorer and it has given Administrator "Special Permissions" (rather than Full Control) and gives Users "Read & execute, Read, and Special Permissions."
Solution 1:
Give this a shot and see if this does what you're trying to accomplish. I always run these explicitly so one for setting the Owner
, one for Full Control
, one for Read-only
, and one for Read and Execute
.
This way you can do it for a specific file and for a specific user or group where applicable. Just plug in your file names, etc.
Sample ICACLS commands to set owner, grant full control, read-only, and read plus execute access (You may need to run the command prompt as administrator with these commands)
::Set Owner of a specific file
ICACLS "D:\test\test.txt" /setowner "administrator"
::Grant Full Control
ICACLS "D:\test\test.txt" /grant:r "administrator:(F)" /C
::Grant Read and Execute Access of a specific file
ICACLS "D:\test\test.txt" /grant:r "users:(RX)" /C
::Grant Read-only Access of a specific file
ICACLS "D:\test\test.txt" /grant:r "users:(R)" /C