반응형

su 명령어 wheel 그룹에게만 허용하기

1. /bin/su 또는  /usr/bin/su 명령어의 권한에서 SETUID 제거하기 & other의 실행권한 제거.

$chmod 4750 /bin/su

$chmod 4750 /usr/bin/su

 

2. /bin/su 명령어의 그룹 변경해주기

chgrp wheel /bin/su

 

 

3. wheel 그룹에 일반 계정(cent1)을 추가해주기

$gpasswd -a cent1 wheel

 

4. /etc/pam.d/su에서 pam_wheel.so 있는 줄 주석 제거하기.

 

 

---> wheel 그룹과 root만 su 명령어 사용가능하다.

(참고 : https://webinformation.tistory.com/99)


 

##복원하는 법...

1. 리눅스 켰을 때 others 버튼 누르고 root계정으로 로그인하기

 

2. su 명령어 권한 확인

#chmod 4755 /usr/bin/su 또는 #chmod 4755 /bin/su

 

3. /etc/pam.d/su에서 pam_wheel.so 주석처리.

pam_wheel.so 주석처리해주기.

4. wheel 그룹에서 사용자 제거.

$ gpasswd -d cent1 wheel 

 

5. /bin/su 명령어의 그룹 변경

chgrp root /bin/su

 

 


리눅스 그룹

*새로운 그룹 생성

groupadd name

groupadd -g 1000 name (특정 GID를 가진 그룹 생성)

groupadd -r name (시스템용 그룹 GID가 499이하임)

 

*그룹 삭제

groupdel name

 

*그룹 확인

groups

 

*그룹에 사용자 추가

gpasswd -a username groupname

 

*그룹에 사용자 제거

gpasswd -d username groupname

 

*그룹에 멤버를 새로 설정함.

gpasswd -M nestgoer,tiffiny

 

*그룹 관리자 설정

gpasswd -A adminname groupname

 

*그룹 관리자 확인

/etc/gshadow

 

wheel::nestgoer:nestgoer,zezz

 

 


 su 제한하기

-wheel그룹에 일반 계정 추가

-pam_wheel.so 부분 각주처리

-chgrp wheel /bin/su

-chmod 4750 /bin/su (setuid설정하고 others 권한은 뺏기, 원래 권한은 0755임.)

하면 wheel 그룹에게만 특수하게 권한을 줄 수 있다.

728x90
반응형

jdk-6u37-linux-x64.bin 파일 설치 후 java 버전 확인 시 아래 에러 발생 

Error occurred during initialization of VM
Unable to load native library: libnsl.so.1: cannot open shared object file: No such file or directory

$ yum install -y libnsl  

설치 시 해결됨

$ vim /etc/profile

export JAVA_HOME=/usr/local/jdk1.6.0_37
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH

$ source /etc/profile

$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)

728x90
반응형

cron의 특징

-> 정해진 시간에 작업을 수행하므로 만약 그 시간대에 시스템이 꺼져 있을 경우 해당 작업을 다음 주기까지 실행하지 않게된다.  


요일, 시, 분, 초의 단위로 지정 시각에 작업을 실행한다.
지정 시각에 서버가 정지한 경우 등에 실행하지 않은 작업을 재실행하는 기능은 없다.
(다음 차례의 지정 시각까지 기다릴 필요가 있음)
/etc/crontab, /etc/cron.d/ 이하의 파일, 각 유저의 crontab 파일등 복수의 작업 설정 장소가 있다.
데몬 프로세스(crond)가 상주하여 지정 시각에 작업을 가동한다.

 

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly


root는 뒤의 "run-parts ..."라고 나오는 명령행을 실행할 유저명이고 위의 내용들은 각각 처음부터 만들어져 있는 스크립트로서 run-parts 라는 스크립트를 이용해서 해당 디렉토리 내에 있는 모든 실행파일을 실행하도록 되어 있다. 
그래서 만일 어떤 명령이 매시마다. 혹은 매일, 매주, 매달마다 실행되어야 하는 명령이라면 해당 디렉토리(/etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly, /etc/cron.weekly)에 실행파일(혹은 스크립트)을 넣어주거나 링크파일을 넣어두면 된다.

anacron의 특징

-> 정해진 시간을 주기로 작업을 수행하는 것이 아니라, 해당 작업이 정해진 시간 내에 실행된적이 있는지를 점검한 후 만약 정해진 시간내에 수행한 적이 없다면 해당 작업을 여유를 두고 실행한다. 


작업의 실행 간격을 1일 단위로 지정한다.
(1일 1회 이상 실행빈도는 설ㄹ정 불가, 명시적인 실행 시각 지정 불가)
작업의 설정 장소는 /etc/anacrontab만 가능하며, 루트 유저 이외는 작업의 설정이 불가.
작업의 실행 타이밍에 랜덤으로 연장 시간이 추가된다.
데몬 프로세스가 존재하지 않으므로 정기적으로 anacron 명령어를 실행하는 구성을 따로 준비.
(cron의 매시 01분에 anacron을 실행하는 명령어가 기본으로 추가되어 있다.)
장기간 서버가 정지된 경우는 서버 가동 후에 필요한 작업을 바로 할 수 있다.

 

# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command
1       5       cron.daily              nice run-parts /etc/cron.daily  
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly
  
1라인 : 최근 1일동안 실행된 적이 있는지 점검하고, 만약 그렇지 않다면 시스템 부팅 5분 후에 수행
2라인 : 최근 7일동안 실행된 적이 있는지 점검하고, 만약 그렇지 않다면 시스템 부팅 25분 후에 수행
지연 시간을 두는 이유는 한꺼번에 실행할 경우 시스템에 과부하가 걸릴 수 있으므로 시간간격을 두어 부하를 분산하기 위함

 

 

728x90

+ Recent posts