From Team 449 Wiki
The CAD server is a DigitalOcean server we rent to host our CAD files for collaborative editing, because Autodesk Vault, A360, and GrabCAD Workbench all have problems and we thought we could do better. The URL is fs.team449.cf.
How To Use
Creating an Account
To make an account, politely ask the current system administrator (if you don't know who this is, it's probably the person who talks about how much better Linux is the most) to make you one. Usernames are formatted as the first two letters of your first name followed by your entire last name, adding more letters of the first name if necessary to avoid a duplicate. Passwords must be at least 10 characters, and include at least one of each of the following:
- Uppercase letter
- Lowercase letter
- Non-alphanumeric character
When an administrator first makes your account, they'll email you a random 10-character password you can use to initially log on. Make sure to change your password immediately after!
Changing your Password
First, log on to the server. If you can use a unix terminal, cygwin, or minGW, just type
ssh firstname.lastname@example.org, replacing
username with your username as described above, and enter your password when prompted. If you don't have any of those, download and install PuTTY. Enter
fs.team449.cf as the Host Name and keep SSH selected for the connection type. Click "Open," then enter your username and password when prompted.
Once logged on, type
smbpasswd to change your password. Enter your current and desired passwords when prompted, then type
exit to log off of the server. Your password has now been changed!
Connecting to the Server
This part must be done from Windows. Open File Explorer and click on "This PC," then click "Map Network Drive" (pictured). Set the folder to
\\fs.team449.cf\fileshare and keep everything else as the default, then click "Finish." Enter your username and password in the box that pops up, and make sure to check off the "Remember my credentials" box. You are now connected to the server!
Using the Server
It behaves like any other folder on your computer, so just go ahead and start using it!
How to View
Follow the instructions in "Connecting to the Server," but with the username as
viewer and the password as
How To Administrate
Instructions on how to do admin stuff.
Creating an Account
When a user politely asks you to make an account for them, first make a unix account for them on the server using
sudo adduser --shell /bin/rbash username, and enter a randomly generated password that meets the specs described above for the initial password. The
--shell /bin/rbash part makes the user's shell Restricted Bash, which prevents them from using
cd or any commands outside of PATH. More info here. However, Restricted Bash isn't very restricted by default, because
bash is in the default PATH, so the user can just run
bash and get an unrestricted shell. Because we only want the user to be able to run
sudo nano /home/username/.bashrc to edit their bashrc and add
export PATH=/usr/local/pwchange to the end.
/usr/local/pwchange currently contains only a symlink to
/usr/bin/smbpasswd, but you can add more commands to it if you want. Make the
.bashrc immutable using
sudo chattr +i /home/username/.bashrc so it can't be edited at all. This setup was inspired by this Unix & Linux Stack Exchange post.
Next, set up the user's Samba account with
sudo smbpasswd -a username. Use the same random password from before as the Samba password. Use
sudo usermod -a -G public username to give them default permissions.
To allow a user to access the Samba share, add them to the
public group with
sudo usermod -G public -a username.
Finally, enable password login for ssh for the new user. Edit the ssh config with
sudo nano /etc/ssh/sshd_config. Scroll down to the part that says
Match User chrwang,nogleason,[some other names] PasswordAuthentication yes
Add the new user's name to the end of the list of names. Finally, reload the ssh settings with
sudo service ssh reload, and email the new user their username and password.