qq fs_walk_tree command.Examples
To Recursively Add a New ACL with Multithreading
For this operation, you must run the qq fs_walk_tree
 and qq fs_modify_acl
 commands.
- 
    Ensure that the jqtool is installed on your system.
- 
    Run the qq fs_walk_treecommand and use the--pathflag to specify the path for the ACL. To extract the path for each item into an array, pipe the command to thejqtool. To modify the ACL for each path, pipe the command toxargswhich in turn runs theqq fs_set_aclcommand on each path. For example:qq fs_walk_tree --path /my_path | \ jq -r '.tree_nodes[].path' | \ xargs -d '\n' -I % -n1 -P 4 \ qq fs_modify_acl --path '%' \ add_entry -t "DOMAIN\my_username" \ -y Allowed \ -r "Read" "Execute/Traverse" \ -f "Object inherit" "Container inherit"
To Recursively Apply a Permissions Template
For this operation, you must run the qq fs_walk_tree
 and qq fs_modify_acl
 commands.
- 
    Ensure that the jqtool is installed on your system.
- 
    Use a new or existing file with the necessary permissions to capture the ACL and save it in JSON format by using the qq fs_get_aclcommand. For example:qq fs_get_acl --path /path_to_acl_source \ --json >/history/new_permissions.json
- 
    To apply the captured ACL, run the qq fs_walk_treecommand and use the--pathflag to specify the path for the ACL. To extract the path for each item into an array, pipe the command to thejqtool. To modify the ACL for each path, pipe the command toxargswhich in turn runs theqq fs_set_aclcommand on each path.qq fs_walk_tree --path /my_target_path | \ jq -r '.tree_nodes[].path' | \ xargs -I % -n1 -P 4 \ qq fs_set_acl --path '%' \ --file /history/new_permissions.json >> &>/dev/null
To Recursively Modify SMB Attributes
For this operation, you must run the qq fs_walk_tree
 and qq fs_modify_acl
 commands.
Run the qq fs_walk_tree
 command and use the --path flag to specify the path for the ACL. To extract the path for each item into an array, pipe the command to the jq tool. To modify the ACL for each path, pipe the command to xargs which in turn runs the qq fs_set_acl
 command on each path.
qq fs_walk_tree --path /my_path | \
  jq -r '.tree_nodes[].path' | \
    xargs -I % -n1 -P 4 \
      qq fs_file_set_smb_attrs --path % \
        --hidden false
Description
Walk file system tree
Usage
qq fs_walk_tree [-h] [--path PATH] [--snapshot SNAPSHOT] [--file-only | --directory-only | --symlink-only]
    [--display-ownership | --display-all-attributes] [--output-file OUTPUT_FILE] [--max-depth MAX_DEPTH]
Flags
| Flag Name | Required | Description | 
|---|---|---|
| --path | No | Tree root path | 
| --snapshot | No | Snapshot ID to read from | 
| --file-only | No | Only display files | 
| --directory-only | No | Only display directories | 
| --symlink-only | No | Only display symlinks | 
| --display-ownership | No | Display detailed owner and group information | 
| --display-all-attributes | No | Display all attributes | 
| --output-file | No | Output a file at the specified path instead of stdout | 
| --max-depth | No | The maximum layers to traverse down the tree, starting from the path specified. For example, if the file tree is /dir/file, running the command with max-depth of 1 from root will yield / and /dir | 
