Skip to content

Instantly share code, notes, and snippets.

@xfun68
Created May 23, 2013 12:22
Show Gist options
  • Select an option

  • Save xfun68/5635677 to your computer and use it in GitHub Desktop.

Select an option

Save xfun68/5635677 to your computer and use it in GitHub Desktop.
### Create two users and their primary group and home directories
root@panda:~# groupadd awesome-user
root@panda:~# groupadd jenkins
root@panda:~# mkdir /home/jenkins/
root@panda:~# mkdir /home/awesome-user/
root@panda:~# chown -R jenkins:jenkins /home/jenkins/
root@panda:~# chown -R awesome-user:awesome-user /home/awesome-user
root@panda:~# useradd awesome-user -g awesome-user -d /home/awesome-user
root@panda:~# useradd jenkins -g jenkins -d /home/jenkins/
root@panda:~# passwd awesome-user
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@panda:~# passwd jenkins
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
### Create testing files for each user
root@panda:~# su - awesome-user
$ date > test-awesome-user
$ logout
root@panda:~# su - jenkins
$ date > test-jenkins
$ logout
### Try to modify the other user's file, and get failed
root@panda:~# su - awesome-user
$ pwd
/home/awesome-user
$ id
uid=1001(awesome-user) gid=1001(awesome-user) groups=1001(awesome-user)
$ date >> /home/jenkins/test-jenkins
-su: /home/jenkins/test-jenkins: Permission denied
$ logout
root@panda:~# su - jenkins
$ pwd
/home/jenkins/
$ id
uid=1002(jenkins) gid=1002(jenkins) groups=1002(jenkins)
$ date >> /home/awesome-user/test-awesome-user
-su: /home/awesome-user/test-awesome-user: Permission denied
$ logout
### Modify user's group to enable them to modify each other's file
root@panda:~# usermod -a -G jenkins awesome-user
root@panda:~# ls -l /home/jenkins/test-jenkins
-rw-rw-r-- 1 jenkins jenkins 29 May 23 18:20 /home/jenkins/test-jenkins
root@panda:~# su - awesome-user
$ id
uid=1001(awesome-user) gid=1001(awesome-user) groups=1001(awesome-user),1002(jenkins)
$ date >> /home/jenkins/test-jenkins
$ cat /home/jenkins/test-jenkins
Thu May 23 18:20:44 CST 2013
Thu May 23 18:23:30 CST 2013
$ date >> /home/jenkins/test-jenkins
$ cat /home/jenkins/test-jenkins
Thu May 23 18:20:44 CST 2013
Thu May 23 18:23:30 CST 2013
Thu May 23 18:23:37 CST 2013
$ logout
root@panda:~# usermod -a -G awesome-user jenkins
root@panda:~# su - jenkins
$ cat /home/awesome-user/test-awesome-user
Thu May 23 18:20:54 CST 2013
$ date >> /home/awesome-user/test-awesome-user
$ cat /home/awesome-user/test-awesome-user
Thu May 23 18:20:54 CST 2013
Thu May 23 18:24:29 CST 2013
$ logout
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment