파워셀을 활용하여 공유 폴더에 대한 액세스 권한 부여, 공유 폴더 모두에 대한 액세스 권한 확인 방법이 있을까요?
특정폴더의 액세스 권한 확인은
Get-Acl -Path 폴더 | Format-Table -Wrap
이것으로 할 수 있었습니다.
Get-Acl -Path 폴더 | Format-Table -Wrap를 입력하면 하나의 폴더만 보안 액세스 권한을 확인할 수 있었는데요.
전체 공유폴더에 대하여 보안 권한 확인을 하는 방법이 있을까요?
또 하나로, 폴더 사용권한을 명령어를 사용하여 변경하고 싶은데요.
cacls이 나오더라고요... 근데 어려워서 사용을 못하고 있는데 예제는 이렇더라고요.
cacls <filename> [/t] [/m] [/l] [/s[:sddl]] [/e] [/c] [/g user:<perm>] [/r user [...]] [/p user:<perm> [...]] [/d user [...]]
cacls 폴더 /t /g 유저명:perm 주면 되는 건가요?
5개의 답변이 있습니다.
파워셀에 익숙하지 않다 보니...
적응에 어려움이 느껴지네요~ ㅎㅎㅎ
가끔 한번씩 사용할때마다 시행 착오를 너무 겪는거 같네요.
공유 폴더 모두에 대한 액세스 권한 확인 방법에 대한 명령을 한번 적어 볼께요.
PowerShell에 익숙하다면 좀 더 깔끔한 명령을 만들 수 있겠지만...
익숙하지 않다 보니~
제가 생각해도 좀 조잡한 명령이 되어 버린감이 있긴 하네요.
$a=$(net share | foreach-object{ $_.split(" ") -creplace ' ', '' ; } | findstr \ );foreach( $b in $a ) { get-acl -path $b }
DOS용 외부 명령인 net share와 findstr을 이용했고요.
결과값을 foreach 명령에 입력 값으로 사용할 수 있는 방법을 찾지 못해서, 임시로 $a 라는 변수에 넣어서 전달 시켰고요.
콤마등 단일 문자를 기준으로 문자열을 분리 시키기는 쉬운것 같은데, 여러개의 공백 문자열로된 white space를 구분으로해서 문자열을 분리시키는 방법을 찾기가 어려워 시행 착오를 겪으며, 코드가 지저분해 진 느낌이 들고... ㅎㅎㅎ
참고 해서 좀 더 깔끔한 명령을 만들어도 될거 같고, 아니면, 이대로 해서 스크립트로 만들어 사용해도 될거 같고요~
set-acl 명령은 좀 더 연구해보고, 가능하다면 다시 글을 올릴수 있도록 한 번 해 볼께요~ ^^
Powershell 명령어로 한꺼번에 확인하고 설정 변경하는게
유닉스 계열과 동일하죠~
해당사항 아래 링크 참고하세요
https://stackoverrun.com/ko/q/7773782
wansoo | 4년 이하 전
Powershell 명령에... 유닉스가 왜 언급될까요...??
전혀 상황에 맞지 않는 용어 사용이 되겠네요~
과연, 유닉스를 제대로 알고서 언급하였을까..? 하는 생각이 들고요.
파워 셀은 제쳐두고서라도... 리눅스나 DOS는 제대로 이해하고 있을까 하는 의문도 들고요~
이렇게 스스로도 제대로 알지 못하는 내용을 확신을 전제로 언급해 버린다면,
내용을 전혀 모르는 사람들은 정말 그런줄 거짓 정보에 속아 넘어가버리겠죠~
쉐어드IT의 발전을 위해서라도 전혀 상황에 맞지 않은 내용을 잘 아는 것 처럼 포장해서 표현하는건 자제하는게 맞지 않을까 싶어 보이네요.
한개 공유 폴더에 대한 권한 확인 방법은 아는데, 모든 공유 폴더에 대한 권한 확인 방법은...
for 문을 사용해도 될 것 같네요.
예를 들어 모든 공유 폴더에 대한 cacls 명령을 수행 시키려 한다면...
for /f "tokens=1,2 delims= " %a in ( 'net share ^| findstr ^\' ) do cacls %b
이라고 명령을 주면 되겠네요.
net share 명령으로 공유되어 있는 모든 공유 폴더 List를 확인할 수 있겠고요.
findstr 명령으로 공유 폴더에 대한 내용만 추려 낸 후에, for 문을 이용해서 각 공유 폴더에 대한 정보를 확인하는 형식으로 작동되고요.
아래 사이트도 참고 해서 사용해보시면 될듯합니다.
https://blog.naver.com/PostView.nhn?blogId=ki630808&logNo=221812388770&categoryNo=55&parentCategoryNo=2&viewDate=¤tPage=&postListTopCurrentPage=&isAfterWrite=true
https://stackoverrun.com/ko/q/5553329
cacls 사용법은...
특정 폴더에 대해 administrator 유저에게 읽기 권한을 주고 싶다면,
cacls 폴더 /p administrator:r 이라고 명령을 주면 될거 같고요.
단, cmd 창을 관리자 권한으로 열어야 사용할 수 있겠고...
d:\abc 폴더에 대해 user1 사용자에게 모든 권한을 주고 싶을 경우에는...
cacls d:\abc /p user1:f 라고 명령을 주면 될거 같고요...
파워셀 get-acl 명령으로 확인 가능한 내용을 변경하고 싶다면
set-acl 명령으로 실행하면 될거 같아 보이네요.
구체적인 실행 방법은 한번 찾아 보고, 다시 올릴 수 있도록 해 볼께요~ ^^;;