리눅스

LINUX (vi를 이용한 ~/.vimrc 파일 설정 / 필수 설치 패키지/ my sql설정/ 사용자 용량 제한 설정/ quota 설정)

아리빠 2023. 4. 28. 18:10
▶ 리눅스 5일차 수업 정리 
1. 리눅스 설치, 설치 후 --> 이미지 내보내기  ubuntu_1
2. 기초 필수개발 패키지 설치(gcc, java, mysql등) P.82 참고 
   설치시 시간이 걸리므로 다른 터미널 열어 멀티잡 가능..

3. 개발 환경 테스트(C, C++, java, Python)
4. mysql-설정 및 테스트 참고 P.165 ~ 166
5. 사용자 만들기 기본 값 설정 
   /etc/skel/.bashrc (alias 설정)
    /etc/skel/.vimrc 
    /etc/default/useradd 
    /etc/login.defs  
6. 사용자 용량제한 설정하기 참고 P.111 ~ 112
   group NC, nc1, nc2, nc3 

7. 보너스 windows(d:\win) 폴더 /yes로 mount해보기 
8. sqlite3를 소스컴파일 방식으로 /sql

 

 

 

●vi 를 이용한 ~/.vimrc 파일 설정

 

root@hty: vi ~/.vimrc


se nu ai ci si
se ts=4 sw=4
se ruler title showmatch
syntax on
hi comment ctermfg=red​

vi를 사용하여 vi  ~/.bashrc 와 vi  ~/.vimrc를 설정할 때 재 로그인하는 효과를 주기 위해 .~/.profile을 해줘야 한다

root@hty: . ~/.profile​

 

 

 

●필수 설치 패키지 

gcc g++ default-jdk mysql-server 
apache2 mandoc sqlite3 rdate rename 
tree mailutils lynx tomcat9 glibc-doc
root@hty:ai gcc g++ default-jdk mysql-server \
> apache2 mandoc sqlite3 rdate rename \
> tree mailutils lynx tomcat9 glibc-doc

 

 

 

●개발 환경 테스트 (java / c / python)

 

java

root@hty: vi j.java

 public class j{
 	public static void main(String[] str){
    		System.out.println("java 테스트");
    	}
 }

root@hty: javac j.java
root@hty: ls
j.class  j.java  snap
root@hty: java j
java 테스트

c

root@hty: vi c.c

#include<stdio.h>
int main(void)
{
    puts("C 테스트");
    return 0;
}


root@hty: gcc c.c -o c
root@hty: ./c
C 테스트

python

root@hty: vi p.py

print("python 테스트")

root@hty: python3 p.py
python 테스트

 

 

 

●mysql 설정

root@hty:~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.32-0ubuntu4 (Ubuntu)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> alter user root@localhost identified \
    -> with mysql_native_password by 'jj';
    
mysql> create user myty@localhost identified \
    -> with mysql_native_password by 'j';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on tyDB.* to myty@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

 

home_dir 가 보이지 않음 -> chsh 를 사용해 기본 쉘을 변경하고 root에서 home_dir을 만들어줘야 한다

$ whoami
ty
$ chsh  #로그인 쉘 바꿔주기
Password:
Changing the login shell for k1
Enter the new value, or press ENTER for the default
        Login Shell [/bin/sh]: /bin/bash  #/bin/sh 를 /bin/bash 로 변경
        
#기본 쉘 /bin/bash 로 변경

$ echo ~
/home/ty
$ pwd
/
$ ls /home
j  lost+found
$

root@hty: mkdir /home/ty
root@hty: nl /etc/default/useradd # 변경된 설정 확인해서 SHELL=/bin/bash 로 변경 됐는지 확인​
root@hty: vi /etc/login.defs # 13번 라인에 CREATE_HOME 추가해주기 -> useradd 시 자동으로 home_dir 생성​

 

 

 

● 사용자 기본 설정

 

root@hty: useradd ty1
root@hty: passwd j
New password:
Retype new password:
passwd: password updated successfully

/etc/skel/.bashrc  ( alias  설정)

alias ll='ls -alF'
alias la='ls -A' 
alias l='ls -CF'


alias h='history'
alias l='ls -AlF'
alias c='clear'
alias cp='cp -i'
alias mv='mv -i'
alias df='df -h'
alias du='du -sh'
alias li='ls -Ali'
alias lh='ls -Alh'

alias ai='apt -y install'
alias aq='apt list --installed | grep '
alias ac='apt list --installed | wc -l'

PS1 값 변경

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' # 이 코드를


PS1='[::\! \h@ HELLOty \u \w]\n \\$  #이렇게 변경

 

 

/etc/skel/.vimrc 

root@hty: cp .vimrc /etc/skel/   # root한테 있는 .vimrc 를 /etc/skel 에 복사해 일반사용자도 사용 가능
cp: overwrite '/etc/skel/.vimrc'? 
#y 누르기

 

 

● 사용자 용량 제한 설정 

root@hty: useradd -G NC nc1 # nc 그룹 안 nc1 생성
.
.
root@hty: passwd nc1 # 각각 비밀번호 설정​

/etc/fstab 파일 수정

root@hty: vi /etc/fstab
#/home 설정 라인에 ,usrquota 추가(띄어쓰기 X)

 

 

●quota 설정

파일 시스템의 사용 가능한 디스크 공간 제한

root@hty: ls /home/
j  lost+found  nc1  nc2  nc3  ty  ty1  ty2

root@hty: quotacheck -aug
root@hty: ls /home/
aquota.user  j  lost+found  nc1  nc2  nc3  ty  ty1  ty2

root@hty: quotaon -aug
root@hty: repquota -a
*** Report for user quotas on device /dev/sda5
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --    1304       0       0              4     0     0
j         --      32       0       0             11     0     0
ty1       --      28       0       0              8     0     0
ty2       --      40       0       0              9     0     0
nc1       --      28       0       0              7     0     0
nc2       --      28       0       0              7     0     0
nc3       --      28       0       0              7     0     0

root@hty: edquota -t  #유예기간 설정 
root@hty: edquota -u nc1  #nc1 사용자의 soft 블럭 제한 : 5M(5000), hard 블럭 제한 : 6M(6000)

#저장 ctrl o / 나가기 ctrl x

root@hty:~# repquota -a #quota 설정 보기

root@hty:~# edquota -p nc1 nc2 nc3  #nc1 의 quota 설정을 nc2, nc3 에도 복사​
ty1@hty:~$ fallocate -l 0.1G k   #-l 옵션은 공간을 얼마나 할당할 지 / k=생성 파일