Understanding Default Modes
When user creates job or variable, it inherits their default modes. Default modes determine initial permissions.
System defaults:
New users get system default modes. Each user can customize if they have Change default modes privilege.
Default Modes Components
For jobs:
- Read, Write, Reveal
- Display mode, Set mode
- Assume ownership, Assume group
- Give away owner, Give away group
- Delete, Kill
For variables:
Same modes except Kill (jobs only).
Each mode has three settings:
- User (owner)
- Group (owner's group)
- Other (everyone else)
Typical Default Modes
Standard user default:
User Group Other Read Yes Yes No Write Yes No No Reveal Yes Yes Yes Display mode Yes Yes Yes Set mode Yes No No Assume owner No No No Assume group No No No Give away owner Yes No No Give away group Yes Yes No Delete Yes No No Kill (jobs) Yes No No
Meaning:
- Owner has full control
- Group can see and read
- Others can see it exists
- Only owner can modify or delete
Viewing Default Modes
Own default modes:
bash
btuser -d
Shows your default modes for jobs and variables.
All users' defaults (requires RA privilege):
bash
# In btuser # View user list, press 'c' on user to see their defaults
Changing Own Default Modes
Requires: Change default modes privilege (default: enabled)
Command line:
bash
btuser -m
Enters mode editing screen.
In btuser:
- Navigate to your user
- Press c (change modes)
- Navigate through permissions
- Press s to set, u to unset, t to toggle
- Press q when done
Setting System Default Modes
Requires: Write admin file privilege
Sets defaults for new users only.
In btuser:
- Press C (capital - system defaults)
- Edit modes as desired
- When finished, prompted:
Copy to everyone else (but you)?
- Reply Y to copy to all existing users
- Reply N to only affect new users
Common Default Mode Patterns
Private Jobs/Variables
User Group Other Read Yes No No Write Yes No No Reveal No No No Display mode Yes No No Set mode Yes No No Delete Yes No No
Use case:
Security-sensitive environment, personal work.
Setup:
bash
btuser -m # Set all Group and Other to No except Display mode
Shared Team Work
User Group Other Read Yes Yes No Write Yes Yes No Reveal Yes Yes No Display mode Yes Yes No Set mode Yes Yes No Delete Yes Yes No
Use case:
Collaborative team, group manages jobs together.
Public Read
User Group Other Read Yes Yes Yes Write Yes No No Reveal Yes Yes Yes Display mode Yes Yes Yes Set mode Yes No No Delete Yes No No
Use case:
Status monitoring, reference data everyone reads.
Restrictive Default with Manual Sharing
User Group Other Read Yes No No Write Yes No No Reveal Yes No No # Very restrictive Display mode Yes No No Set mode Yes No No Delete Yes No No
Use case:
High security, share explicitly when needed by changing individual job/variable modes.
Mode Inheritance
When user creates job:
bash
# User jsmith creates job btr script.sh # Job inherits jsmith's default modes # Modes can be overridden at submission: btr -M "rwu:rwg:ro" script.sh
When user creates variable:
bash
# User jsmith creates variable btvar -c status "Ready" # Variable inherits jsmith's default modes # Cannot override at creation - must change after
Coupled Modes
Some modes automatically grant others:
Write grants Read:
Setting Write automatically sets Read (can't write without reading).
Read grants Reveal:
Setting Read automatically sets Reveal (can't read something invisible).
When editing modes:
These couplings enforced automatically.
Administrative Mode Management
Viewing all users' defaults:
bash
# Generate report btulist -v > users-report.txt
Setting defaults for user group:
bash
# Example: Set collaborative defaults for team
for user in alice bob charlie; do
btuser -m $user <<EOF
# Set Group permissions high
EOF
done
Note: Mode setting via command line limited. Better to use btuser interactively or write script using btuchange (though mode setting options limited).
Best Practices
Match defaults to environment:
- Security-focused: Restrictive (private pattern)
- Collaborative: Open to group
- Mixed: Standard defaults, users adjust as needed
Educate users on modes:
Explain what default modes mean and how to change individual job/variable modes.
Use Change default modes privilege:
Enable for standard users (default) so they can customize their defaults.
Review system defaults:
When onboarding new team, review if system defaults appropriate.
Test before wide deployment:
Create test user with new defaults, verify jobs/variables behave as expected.
Document mode policies:
Write down standard modes for different user types in your environment.
Avoid over-restriction:
Too restrictive makes collaboration difficult. Balance security with usability.