관리 메뉴

공부공부 공부공부내용

vol1_1) 정리가 잘 안된 리눅스 첫번째 기록 본문

IT 기초, 네트워크, 리눅스/2. 리눅스 기초 vol1 (리눅스 운영체제 운영virtualBox 활용

vol1_1) 정리가 잘 안된 리눅스 첫번째 기록

wkdth04 2020. 6. 7. 19:47

네트워크 동작 확인

ping 8.8.8.8 외부네트워크화긴

ping 192.168.100.1 로컬 네트워크 확인

sudo yum install net-tools  (네트워크 관리패키지)

sudo yum install bash-completion

sudo yum install zsh (쉘설치)

 

스냅샷 찍고 ova까지

ps.  마크다운이나 notion (notion무료) -> 활용하기 OR 노션다운!!!


 

1.ip

2.ip a

3.ifconfig

4.ip route //내가 갖고있는 라우터의 주소를 알려준다. ,gateway주소 

 

default gateway //  

gateway //     -> 318 p 메모확인

tracepath 8.8.8.8    // 로컬호스트 = 나  에서 출발해 gateway 통과하는거 볼수있음

                                       //목적지까지 가는 라우터 경로를 출력할 수 있는 명령어

 

 

nmcli connection add con-name “test1” type ethernet ifname enp0s8 // ->enp0s8 은 장치명, 사용중인 인터페이스 명

nmcli명령어로 네트워크 할당하기 이후 , connection show로  잘 등록되었는지 확인, 배쉬설치! 우분투에서

sudo yum install bash-completion

umcli connection add con-name test2 type ethernet if name ifname enp0s8

nmcli connection show 로 확인

 

라우트 안의 라우팅테이블 ( 나의 ip,서브넷 마스크,dns주소 (google.com.이라는 주소의 ip주소가 적혀있는) , gateway주소, method ) ------->DHCP가 해주는 상세항목들

 

<네트워크 등록과정_커맨드>

nmcli connection add con-name enp0s3test type ethernet ifname enp0s3

nmcli connection modify enp0s3test ipv4.addresses 10.0.2.10/24    

nmcli connection modify enp0s3test ipv4.dns 8.8.8.8

nmcli connection modify enp0s3test ipv4.gateway 10.0.2.2

nmcli connection modify enp0s3test ipv4.method manual

nmcli connection up enp0s3test

- ifconfig 로 최종확인

- ping www.google.com 하면 통신 확인가능

   네트워크가 잘 통신되는지 확인할 때, 구글 사이트를 쳐보면 된다.  구글 네트워크로 찾아가기 위한 과정**

 

nmcli connection add con-name enp0s3test1 type ethernet ifname enp0s3 (새 네트워크 추가)

nmcli connection delete enp0s3test1 (네트워크 삭제, 할당된 네트워크는 삭제하지 말기, 새 네트워크로 바꿔주고 그 이후에 삭제제....안그러면 부팅오류남)

nmcli connection show(추가하고 확인할때)

 

user가 보조그룹에 추가가 되어있어야 권한이 생겨 sudo 가능해짐

[root@jsy ~]# usermod -G user03 user02   

[root@jsy ~]# usermod -aG user08 user02

[root@jsy ~]# tail -11 /etc/group

 

G와 aG차이 -> G 만 주면 변경만

                      ->a 는 추가해주는 것, a =append 확장하는것

 

▶[권한확인가능]

   -sudo -s

   -whoami  

   -sudo -i

등등 user로 접속했을 때 root권한 실행하기위해 치는 명령어

하지만 진짜 root는 아니고 그냥 root 권한을 가져오는것

 

[압축]

tar -czf test.gzip /bin*     *써야 안에있는것까지 다 압축

 

 

1.

set uid

<심볼릭모드>

chmod u+s

chmod u-s

 

<8진수모드>

chmod 4xxx

 

파일 : 소유자 권한으로 실행

디렉토리 :영향을 주지 x

 

/root » ls -al /bin/passwd                                         2 ↵ user@jsy

-rwsr-xr-x. 1 root root 27856 Apr  1 12:57 /bin/passwd

s -> setuid적용된 상태

삭제하는 법

chmod u-s /bin/passwd

ls -al /binpasswd 로인 확인

 

2.

setgid

