From T3_KR_KNU
(→토큰의 유효기간) |
(→dCache에서 WebDav 프로토콜 및 MACAROONS 인증 사용하기) |
||
(69 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | == dCache에서 WebDav 프로토콜 및 | + | == dCache에서 WebDav 프로토콜 및 MACAROONS 인증 사용하기 == |
+ | |||
+ | 향후 GridFTP와 X509 인증을 대체하는 WebDav 프로토콜과 MACAROONS 인증에 대한 소개 문서입니다. | ||
− | |||
=== 사전 작업 === | === 사전 작업 === | ||
X509_USER_PROXY 변수가 있는지 확인하고 없다면 다음과 같이 만들어줍니다. | X509_USER_PROXY 변수가 있는지 확인하고 없다면 다음과 같이 만들어줍니다. | ||
− | echo $X509_USER_PROXY | + | $ echo $X509_USER_PROXY |
− | export X509_USER_PROXY=/tmp/x509up_u`id -u $USER` | + | $ export X509_USER_PROXY=/tmp/x509up_u`id -u $USER` |
− | + | ||
프록시를 생성합니다. 마카롱 토큰을 발급받기 위해서는 여러기지 인증을 사용할 수 있지만 일단 지금은 X509_USER_PROXY로 부터 마카롱 토큰을 발급받겠습니다. | 프록시를 생성합니다. 마카롱 토큰을 발급받기 위해서는 여러기지 인증을 사용할 수 있지만 일단 지금은 X509_USER_PROXY로 부터 마카롱 토큰을 발급받겠습니다. | ||
− | voms-proxy-init --voms cms | + | $ voms-proxy-init --voms cms |
or | or | ||
− | voms-proxy-init --voms cms --valid 168:00 # 전송에 긴 시간이 | + | $ voms-proxy-init --voms cms --valid 168:00 # 전송에 긴 시간이 소요될 것으로 예상이 된다면 프록시를 생성할때 유효기간을 충분히 늘려줘야 합니다. |
=== 마카롱 인증 === | === 마카롱 인증 === | ||
Line 19: | Line 19: | ||
==== 권한 ==== | ==== 권한 ==== | ||
− | + | DOWNLOAD,UPLOAD,DELETE,MANAGE,LIST,READ_METADATA,UPDATE_METADATA | |
==== 토큰의 유효기간 ==== | ==== 토큰의 유효기간 ==== | ||
발급하는 토큰은 유효기간을 정할 수 있습니다. 오용을 방지하기 위해서 반드시 적절한 유효기간을 설정하기를 권장합니다. | 발급하는 토큰은 유효기간을 정할 수 있습니다. 오용을 방지하기 위해서 반드시 적절한 유효기간을 설정하기를 권장합니다. | ||
− | ex) PT1H : 1시간 | + | ex) PT1H : 1시간 |
+ | P02D : 2일 | ||
==== curl을 이용한 토큰 발급 ==== | ==== curl을 이용한 토큰 발급 ==== | ||
− | curl -L --capath /etc/grid-security/certificates --cacert $X509_USER_PROXY -E $X509_USER_PROXY \ | + | $ curl -L --capath /etc/grid-security/certificates --cacert $X509_USER_PROXY -E $X509_USER_PROXY \ |
-X POST -d '{"caveats": ["activity:DOWNLOAD,LIST"], "validity": "PT1H"}' \ | -X POST -d '{"caveats": ["activity:DOWNLOAD,LIST"], "validity": "PT1H"}' \ | ||
-H 'Content-Type: application/macaroon-request' \ | -H 'Content-Type: application/macaroon-request' \ | ||
− | https://cluster142.knu.ac.kr:2880/cms/store/user/{ | + | https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/ |
{ | { | ||
Line 38: | Line 39: | ||
"targetWithMacaroon": "https://cluster142.knu.ac.kr:2880/cms/store/user/dhhan/test/?authz=MDA0NmxvY2F0aW9uIE9wdGlvbm.....................................................", | "targetWithMacaroon": "https://cluster142.knu.ac.kr:2880/cms/store/user/dhhan/test/?authz=MDA0NmxvY2F0aW9uIE9wdGlvbm.....................................................", | ||
"baseWithMacaroon": "https://cluster142.knu.ac.kr:2880/?authz=MDA0NmxvY2F0aW9uIE9wdGlvbmFsWy9wbm..............................................................", | "baseWithMacaroon": "https://cluster142.knu.ac.kr:2880/?authz=MDA0NmxvY2F0aW9uIE9wdGlvbmFsWy9wbm..............................................................", | ||
− | "target": "https://cluster142.knu.ac.kr:2880/cms/store/user/{ | + | "target": "https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/", |
"base": "https://cluster142.knu.ac.kr:2880/" | "base": "https://cluster142.knu.ac.kr:2880/" | ||
} | } | ||
} | } | ||
− | https://cluster142.knu.ac.kr:2880/cms/store/user/{my_cern_id}/test/ 경로에 DOWNLOAD,LIST를 할 수 있는 | + | * https://cluster142.knu.ac.kr:2880/cms/store/user/{my_cern_id}/test/ 경로에 DOWNLOAD,LIST를 할 수 있는 1시간 짜리 마카롱 토큰이 생성되었습니다. |
− | 마카롱 토큰은 "MDA0NmxvY2F0aW9uIE9wdGlvbmFsWy9wbm.............................................................." 입니다. | + | * 발급된 마카롱 토큰은 "MDA0NmxvY2F0aW9uIE9wdGlvbmFsWy9wbm.............................................................." 입니다. |
==== get_macaroon을 이용한 토큰 발급 ==== | ==== get_macaroon을 이용한 토큰 발급 ==== | ||
+ | |||
+ | 위의 curl을 이용한 예제와 동일한 조건의 토큰을 발급합니다. | ||
+ | |||
+ | |||
+ | $ get-macaroon --url https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/ --proxy --permissions DOWNLOAD,LIST --duration PT1H | ||
+ | |||
+ | Macaroon viewer: /u/cms/bin/view-macaroon | ||
+ | === View deserialized macaroon === | ||
+ | location Optional.empty | ||
+ | identifier t30MLP8h | ||
+ | cid iid:VOrX6iIR | ||
+ | cid id:?????;????,?????;{KNU_ID} | ||
+ | cid before:2021-06-22T07:40:15.030Z | ||
+ | cid root:/pnfs/knu.ac.kr/data | ||
+ | cid root:/cms/store/user/{CERN_ID}/test/ | ||
+ | cid activity:DOWNLOAD,LIST | ||
+ | signature 32e877749bbb88a9a3e5812f42abab1c54f8ebac0c33c90dca02bf882295f96c | ||
+ | === End deserialized macaroon === | ||
+ | |||
+ | |||
+ | https://cluster142.knu.ac.kr:2880/?authz=MDAxY2xvY2F0aW9uIE9wdGlvbmFsLmVtcHR5C......... | ||
+ | |||
+ | * 경북대에서는 --chroot 옵션이 기본값이 되도록 get-macaroon를 수정하였습니다. 따라서 발급되는 마카롱 토큰은 --chroot 옵션이 적용된 상태로 발급됩니다. 이용에 유의하시기 바랍니다. | ||
+ | * 접근할 수 있는 IP를 제한하는 조건을 추가할 수도 있습니다. 145.100.0.0/16 의 접근만 허용합니다. | ||
+ | |||
+ | $ get-macaroon --url https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/ --proxy --permissions DOWNLOAD,LIST --duration PT1H --ip 145.100.0.0/16 | ||
+ | Macaroon viewer: /u/cms/bin/view-macaroon | ||
+ | |||
+ | * 좀더 자세한 내용은 아래 링크를 참고하시기 바랍니다. | ||
+ | * https://github.com/sara-nl/GridScripts | ||
+ | * https://github.com/sara-nl/GridScripts/blob/master/get-macaroon | ||
==== view_macaroon을 이용한 토큰 정보 확인 ==== | ==== view_macaroon을 이용한 토큰 정보 확인 ==== | ||
+ | |||
+ | 마카롱 토큰의 유효기간과 정보를 확인합니다. | ||
+ | |||
+ | $ view-macaroon MDAxY2xvY2F0aW9uIE9wdGlvbmFsLm........ | ||
+ | |||
+ | location Optional.empty | ||
+ | identifier t30MLP8h | ||
+ | cid iid:VOrX6iIR | ||
+ | cid id:?????;????,?????;{KNU_ID} | ||
+ | cid before:2021-06-22T07:40:15.030Z | ||
+ | cid root:/pnfs/knu.ac.kr/data | ||
+ | cid root:/cms/store/user/{CERN_ID}/test/ | ||
+ | cid activity:DOWNLOAD,LIST | ||
+ | signature 32e877749bbb88a9a3e5812f42abab1c54f8ebac0c33c90dca02bf882295f96c | ||
+ | |||
+ | * 좀더 자세한 내용은 아래 링크를 참고하시기 바랍니다. | ||
+ | * https://github.com/sara-nl/GridScripts/blob/master/view-macaroon | ||
=== WebDav 프로토콜 === | === WebDav 프로토콜 === | ||
Line 60: | Line 109: | ||
| list, download | | list, download | ||
| firefox, chrome, etc | | firefox, chrome, etc | ||
− | |||
− | |||
− | |||
− | |||
− | |||
|- style="background:white; color:black" | |- style="background:white; color:black" | ||
| rclone | | rclone | ||
− | | | + | | All |
| | | | ||
|} | |} | ||
Line 74: | Line 118: | ||
==== 웹브라우저를 이용하여 SE에서 파일 다운로드하기 ==== | ==== 웹브라우저를 이용하여 SE에서 파일 다운로드하기 ==== | ||
− | = | + | https://cluster142.knu.ac.kr:2880/?authz=MDAxY2xvY2F0aW9uIE9wdGlvbmFsLmVtcHR5C......... |
+ | |||
+ | * 웹브라우저를 열고 조금전에 발급 받은 링크를 복사해서 입력합니다. | ||
+ | * Email 등으로 타인에게 링크를 전달함으로써 스토리지 엘리먼트의 연구 데이터를 쉽게 공유할 수 있습니다. | ||
+ | * 따라서 토큰의 생성과 관리에 유의해야합니다. (특히 삭제나 쓰기 권한을 가지고 있는 토큰) | ||
==== rclone 사용법 ==== | ==== rclone 사용법 ==== | ||
+ | |||
+ | ===== 토큰 생성 ===== | ||
+ | |||
+ | get-macaroon 으로 다음과 같이 토큰을 생성합니다. | ||
+ | |||
+ | get-macaroon --url https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/ --proxy --permissions DOWNLOAD,LIST --duration PT1H | ||
+ | |||
+ | * 경북대에서는 --chroot 옵션이 기본값이 되도록 get-macaroon를 수정하였습니다. 따라서 발급되는 마카롱 토큰은 --chroot 옵션이 적용된 상태로 발급됩니다. 이용에 유의하시기 바랍니다. | ||
+ | |||
+ | ===== rclone.conf ===== | ||
+ | |||
+ | 설정파일을 다음과 같이 만들어 줍니다. | ||
+ | |||
+ | $ cat rclone.conf | ||
+ | [cluster142] | ||
+ | type = webdav | ||
+ | url = https://cluster142.knu.ac.kr:2880/ | ||
+ | vendor = other | ||
+ | user = | ||
+ | pass = | ||
+ | bearer_token = MDAxY2xvY2F0aW9uIE9wdGlvbmFsLmVtcHR5CjAw..................... | ||
+ | |||
+ | ===== ls & lsf ===== | ||
+ | |||
+ | $ export RCLONE_NO_CHECK_CERTIFICATE=true | ||
+ | $ rclone --config=rclone.conf lsf cluster142:/ | ||
+ | aaa | ||
+ | bbb | ||
+ | data/ | ||
+ | |||
+ | * 다음 경로의 모든 파일과 디렉토리를 표시 | ||
+ | * https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/ | ||
+ | * dCache에 디렉토리를 생성하기 위해서는 토큰을 생성할때 LIST 권한을 추가해야 합니다. | ||
+ | |||
+ | $ rclone --config=rclone.conf ls cluster142:/ | ||
+ | 0 aaa | ||
+ | 0 bbb | ||
+ | 0 data/ccc | ||
+ | |||
+ | * 다음 경로와 그 아래의 모든 파일을 표시 | ||
+ | * https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/ | ||
+ | |||
+ | ===== copy ===== | ||
+ | |||
+ | $ export RCLONE_NO_CHECK_CERTIFICATE=true | ||
+ | $ rclone --config=rclone.conf copy cluster142:/test.transfer . | ||
+ | |||
+ | * Source: https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/test.transfer | ||
+ | * Target: . (현재 디렉토리) | ||
+ | * dCache에서 파일을 내려받기 위해서는 토큰을 생성할때 DOWNLOAD 권한을 추가해야 합니다. | ||
+ | * dCache에 파일을 쓰기 위해서는 토큰을 생성할때 UPLOAD 권한을 추가해야 합니다. | ||
+ | |||
+ | ===== delete & deletefile ===== | ||
+ | |||
+ | * delete 해당경로의 파일들을 삭제합니다. | ||
+ | * deletefile 해당 경로의 대상 파일을 삭제합니다. | ||
+ | |||
+ | * dCache에 파일을 삭제하기 위해서는 토큰을 생성할때 DELETE 권한을 추가해야 합니다. | ||
+ | |||
+ | ===== mkdir ===== | ||
+ | |||
+ | 대상 디렉토리가 존재하지 않는다면 생성합니다. | ||
+ | |||
+ | $ rclone --config=rclone.conf mkdir cluster142:/data2 | ||
+ | $ rclone --config=rclone.conf lsf cluster142:/ | ||
+ | aaa | ||
+ | bbb | ||
+ | data/ | ||
+ | data2/ | ||
+ | |||
+ | * 다음과 같이 디렉토리가 생성되었습니다. | ||
+ | * https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/data2 | ||
+ | * dCache에 디렉토리를 생성하기 위해서는 토큰을 생성할때 UPLOAD 권한을 추가해야 합니다. | ||
+ | |||
+ | ===== rmdir & rmdirs ===== | ||
+ | |||
+ | * rmdir 해당 경로의 비어있는 디렉토리를 삭제합니다. | ||
+ | * rmdirs 해당 경로 아래의 비어있는 디렉토리들을 삭제합니다. | ||
+ | * dCache에 파일을 삭제하기 위해서는 토큰을 생성할때 DELETE 권한을 추가해야 합니다. | ||
+ | |||
+ | === 참고문서 === | ||
+ | |||
+ | * 마카롱 인증에 대한 좀더 자세한 내용은 아래 문서를 참고하세요. | ||
+ | * https://dcache.org/old/manuals/workshop-2018-05-28-DESY/macaroons.pdf | ||
+ | * rclone에 대한 좀더 자세한 사용방법이 궁금하다면 아래 링크를 참고하세요. | ||
+ | * https://rclone.org |
Latest revision as of 08:31, 6 December 2021
dCache에서 WebDav 프로토콜 및 MACAROONS 인증 사용하기
향후 GridFTP와 X509 인증을 대체하는 WebDav 프로토콜과 MACAROONS 인증에 대한 소개 문서입니다.
사전 작업
X509_USER_PROXY 변수가 있는지 확인하고 없다면 다음과 같이 만들어줍니다.
$ echo $X509_USER_PROXY $ export X509_USER_PROXY=/tmp/x509up_u`id -u $USER`
프록시를 생성합니다. 마카롱 토큰을 발급받기 위해서는 여러기지 인증을 사용할 수 있지만 일단 지금은 X509_USER_PROXY로 부터 마카롱 토큰을 발급받겠습니다.
$ voms-proxy-init --voms cms or $ voms-proxy-init --voms cms --valid 168:00 # 전송에 긴 시간이 소요될 것으로 예상이 된다면 프록시를 생성할때 유효기간을 충분히 늘려줘야 합니다.
마카롱 인증
권한
DOWNLOAD,UPLOAD,DELETE,MANAGE,LIST,READ_METADATA,UPDATE_METADATA
토큰의 유효기간
발급하는 토큰은 유효기간을 정할 수 있습니다. 오용을 방지하기 위해서 반드시 적절한 유효기간을 설정하기를 권장합니다.
ex) PT1H : 1시간 P02D : 2일
curl을 이용한 토큰 발급
$ curl -L --capath /etc/grid-security/certificates --cacert $X509_USER_PROXY -E $X509_USER_PROXY \ -X POST -d '{"caveats": ["activity:DOWNLOAD,LIST"], "validity": "PT1H"}' \ -H 'Content-Type: application/macaroon-request' \ https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/
{ "macaroon": "MDA0NmxvY2F0aW9uIE9wdGlvbmFsWy9wbm..............................................................", "uri": { "targetWithMacaroon": "https://cluster142.knu.ac.kr:2880/cms/store/user/dhhan/test/?authz=MDA0NmxvY2F0aW9uIE9wdGlvbm.....................................................", "baseWithMacaroon": "https://cluster142.knu.ac.kr:2880/?authz=MDA0NmxvY2F0aW9uIE9wdGlvbmFsWy9wbm..............................................................", "target": "https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/", "base": "https://cluster142.knu.ac.kr:2880/" } }
- https://cluster142.knu.ac.kr:2880/cms/store/user/{my_cern_id}/test/ 경로에 DOWNLOAD,LIST를 할 수 있는 1시간 짜리 마카롱 토큰이 생성되었습니다.
- 발급된 마카롱 토큰은 "MDA0NmxvY2F0aW9uIE9wdGlvbmFsWy9wbm.............................................................." 입니다.
get_macaroon을 이용한 토큰 발급
위의 curl을 이용한 예제와 동일한 조건의 토큰을 발급합니다.
$ get-macaroon --url https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/ --proxy --permissions DOWNLOAD,LIST --duration PT1H
Macaroon viewer: /u/cms/bin/view-macaroon === View deserialized macaroon === location Optional.empty identifier t30MLP8h cid iid:VOrX6iIR cid id:?????;????,?????;{KNU_ID} cid before:2021-06-22T07:40:15.030Z cid root:/pnfs/knu.ac.kr/data cid root:/cms/store/user/{CERN_ID}/test/ cid activity:DOWNLOAD,LIST signature 32e877749bbb88a9a3e5812f42abab1c54f8ebac0c33c90dca02bf882295f96c === End deserialized macaroon === https://cluster142.knu.ac.kr:2880/?authz=MDAxY2xvY2F0aW9uIE9wdGlvbmFsLmVtcHR5C.........
- 경북대에서는 --chroot 옵션이 기본값이 되도록 get-macaroon를 수정하였습니다. 따라서 발급되는 마카롱 토큰은 --chroot 옵션이 적용된 상태로 발급됩니다. 이용에 유의하시기 바랍니다.
- 접근할 수 있는 IP를 제한하는 조건을 추가할 수도 있습니다. 145.100.0.0/16 의 접근만 허용합니다.
$ get-macaroon --url https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/ --proxy --permissions DOWNLOAD,LIST --duration PT1H --ip 145.100.0.0/16 Macaroon viewer: /u/cms/bin/view-macaroon
- 좀더 자세한 내용은 아래 링크를 참고하시기 바랍니다.
- https://github.com/sara-nl/GridScripts
- https://github.com/sara-nl/GridScripts/blob/master/get-macaroon
view_macaroon을 이용한 토큰 정보 확인
마카롱 토큰의 유효기간과 정보를 확인합니다.
$ view-macaroon MDAxY2xvY2F0aW9uIE9wdGlvbmFsLm........
location Optional.empty identifier t30MLP8h cid iid:VOrX6iIR cid id:?????;????,?????;{KNU_ID} cid before:2021-06-22T07:40:15.030Z cid root:/pnfs/knu.ac.kr/data cid root:/cms/store/user/{CERN_ID}/test/ cid activity:DOWNLOAD,LIST signature 32e877749bbb88a9a3e5812f42abab1c54f8ebac0c33c90dca02bf882295f96c
- 좀더 자세한 내용은 아래 링크를 참고하시기 바랍니다.
- https://github.com/sara-nl/GridScripts/blob/master/view-macaroon
WebDav 프로토콜
WebDav 프로토콜 클라이언트 프로그램
이름 | 지원 권한 | 비고 |
---|---|---|
웹브라우저 | list, download | firefox, chrome, etc |
rclone | All |
웹브라우저를 이용하여 SE에서 파일 다운로드하기
https://cluster142.knu.ac.kr:2880/?authz=MDAxY2xvY2F0aW9uIE9wdGlvbmFsLmVtcHR5C.........
- 웹브라우저를 열고 조금전에 발급 받은 링크를 복사해서 입력합니다.
- Email 등으로 타인에게 링크를 전달함으로써 스토리지 엘리먼트의 연구 데이터를 쉽게 공유할 수 있습니다.
- 따라서 토큰의 생성과 관리에 유의해야합니다. (특히 삭제나 쓰기 권한을 가지고 있는 토큰)
rclone 사용법
토큰 생성
get-macaroon 으로 다음과 같이 토큰을 생성합니다.
get-macaroon --url https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/ --proxy --permissions DOWNLOAD,LIST --duration PT1H
- 경북대에서는 --chroot 옵션이 기본값이 되도록 get-macaroon를 수정하였습니다. 따라서 발급되는 마카롱 토큰은 --chroot 옵션이 적용된 상태로 발급됩니다. 이용에 유의하시기 바랍니다.
rclone.conf
설정파일을 다음과 같이 만들어 줍니다.
$ cat rclone.conf [cluster142] type = webdav url = https://cluster142.knu.ac.kr:2880/ vendor = other user = pass = bearer_token = MDAxY2xvY2F0aW9uIE9wdGlvbmFsLmVtcHR5CjAw.....................
ls & lsf
$ export RCLONE_NO_CHECK_CERTIFICATE=true $ rclone --config=rclone.conf lsf cluster142:/ aaa bbb data/
- 다음 경로의 모든 파일과 디렉토리를 표시
- https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/
- dCache에 디렉토리를 생성하기 위해서는 토큰을 생성할때 LIST 권한을 추가해야 합니다.
$ rclone --config=rclone.conf ls cluster142:/ 0 aaa 0 bbb 0 data/ccc
- 다음 경로와 그 아래의 모든 파일을 표시
- https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/
copy
$ export RCLONE_NO_CHECK_CERTIFICATE=true $ rclone --config=rclone.conf copy cluster142:/test.transfer .
- Source: https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/test.transfer
- Target: . (현재 디렉토리)
- dCache에서 파일을 내려받기 위해서는 토큰을 생성할때 DOWNLOAD 권한을 추가해야 합니다.
- dCache에 파일을 쓰기 위해서는 토큰을 생성할때 UPLOAD 권한을 추가해야 합니다.
delete & deletefile
- delete 해당경로의 파일들을 삭제합니다.
- deletefile 해당 경로의 대상 파일을 삭제합니다.
- dCache에 파일을 삭제하기 위해서는 토큰을 생성할때 DELETE 권한을 추가해야 합니다.
mkdir
대상 디렉토리가 존재하지 않는다면 생성합니다.
$ rclone --config=rclone.conf mkdir cluster142:/data2 $ rclone --config=rclone.conf lsf cluster142:/ aaa bbb data/ data2/
- 다음과 같이 디렉토리가 생성되었습니다.
- https://cluster142.knu.ac.kr:2880/cms/store/user/{CERN_ID}/test/data2
- dCache에 디렉토리를 생성하기 위해서는 토큰을 생성할때 UPLOAD 권한을 추가해야 합니다.
rmdir & rmdirs
- rmdir 해당 경로의 비어있는 디렉토리를 삭제합니다.
- rmdirs 해당 경로 아래의 비어있는 디렉토리들을 삭제합니다.
- dCache에 파일을 삭제하기 위해서는 토큰을 생성할때 DELETE 권한을 추가해야 합니다.
참고문서
- 마카롱 인증에 대한 좀더 자세한 내용은 아래 문서를 참고하세요.
- https://dcache.org/old/manuals/workshop-2018-05-28-DESY/macaroons.pdf
- rclone에 대한 좀더 자세한 사용방법이 궁금하다면 아래 링크를 참고하세요.
- https://rclone.org