$ /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
...
$ passwd username
$ userdel username
$ groupdel groupname
$ usermod -s /usr/sbin/nologin username
useradd
: Linux 시스템의 표준이며, low-level command
adduser
: Ubuntu에서 사용하며, high-level command
useradd
와 adduser
둘 다 사용해봤는데 adduser
로도 충분히 가능하여 adduser
로 작성한다.
$ adduser --home /home/username \
--shell /bin/bash \
--uid uid \
--ingroup groupname \
username
group이 제대로 안들어갈 경우
$ adduser username groupname
$ ssh-copy-id -i .ssh/id_rsa.pub username@hostname
$ vi /etc/sudoers
...
username ALL=(ALL) ALL # 추가
...
Password 입력하지 않도록 추가할 경우
$ vi /etc/sudoers
...
username ALL=(ALL) NOPASSWD:ALL # 추가
...
PasswordAuthentication
: SSH 서버에서 password 인증 방식 비활성화 (-> public key 이용하여 인증)
PermitRootLogin
: root 사용자가 SSH를 통해 직접 로그인 금지 (-> 다른 사용자로 로그인하여 root 권한으로 로그인)
$ vi /etc/ssh/sshd_config
PasswordAuthentication no # 변경
PermitRootLogin no # 변경
$ systemctl restart sshd
$ apt list --installed
$ systemctl list-units --type service
$ lsmod
$ echo "blacklist modulename" >> /etc/modprobe.d/blacklist.conf
netstat
: 네트워크 접속, 라우팅 테이블, 네트워크 인터페이스의 통계 정보를 보여주는 도구이다.
# -p (pid): 프로그램 이름
# -l (listen) : 연결 가능한 상태
# -n (number port) : 포트 넘버
# -t (tcp) : tcp
$ netstst -plnt
Ubuntu에서 firewall을 설정한다.
$ ufw status numbered
$ ufw allow 22
범위로 허용할 경우
$ ufw allow 100:200/tcp
정확한 IP, port, protocol을 지정하여 허용할 경우
$ ufw allow from 135.22.65.0/24 to any port 9090 proto tcp
$ ufw deny 80
$ ufw enable