<심볼릭모드>

chmod g+s

chmod g-s

<8진수모드>

chmod 2xxx  

 

파일 : 소유 그룹의 권한으로 실행

디렉토리 : 새로운 파일 생성 -> 해당 디렉토리와 동일한 소유그룹으로 지정된다.

 

3.

sticky bit

<심볼릭모드>

chmod o+t

chmod o-t

 

<8진수모드>

chmod 1xxx

-----------------

chmod 1xxx

파일 :  영향안줌

디렉토리 :해당 디렉토리에서 파일 삭제시 본인 소유의 파일만 삭제가능

ex) 로그



ACL

파일소유자

ACL등록사용자

소유그룹

--------------------------------------------------------------------------------

~ » touch file1.txt    

--------------------------------------------------------------------------------

~ » ls -al file1.txt                                                   user@jsy

-rw-r--r--. 1 user user02 0 May 22 15:47 file1.txt

 

~ » getfacl file1.txt                                              2 ↵ user@jsy    // get은 파일 권한 불러오는 것,  여기까지는 acl이 아직 등록안된상태

# file: file1.txt

# owner: user

# group: user02

user::rw-

group::r--

other::r--

 

~ » setfacl -m user:user01:rwx file1.txt                           2 ↵ user@jsy

--------------------------------------------------------------------------------

~ » getfacl file1.txt                                                  user@jsy

# file: file1.txt

# owner: user

# group: user02

user::rw-

user:user01:rwx

group::r--

mask::rwx

other::r--

 

~ » setfacl -b file1.txt                                           1 ↵ user@jsy

--------------------------------------------------------------------------------

~ » setfacl -x mask file1.txt     

~ » setfacl -m user:user01:-wx file1.txt                           1 ↵ user@jsy

--------------------------------------------------------------------------------

~ » getfacl file1.txt                                                  user@jsy

# file: file1.txt

# owner: user

# group: user02

user::rw-

user:user01:-wx

group::r--

mask::rwx

other::r--

--------------------------------------------------------------------------------

~ » setfacl -m mask::-wx file1.txt                                     user@jsy

--------------------------------------------------------------------------------

~ » getfacl file1.txt                                                  user@jsy

# file: file1.txt

# owner: user

# group: user02

user::rw-

user:user01:-wx

group::r--           #effective:---

mask::-wx

other::r--

 

ACL참조

1.https://m.blog.naver.com/PostView.nhn?blogId=minki0127&logNo=220729799731&proxyReferer=https:%2F%2Fwww.google.com%2F

2.https://dgblog.tistory.com/156

 

****

--------------------------------------------------------------------------------

~ » mkdir dir1                                                         user@jsy

--------------------------------------------------------------------------------

~ » ls -l                                                              user@jsy

total 0

drwxr-xr-x. 2 user user02  6 May 22 16:59 dir1

-rw---xr--+ 1 user user02  0 May 22 15:47 file1.txt

-rwxrwx---+ 1 user user02  0 May 22 16:11 roster.txt

drwxr-xr-x. 2 root root   19 May 22 12:25 testtar

--------------------------------------------------------------------------------

~ » getfacl dir1                                                       user@jsy

# file: dir1

# owner: user

# group: user02

user::rwx

group::r-x

other::r-x

 

--------------------------------------------------------------------------------

~ » setfacl -m u:user01:rwx dir1                                       user@jsy

--------------------------------------------------------------------------------

~ » getfacl dir1                                                       user@jsy

# file: dir1

# owner: user

# group: user02

user::rwx

user:user01:rwx

group::r-x

mask::rwx

other::r-x

 

--------------------------------------------------------------------------------

~ » setfacl -m u:user02:rwx dir1                                       user@jsy

--------------------------------------------------------------------------------

~ » getfacl dir1                                                       user@jsy

# file: dir1

# owner: user

# group: user02

user::rwx

user:user01:rwx

user:user02:rwx

group::r-x

mask::rwx

other::r-x

 

--------------------------------------------------------------------------------

~ » setfacl -m m::rw dir1                                              user@jsy

--------------------------------------------------------------------------------

~ » getfacl dir1                                                       user@jsy

# file: dir1

# owner: user

# group: user02

user::rwx

user:user01:rwx           #effective:rw-

