
# 使用obsutil实现目录分享
目录分享允许桶的拥有者将桶的目录或者整个桶以授权码+提取码的形式分享给其他用户。获取到授权码和提取码的用户，可以在授权码的有效期内通过OBS提供的工具（OBS Browser、obsutil），或者直接在浏览器上输入授权码进行对象的列举和下载。
obsutil提供了三个命令用于实现目录分享的功能，具体步骤如下：
1. 使用**obsutil create-share** 命令创建目录分享的授权码。例如分享桶名为bucket的test目录并设置提取码为12345678，有效期为10天的命令为：
   
   ```
   obsutil create-share obs://bucket/test/ -ac=12345678 -vp=10d
   ```
   ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
   - 建议创建授权码时，待分享的目录总是以"/"结尾，如果没有传入待分享的目录（例如上述命令中传入obs://bucket），则表示分享整个桶。
   
   - 如果未使用ac选项设置提取码，obsutil工具会以交互模式提示输入提取码，且提取码必须为8位。
   
   - 更多该命令的使用细节，请参考[创建目录分享的授权码](https://support.huaweicloud.com/utiltg-obs/obs_11_0062.html)。
    
   
   
2. 使用**obsutil share-ls** 命令根据授权码和提取码列举桶内对象。例如使用授权码列举桶内test目录下的前100个对象的命令为：
   
   ```
   obsutil share-ls file://d:/authorizationCode.txt -ac=12345678 -prefix=test/ -limit=100
   ```
   ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
   - 如果prefix选项未设置，则默认列举授权码中授权路径下的所有对象；否则，prefix选项必须是授权码中授权路径的子集。
   
   - 更多该命令的使用细节，请参考[授权码列举对象](https://support.huaweicloud.com/utiltg-obs/obs_11_0063.html)。
    
   
   
3. 使用**obsutil share-cp** 命令根据授权码和提取码下载桶内对象。例如使用授权码将桶内test目录的sub子目录下所有对象下载到当前本地目录的命令为：
   
   ```
   obsutil share-cp file://d:/authorizationCode.txt ./ -ac=12345678 -key=test/sub/ -r -f
   ```
   ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
   更多该命令的使用细节，请参考[授权码下载对象](https://support.huaweicloud.com/utiltg-obs/obs_11_0064.html)。
   
   
![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
- 您还可以使用OBS Console或OBS Browser创建授权码后，再使用obsutil列举和下载对象。
- 您也可以使用obsutil创建授权码后，直接在浏览器地址栏上输入，或通过OBS Browser的授权码登录功能进行对象的列举和下载。
 
