-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsyncusers
More file actions
executable file
·113 lines (93 loc) · 11.2 KB
/
syncusers
File metadata and controls
executable file
·113 lines (93 loc) · 11.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!/usr/bin/env bash
set -eu
main() {
# Users and SSH Keys
add anish \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCj8Wl9lsvzX3Um92adpl3Ua8aWvOMxtF93vNtl+Ws8C1zR5X51/LIzWrRoR2CROpT+1ZprfzhmN3KbrcpLBXXV/S/RRh/aBCrcmnSUUqCGV/NV7oJ0omAQ6O0xxuYbeUow9ykSg3DmsbET+MQSS8S5WHZxCg2uvBPlxsiijZJH142CcGl9jFml6D/X/cS4jAuhrWIVQhvh+FOufEEd+GUHtYJ7jYFgN/5O1anIvB/GCKqKM9HL+e3wyc5pcNkY+GF2xtRJgP/ZSLlkpqJe64I6Rube549Dui7dB2/Pbi6gHq4t9JQri2NapQXU4pNfKRcunA714TvpEEXB6YuXZy+e5Dm8ppZFbSSToeD3fWErdkaA5538/1FAcfs/Bg+L+QDsG7i3C+EG8C3iSCSI12VxzNk8i1PyW2X4Ylx9XtwOkpVzF1qa/DE0HwaFY1zZHPQgiCAMrm4YpfjnQ/TkNbCCRg4m6z7IARGalS7KW07+ScKM6U+dP5X0sAdFGn6IUJRVktpXjeMJO4L2l7USzOrHbCWD9wM3/+qzVgjB9SxL2+4SdlZ8JpHEfqwVqpqw0GrnXZ2BuNdMBQ6QkeJhtWXdrd/7hmNSohK1o6W0UlWwKTF0GSIYc2tgt/4/J3DTTAGNzqvXf/zpmBOI98tUYG0NkBjLV2BcArJyEwsZmDiQ3w== me@anishathalye.com'
add andrew \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCkPRgWuT4PtqhALQd/eQec0LJ9oQRapHGZSA1+K/B69kUtYiz03GzytfQcFVPfByX0QYxm6XGRtDx8ymKlNZxeWXH6/EOgM7VcgRZNsEfVzlONI8xkcNXaTyt4cQ34VYzh20o1hiTGf3cu/biNCeHZUnY+G2GHd4jvIN7ofIfRxPTN65rtjG0BHgZqgGQN7eugLeBVvLa+x7y93MF5K2ox9vca/KzrplDELvNRzKcxP93YXrxfBGIzvZWpCm7IHEqOqoTZwo4JbfCgxMsrjsD5CvufJ0SWNBUN+IXlbEk2Fv6J8MSGjxlib8l1ysbQ2P5GvPB5s0m+iraFgWJmcRQtnxSN70OAYxDfKUABieXUukcal4z6KNjOAtLOX34mQzQFcjOQc8XZOOmLNhbYRNQoFmpYUMBXQdBtI7QKUvsV15EYWo+31PMHSzW1tam7fQXZqTKpwDAFILPiMppm0/gM0dJyAICeJTvL0rr20XASurZBuHmO/pmHH4m3fcl9HmBU3iyfOedL+nFPbLJGY2hE8AGagz7vuqEJZRnrNTqE3AVM7aUFNBqOZ3R448xJ9W4IvQvCxW0oQ9nQIE9icqtDPqz+jWTKevGXMwyfK28TdMmAlpU9LAB9TtYmU7cMRUqQCg1HkWfYX6eFGBa37HpiPmLyTZj9V/tpTBnJKaupow== ailyas@mit.edu' \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC+Rgy8WanhtKOPAAocGBbyuF0kGg6dktRwhLTfJMJCVs5YjVj6FQQiBxL/LEzXi4VSo83njqGyL22b0PFunC7m9c3TlP5bQaLispfRuWukqE1k58jI6CPUTmpB/E4KYIwyG0UXVJScjtvIwCIXJrEb9RwHZ+hiU1Gm8jgfk1ZytfQuipjP7tgD12sCF6uaDtYXRnEP07yOJ38dWX769CSrhmnLJGaAhEZAnldR0HeNh32DV0dNOMpiinGfZSZIAMLPYxlgwJn4wSfIckOF/TQVoJy7emI0unYvJ5uzhsE4K3cSs56X7YRBt8rPPFKkWHmSYQjGYYkZSQpFFOboxGAn40VtBb+Rb7aKd8B7ga7sw+gdLECZprFu12OYhizzxO1zNC45ZN+hiolFzr9E/1fiqK2Lo0dVarvMojN2VytLpqnWRIj41gwJuOlt9152bGO9kQsqLzeQ5P+GkKjKDLs1aPmkk7G5+3sb+Lz0hOtJIad0oh6urWfBgyfeHYTxL4eLLT+x/Ke7qG8SlBJmj6tTM1dtNIC5Vm32RnmzSK9Y4XNVL9RZHN6gQHPFd5fxbHnW7FM2E7VUO08PE0L01H0pJYWJEusyjPnUdtNH9D0IYMUDA7ILU/fiVjykI/025Vj7zk/UVuY8JanZc13B4YYHTjsmLZlX/d7vyaLUTytixQ==' \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCaQjPeO3ZWP7qDcEZ6vA6Zh4WArJsPs3a/B7Sid3M9pfa82yAylADQF6kjt9XCmqHqMWsI9CY4vtpoKfqImdGryoL4HIMlIvvRQ9kOQVSLmX67pI6sdErsvVM26XJA/HowsGxvG0acvaZK3ngsawpWWlk5oY1B5voNWQfby7lRT8yC8PSDFkOhgWKg2sJTJEX4KH50gEEQrjWMwgH0aL0b1zd0TAcOWDA8FhgPq6VywsAQQjqSSNARzGKL8rL/VGbYS+qV97X5ODg8AugMvehv1Si1+YFZwkbubHD9GDgYY1pmbj4r1rKVcyZLwf8J2tz2UvzUkfwCCnh4NzvzFY1nzJilGWksvdKVqQ6kMt7j+bfW8KmMTXAfQlMOBv0Xaye7rvhRoAGtCFjhE8EOPBDmJG7d4iW88gbigTwYtGAqgI3xCswXyfYs7I4BIny605Wf1IibOROEwQ9Y4bAPNYOlEhwbLdigWIfyHijBR/dKZ1KJ/+wSqee7CYf0/H2nzVNEklujTqY/ZZUWr+fPflETXZz4wrAvTVJY0RRG/RV7V9/ybdAy4sk0WjVDqz6kf1t7nLhcUckvu/xS6UA6sfRbEquPBUksv54xkLlv8Cu5ARnWa27WUi+6H0MvjpbDcnwdS028VyA4om2iL0pjEiA6pQIGr7zY+vsNlPr4kt6kTQ==' \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7eA4GAJNpyFzY4C5o41dbs56OYDSvWhQ24q1A0k5yd7H35ibZBQZRdEzBE1IEIBUR6gWRjSGzc2+1K2jr4+1ZXzoSrMwzPL4VI+rqVxW0+uT5oS1wQOM6gAZSk4ouzkRwe8bnIBugW30xXuZpzBASs8UNHeHO0krX7mMnt9b8WRKHrtZQCQaAEVheLtUHPOrTJyY4MHYRbgI1VhbsqHwDDGbbowCG8qcWByMNKBy2GaYnjVuAameB6mBL68l48nJysNT9wTpGYSynGj5jBPq3sgZ2Yh5J8VngwXXB/0fM5One2vx90uTPbJTeldeuAv1zJtC32W72z0tCZvMa0PuN ailyas@dhcp-18-189-113-162.dyn.mit.edu'
add logan \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDl48Ic6jLYBY/DkqG7v3LtNnfjfN5+nZ54FntCppksGIym2MXtT/v9JNBfJe1ISDgqxnoWCmqoHgVyAF9bjjCgAlRcMfQWg3GTM7dHi6vjkcSJN7EwQaqY6fWeIdSPqDA8w/HwX9s8MSvbxLLXrvPEl4TFW2KvH+oWZAXaXCP4UYuLH0/S9MiKRLyhvf8w1/Xh75IW98Vns21dJeryU9SojtOHbaHahvKMezJWZk+mUL5/L0SVyxFjltSibk7ZqpEExu/MDajBods0gVqHD1szCro6n1A8iXriWFKs1ElvlbcSCWSh8Pt1ZCC5GD1RBWrRNQWJHcs/o8N9InunNmL engstrom@sox2'
add jessy \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDT2VyLxwLsK8W67TMZPXVlcw4eeIaGlNweslJzk6ydI/hTbbcWS3oIu3RJE06NIgndvOEVbMN8uATK5Y6wuStbw8nEMkmGFy1WrOLcDUQzrgwyRYkhzSwzyplSimBxlNaL2knM57DK3W3yJ2m7h9z2/q0b2MMjyfx75yX4/tBlZykK9oKHUHXTb6vj8n2hvnSgjARzbNzDLoygqFiKqMPOzh8uIPD9kQUA5ixUN71FANpPBEglMU42xJG5NjJ2YrM2Qv+2de1Y2oTbpM2sjcmqWQdjKfzAbicrvrDK++BYGvcehFLDoAccnuctNjt/7hcfBAqmkUml5aIolLHe5HN3 jessy@dhcp-18-189-47-97.dyn.mit.edu'
add kevin \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDqVZti7BCiCEqJ6DGl4kGF2QQKXebRUKVOZTpsas/YEaaz9Mmf0SYXfMt3JiXlP3YzRNSK1RtRRcvXbncLvkuTVamFTuV9KfOQw13FRqdCvX7sUP1YtQHq48A9m98/1ybMVbTMUZ5yS8Vx/Z+6k1OVQrbiF9Nmi7/8X8hrzd5isiFMMgGw8AD2agTi0OzJr+328qzDdfblb/YCAGa5gBGJaJQTDWQFHMDLC+7dqdInJcc2E4Zrklo1ueOotkUBnRqpWGqhl7AgEdd5x5TCHVnemvPigBXlO4ioCu+ez4Vz6awPQo63f/Fvn6CYnW/RwTTdbIgj5uYDSmdzIYw/1Gxr kevin@Kevins-MacBook-Pro.local' \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCppXmuOfiT5lLCbRQg/jh6Uk2Dp+E074xhk6I5xmP849n7mSRxEBqMsgJzvpctXlrUnq9wSzg/DrUwGX4UOB77RYIP8BlzHxxkr2BQWejp/9feHDxaGgKQnjN0nZXgHif1rhfNXhFog7pYf9CquzbWFy3uOvejEEgGB8FRb2LRG0cHoc5tXCXxcBFa3c3KzavHAhTuklz950cNRYHx2UPz15sRxkbzbLXvGulnxsAexJj/aL3n6ryFPnOHpPERT9DaIxqlC2XysHonb1iXHTGiI7d0ZC2mx/Zcj996wedEDdoj9lFzfOBaN6Kjmcq8Wt8nMltJ0mVh/NyG1uHXUQwP kevin@Kevins-MacBook-Pro.local'
add curtis \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDhS5q7IDpHUwbqStzk12Hjbn+jo5Y5Brt50TenmvDsGa/vA1Ra4IS7FKb6iZKjW9wcspgkkeIIWAyFW5qS5cEIElmaWvqgswwadp8riksMWaFwFLqY9ywZ/C/t12KUXTcsJSH3Veyiiw8L4MMXDVh8qS2oHPMKkKHzuC78y7Ho7UtYuwVWweyXyMbsel/kluf/QZEq0N+AxjfUMhizgqUqraHqtbrjYisjcxICAFc1We/Hp4HF2Qq6wWr/52Jr2yWVhmaWSm21IcCzxP2yNKrcCVzZtI7nV79HqMkxg9E3pF6lnNpxC/DRyNjrVktLmpWWefBEix3lpfXoC+fupLHqhfzANQom9llGL1/48A0IrIrOE6Tz00f/K/v7gzjjXMb7SLpWXsqJuJpY6AdTNy9mBoyeki59i2KX/PkVWYWUEuhU7v8B37uLYr6gU8frJJ4/DMOfr5iccDwfoWu4CEqsHAYIXnEthZbTLxHrjUf/s83EZyVgMs4t0FIGtaNclcqrBYJ7i4IVqhUIEvpNnRd/yCt9MBa4D2Inn72wx1gMqiBp+Ql23hmPiEWfPTCVAMezxGeYxrzbA3O2rxCPkvPQ16PXAHNs+AosMVKIqudqfQgR+x1dDDJZ0n3bUskJ1gPhedChOlF/7QPlz12ILSIeX6QWq01gvv0qPMQVds2HnQ== curtis.northcutt@gmail.com' \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCS5Uf4LJYwYRTsxW2MA0Mr3p87SCi2SB2r31iLyDYoUptAXvSXZO/CR3MaDI/pVPT7AiLR+Qwm6f8NrgxV+KnqT/8lNRsIu0Gzh+8YjSewX3WGR6xTv5nTr1QxPV96Fmd/7Zg1j5jNB3O4ITo2/ts6Zag5rViKGqRys0m7GI7lg+t/RYE88i/tkGWJIarKnInfcEyLoL20uD2v9XCsZs14vh7uYcOM98tzTDFSLKwvhUk0dKhmAyUQiMysvG8MlCC287h/8TfGlHD7uJht5hndRceHuUNJa03iB+FXYUIJrOBt+wPPQROuNqZ/chcefbQ8s7BIZMzr92ygkXSQ08Ua6Shgue65E90lN/Qc+ZiPv+vTmixSulrl08oA5PoznZA525v8413M4jo1WYyA/7AqN5E8fXHbXE3CpSJ/uH2vIEY3l6kfko3ecANjFPyqaOl+v7d0S1YIMRpl0PL00d27o4KQjIPBehNamrnXQYo+ElJ2IZjeVvgfe9GRvWgJ4xrxGDtk9b0JmWZlMOwm0gEDOkLdzZ+/asLBZa3Txj3EhLdpO7Z/yrCPE13NwvSGHrR7zooB0qsrGtGO0xc4X5+jyfjtqMHaDd9WQlo4ItEQBtpJNoQIB3BkcZWYark7y8491WffO/hzSLLbD8fEtkGhHeLdS/RX6V+2l62N+6PyrQ== curtis.northcutt@oculus.com' \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDW8qc+W5lmpqJZBqg7uTq7c7/DMDEUFJFk/q+VCRnXNLP+N2JCY3itOWJlfKl/KkW6lEiqH78TLyG+ztkz1HQeUyN2CyizJM0EQl832/iAXSpypZ6U55HvOCBGn3MsHe6+6eErU1BFcv/cgB5x4GKLihQMMLWbvq3UCLE1lRWA6RE3d0KChyUUoqHU2QWhq2k9shhmWnG4VLv/gjws1wzJ22EWm9gJ/ih60DP+VUtzeGyZkDSbsmI50PRl3c+O/U+rhNwvu9kk4DASh9Kz61NzdKKxT9IoXva9V1k2s3F4TT9JRyIGUHsHmCL4DSJqlw0/ZcxIgcgRnrQ5jkwKdnvBina9O76WGPx6w7E03OfpD1MjY+sY+KNnn0LTRtgcBAZD6a7FUbUaZ4D5LoBTWHcgQpdbaYd6UM2w1tO9Cp6kcnCgqp/+VLplAGwiXd2hmzpayY232TeH5sVW/9BcGgxDa1tEPLPc1uYr/m2d2xwikVqHZxKzJ8SUE+zpT/PS0v7w8v2Qa0fjl/RS1OX1N10owvk15ONKFHjzsEAmWK0NheqDUmROINr6LUg34sdF5EFTWkWvCjS4rnBwhLgYMFZmEAzSPD9NoQcrX/g5MkWqKwm9ipoLbjbFmImudfDMqHx1D5Y67snvXJWQRp9C0eyjKTvb0nT5IvhadU1udMnedw== curtis.northcutt@gmail.com' \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDEtx6pq9QXt37V7ZJmcp1mW7CLGu3mjFlRoF1E88LM+pvVGQrTawCgNNphJwadu7Pd95Umov/U5dLez24BDja1JaXi9GLFG0xd39YztWqzOCOEyz/Eu2VwHu2luUqd5eK/PYU8WkqdUAijVIxd1z8z9SRgH4SBQK3mSw2qIZrzWe3y/0OK8CqB0GBjr/X0nAuxT367+PnGnB0PhArUDWLWUqQeLyu4xHcJ/lr9VvHj8M1atmD+hHOpEnIcxvkUyl7xhU0BbDMfWI0cMaS0RjPG6qLK/NRC1uyDEX4jRC7tP4QxXtWcWLrXph10ipplk4MdB0ImzOViWFtuxnkPvn48VD6k5gm1VbU8OSNdx8htu9KHXOY0cuX5/IgWQUK1SVAOq4mD2FfaRz2o8WaDV0JFo7kF9kEM52AwdJUbtyVfIR+qQuhuCdFTY6MsQPdjVKYVwxycxupckhV2xob9X+F8LZGXngDavN1gz2J9yF2CHEdAzl6xFJ86AJIc5aTG5lLApwdiFD2bV0nfn+a51r8sh0YMrwEAbB4tbWTBwch8/TrtXmovHLTSp9nBv7PWB8Z/VkwvjvZ/VSLk7T7deVRNhSVL5A76WjK4GITHXR2fRF/gU9by0QYq7jQWbeSvFZNbx1GB1u8ZchJnBcl0HUUZOPTsU8mLBzXg7WY2i3ewmQ== cgn@mit.edu' \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFf4PNCbz7IZfRz9t8e60ZpKRY7EepZGOH9//lNANzLY+UaepTYmX+D0+ZMP1+eu/6rWBb8YE1/EqWa82CUWnMYZOXCRnXy/C/CvmQGe0ftGJUC3vuLY40QSYqmZ+YkpkaCVpZKCNnzLKVAbsyw17QOfjKxXncV+8xeZA8GJO3KjW04GgHv1HiseDo/nsU6mw4GI+aTJG6gDEZ3SFbJk3cxYpusnQ7Za3C7gby/Fb00rMwWxYQe6Mnlzi50Z+SqcxYDA9FgDKTWuyHmQBrkmuPs5hQ5bHBHGWOjULxMeABfwX5DX/ewT2gCQJS+m5ZIoLQA3vG0/duXS/5T2Hlq6y/ curtis.northcutt@gmail.com'
add lan \
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDa65C38F4BJrZxixRmtg3t4ccFfd6jnL2SZcGUmp/vYRXyvgB739dR9Gp/Kum2n7MZ7832KhjUWC3Xyq5IFvkZgIZyIBOslap8d5dfRbmB2y06iIC50alof3rjTCbXals9DQ/nWnurcy1Zulip5y64FPKxwIroFr3r2ezOSxZFGM/aaqBKmaYe9rUDcx8AjrWQbKHgcvaBFSI6URgAE60iZ0h3urCaFZ1/XSdeqmTrZkEYNSbOJJmWaRe6jwiXfvCR5GuC0ZsLdtOwIdrkD4O+VWUc1yaKfffyoDGz5nOM2gb0ALYQUGpeEAidTUaGSek1pUzm+1PtaPBfG2HAcUZ8WCtnqahzGg0ySVOl2EyjdklQwqHGUms9GXviCkdTMdaTqAyjTTNkwlbMlPrqK2YupcW4yUP0bPLaNsBitxJZni6brN2S55mm9Rxc+dAWLJ0lD58D0sf0C+Sevm+e0Q2Vc1HwkjjrBt/zj9ikSnTVVDN0Mn8z954++rDuqutcgI8QCgCMlOenj6oTmmNruBQrpBU5eGNc/CtdZIQohNeQx74ww3JbxNXHlBTPoH+BR67FWTH1v7r/kpbrfM6rQfLvXwZE+9J7LeEM7VZlscUtYcRSi1IhUt26PCLnWajxeFFU4mbOsBOcL+6pAXV++a4F/uClfbwWHJNzDqC0aVFtKw== marzoev@mit.edu'
# Sudoers
#
# Feel free to add yourself to this list, but keep in mind that if you want
# sudo powers, you're responsible for being careful to not break boxes, and if
# something goes wrong, you're responsible for fixing it.
mksudo anish
mksudo logan
mksudo andrew
mksudo jessy
mksudo curtis
mksudo kevin
mksudo lan
# Removed users
#
# Make sure to keep this up to date -- it's important for security.
remove mshumikhin
remove bristy
}
check() {
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
if ! grep '^PasswordAuthentication no$' /etc/ssh/sshd_config &>/dev/null; then
echo "Disable password login in /etc/ssh/sshd_config and then rerun this script"
exit 1
fi
}
mkuser() {
local username=$1
id -u $username &>/dev/null && return 0
adduser --disabled-password --gecos '' $username
# this is only safe to do because we disable password login on all our
# machines
passwd -de $username # make empty password
}
add() {
local username=$1 && shift
mkuser $username
mkdir -p /home/$username/.ssh
local old_keys=''
if [ -f /home/$username/.ssh/authorized_keys ]; then
old_keys=$(cat /home/$username/.ssh/authorized_keys)
fi
# we read the keys into a variable first so we can write back to the same
# file
(
printf '%s\n' "$@";
echo "$old_keys"
) | sed '/^$/d' | sort | uniq > /home/$username/.ssh/authorized_keys
chown -R $username:$username /home/$username/.ssh
chmod 644 /home/$username/.ssh/authorized_keys
echo "Synced ssh keys for $username"
}
mksudo() {
usermod -aG sudo $1
echo "Granted sudo privileges to $1"
}
remove() {
# we're purposefully not passing '--remove-home' / '--remove-all-files'
# because we don't want to accidentally lose important data
if id -u $1 &>/dev/null; then
deluser $1
fi
echo "Ensuring removed $1"
}
check && main