user:user02:rwx           #effective:rw-

group::r-x           #effective:r--

mask::rw-

other::r-x

 

--------------------------------------------------------------------------------

~ » setfacl -m d:u::7, d:g::5, d:o::5 dir1                             user@jsy

setfacl: d:g::5,: No such file or directory

setfacl: d:o::5: No such file or directory

--------------------------------------------------------------------------------

~ » setfacl -m d:u::7,d:g::5,d:o::5 dir1                               user@jsy

--------------------------------------------------------------------------------

~ » getfacl dir1                                                       user@jsy

# file: dir1

# owner: user

# group: user02

user::rwx

user:user01:rwx           #effective:rw-

user:user02:rwx           #effective:rw-

group::r-x           #effective:r--

mask::rw-

other::r-x

default:user::rwx

default:group::r-x

 

작업 스케줄링

- 단일성 작업 예약

    한번 실행하고 종료

    atd.service

- 주기적 작업 예약

    반복적으로 실행

    cron : 매분마다 작업 수행을 확인, 컴퓨터가 꺼지면 실행 x

        - 작업 실행도를 요일, 시, 분 단위로 동작

        - /etc/crontab, /etc/cron.d 설정및 작업내역이 존재

        - 매번 켜져있는 컴퓨터에 유용

        - 분 시 일 월 요일 "명령어"

        - 요일 0-7 (0,7은 일요일이다.)

        - *: 설정하지 않을때

        - ,: 목록 예) 7,9,10 7시 9시 10시 

        - -: 기간 예) 7-9 7시부터 9시까지

        - */숫자 : 주기 0/5 0분을 기준으로 5분마다 반복한다.





    anacron : 하루에 한번 작업 확인, 시스템 cron, 컴퓨터가 꺼져있으면 다시 켰을때 작업을 수행함

        - 작업실행의 빈도가 1일 단위

        - /etc/anacrontab : 루트만 접근가능

        - 자주 켜져있지 않은 컴퓨터에 유용하다.



-------------------------------------------------------------

ls -al filea.txt

cat filea.txt

 

데몬프로세스

 

at -l 예약된 작업목록

 

cron

  166  systemctl status atd.service

  167  sudo yum install at

  168  systemctl status atd.service

  169  systemctl start atd.service

  170  systemctl status atd.service

  171  date

  172  at 10:01 am

 

  177  ls -al filea.txt

  178  cat filea.txt

  179  date

 

  181  at 10:03

  182  date

 

  184  date

  185  who

  186  date

  187  at 10:07 am

  188  date

 

* cron

시스템 운영시 필요한 일상적이고 주기적인 작업을 지정된 시간에 반복적으로 수행하기 위한 목적으로 cron이 제공된다. cron은 crond라는 데몬으로 작동하며 리눅스를 설치할 때에도 기본적으로 작동하도록 설정되어 있다. cron은 시스템 관리를 위해 꼭 필요한 작업이며, 반드시 구동해야 할 프로그램이다.

cron은 /etc/crontab 이라는 설정 파일과, /etc/cron.hourly, /etc/cron.daily, etc/cron.weekly, /etc/cron.monthly로 구성되며, 실행 시간, 실행 권한, 명령어 등을 적는것만으로 간단하게 설정할 수 있다.

- /etc/crontab

시스템 운영에 필요한 주기적 작업을 필드에 적합하게 구성하여 주기적으로 해당 작업을 수행한다.

- crontab 필드 구성

crontab 파일은 기본적으로 " 분 시 일 월 주 [권한] [명령어] " 로 구성되어 있다.

crontab 파일에는 어떠한 명령어를 어느 사용자의 권한으로 어느 시간에 구동할 것인가를 지정한다. 

22 4 * * 0 root run-parts /etc/cron.weekly

매주 일요일(0) 4시 22분에 run-parts /etc/cron.weekly 명령어를 root 권한으로 실행한다는 설정이다. 이 설정을 해 놓고 /etc/cron.weekly 디렉토리에 실행할 수 있는 파일을 넣어두면 매주 일요일 4시 22분에 해당 명령어가 자동으로 실행된다.

