협업을 위한 서버 환경
1. user/group
1.1 Group 생성
협업할 사용자를 만들기 전 해당 사용자들이 속할 그룹을 먼저 생성한다.
sudo groupadd groupname
1.2 User 생성
sudo useradd -m -c "User Name" -s /bin/bash -G groupname username
위와 같이 특정 그룹에 속하고(-G) 특정 Shell을 선택(-s), "User Name"이란 커멘트(-c)를 갖고 있고 홈 디렉토리 아래 디렉토리를 생성(-m)하여 User를 생성할 수 있다.
User를 생성하는 방법은 아래 두 가지가 있다.
- useradd
- adduser
위 두 명령어의 차이점은 홈 디렉토리에 User 이름으로 디렉토리를 생성하느냐 안하느냐의 차이밖에 없다. 위의 예제에서는 useradd를 사용하였다.
1.3 User 수정
혹시 기존에 User가 이미 있고 해당 User의 Group을 바꾸고 싶다면 아래와 같이 한다.
sudo usermod -a -G groupname username-a
- -a: which adds the user to the supplementary group.
- -G: specifies the group name.
2. sudo 권한을 가진 user
sudo 권한을 가진 User가apt
명령어를 통해 필요한 프로그램을 설치한다. 이 중anaconda
의 경우 다수 사용자가 사용하기 때문에 특정 계정의 홈 디렉토리에 생성하지 않고/opt/
같은 곳에 설치한다.
2.1 sudoers
만약 sudo 권한을 가진 User를 생성하고자 한다면 아래와 같은 명령어를 사용한다.
usermod -aG sudo newuser
또한 아래 명령어로 확인한다.
sudo visudo
2.2 anaconda
설치 과정 중 어느 곳에 설치할 것인지 묻는 곳에서/opt/anaconda3
를 작성한다. 그러면 sudo 권한을 가진 해당 User가 Owner가 되어 설치된다. 따라서 누구나 사용할 수 있도록 해당 디렉토리의 Group을 아래와 같이 바꿔준다.
sudo chgrp -R groupname directory
sudo chmod -R 2775 directory
위와 같은 방법으로 Setting을 하면 여러 명이 함꼐 사용할 수 있는 서버 환경을 구축할 수 있다.