/etc/cron.xxxxly 형태의 디렉토리들은 /etc/cron.crontab 파일의 설정에 의해 해당 디렉토리에 존재하는 파일들이 해당 설정에 따라 실행되게 된다. 이러한 주기로 실행해야 하는 명령어가 필요하다면 적합한 디렉토리에 필요한 작업 내용이 들어있는 쉘 스크립트를 작성해 놓는것이 좋다.

- 사용자별 crontab 설정

시스템 관리 목적이 아닌 개인 사용자가 개인적인 용도로 특정 명령어 혹은 프로그램을 주기적으로 실행하려면 crontab이라는 명령어를 사용하면 된다. crontab 명령어를 사용하여 개인 사용자도 자신에게 필요한 내용으로 crontab을 편집할 수 있다. 

- 개인 사용자 crontab 편집

# crontab -e

개인 사용자 crontab을 편집할 수 있다. 개인사용자 crontab 역시 /etc/crontab과 동일한 형태의 필드로 시간, 권한, 명령어 등을 입력하면 된다. vi 편집기를 사용한다.

- 개인 사용자 crontab 내용 확인

# crontab -l

일반 사용자가 자신의 crontab을 확인하려면 옵션 -l을 사용한다.

- 개인 사용자 crontab 삭제

crontab 편집을 이용하여 부분적으로 수정하거나 삭제할 수 있으며 모든 설정을 삭제하려면 옵션 -r을 사용해 crontab 자체를 삭제한다.

# crontab -r

개인 사용자가 편집하는 crontab 파일은 /var/spool/cron/사용자명 형태의 파일로 저장되며, crond는 이 디렉토리에 있는 내용들을 주기적으로 실행하게 된다. 시스템 관리자는 /etc/cron.allow, /etc/cron.deny 파일 설정을 통해 crond를 이용할 사용자를 제한할 수 있다.cron.allow에 사용자명을 기록할 경우 해당사용자만 crond를 사용할 수 있으며,cron.deby에 사용자명을 기록할 경우 해당 사용자는 cron를 사용할 수 없다. allow를 먼저 참조하며, allow에 사용자가 존재할 경우 해당 사용자만 허락하도록 설정한 경우이므로 deny는 참조하지 않는다.

 

* at

cron이 주기적이고 반복적인 작업을 수행하도록 설정한다면, at은 일시적으로 한번만 실행하는 작업을 설정할 수 있다. at의 실행과 작업은 atd라는 데몬이 관리한다.

# at 시간

at에 시간을 지정하여 실행할 경우 at> 프롬프트가 나타나는데, 여기에 실행할 명령을 입력한다. [엔터]키를 이용해 여러 라인에 걸쳐 다양한 명령어를 설정할 수 있다 입력이 끝났다면, [Ctrl] + [d] 키 조합을 통해 저장 후 프롬프트에서 빠져 나올 수 있다. 입력 도중 [Ctrl] + [c] 키 조합으로 취소할 수 있다.

입력한 작업들은 한번 지정한 시간에 실행하고, 반복하여 실행하지는 않는다.

설정한 at 내용을 확인하려면 옵션 -l을 사용하고 at에 저장된 작업을 삭제하려면 atrm 명령어를 사용한다.

 

* anacron

anacron 역시 cron과 유사하게 주기적인 작업을 수행할 때 사용한다. 하지만 anacron의 경우 24시간 연속적으로 켜두는 시스템이 아닌 경우에 그 기능을 제대로 발휘한다.

cron은 정해진 시간에 작업을 수행하므로 만약 그 시간대에 시스템이 꺼져 있을 경우 해당 작업을 다음 주기까지 실행하지 않는다. anacron은 정해진 시간을 주기로 작업을 수행하는 것이 아니라, 해당 작업이 정해진 시간 내에 실행된 적이 있는지를 점검한 후 만약 정해진 시간 내에 수행한 적이 없다면 해당 작업을 여유를 두고 실행한다.

 

출처: https://smiler.tistory.com/entry/cron-at-anacron [아직은 내가 쓴 글보다 퍼온 글이 훨씬 많음]



프로세스이해 **필수

 

네트워크 ***********************책추천-----> 하루 3분 네트워크 교실, 네트워크 하향식 접근

 

이번시간 참조 블로그

https://4network.tistory.com/entry/CCNA20100407

http://blog.naver.com/PostView.nhn?blogId=onlyoll&logNo=220281085129