ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • cron과 at의 접근제한
    Technique/LPIC 2019. 10. 29. 14:29
    반응형

    cron이나 at의 이용제한은 유저 단위로 실행 가능하다.

    cron의 접근 제한

    cron을 이용하는 유저를 제한하기 위해서는 /etc/cron.allow /etc/cron.deny를 사용한다. /etc/cron.allow에는 cron의 이용을 허가하는 유저를 /etc/cron.deny에는 cron의 이용을 거부하는 유저를 기록한다. 이것들의 파일을 아래와 같은 순으로 허가된다.

    • /etc/cron.allow 파일이 있다면 그곳에 기록되어있는 유저만이 cron을 이용할 수 있다. ( /etc/cron.deny 파일은 무시한다 ) 
    • /etc/cron.allow 파일이 없다면 /etc/cron.deny를 참조하여 /etc/cron.deny에 기록되어 있지 않은 모든 유저가 cron을 이용할 수 있다.

    at의 접근 제한

    at 커맨드를 이용하는 유저를 제한하기 위해서는 /etc/at.allow, /etc/at.deny를 사용한다. /etc/at.allow에는 at의 이용을 허가하는 유저를 /etc/at.deny에는 at의 이용을 거부하는 유저를 기록한다. 이것들의 파일은 아래의 순서대로 허가된다.

    • /etc/at.allow가 있다면 거기에 기록된 유저만 at을 이용 가능하다.  (/etc/at.deny 파일은 무시한다 )
    • /etc/at.allow가 없다면 /etc/at.deny를 참조하여 /etc/at.deny이 기 되지 않은 모든 유저가 at을 사용 가능하다.
    • 어느 파일도 존재하지 않는다면 root 유저만이 at을 사용할 수 있다.

    기본은 비어있는 /etc/at.deny가 있거나, 모든 유저가 at 커맨드가 이용 가능하도록 되어 있다. 어느 파일도 존재하지 않는 경우의 동작이 cron의 경우와 다르기 때문에 주의할 필요가 있다.

     

    로컬라이제이션과 국제화

    소프트웨어의 메뉴나 메시지는 이용자의 네이티브의 언어에 대응할 수 있는 것이 베스트이다. 언어나 통화단위, 날짜의 서식 등 지역이나 국가에 맞추는 것을 로컬라이제이션 (localization)이라고 한다. 로컬라이제이션을 국가단위로 행하는 것은 매우 어렵기 때문에 최군의 많은 소프트웨어에는 처음부터 언어, 다지역에 대응하도록 만들어져 있다. 이것을 국제화 ( internationalization : i18n ) 이라고 한다.

    i18n
    국제화를 i18n이라고 하는 경우가 있다. 이것은 internationalization이라는 단어가 길기 때문에 i + 18 문자 + n의 의미로 간략히 하고 있기 때문이다.

    locale

    많은 소프트웨어는 이용자의 지역정보 ( 로케일 )에 따라서 표시 언어나 표시 서식을 변경 가능하도록 만들어져 있다. 로케일은 메시지의 출력 언어 ( LC_MESSAGES )나 통화 (LC_MONETARY), 날짜의 서식 ( LC_TIME )등의 카테고리로 나누어진다. 모든 카테고리에 같은 값을 설정하기 위해서는 환경변수 LANG 또는 LC_ALL에 설정한다. 

    카테고리 설명
    LC_CTYPE 문자의 종류나 그 비교, 분류의 규정
    LC_OLLATE 문자의 조합이나 정열에 관한 규정
    LC_MESSAGES 메시지 표시에 사용되는 언어
    LC_MONETARY 통화에 관한 규정
    LC_NUMERIC 수치의 서식에 관한 규정
    LC_TIME 날짜나, 시간정보 서식에 관한 규정

     

    이것들의 카테고리는 개별로 다양한 설정이 가능하다. 예를 들어 메시지는 일본어로 출력하고 날짜는 영어로 표시하거나 하는 형식이다. 

    로케일은 환경변수 LANG 또는 LC_ALL을 사용하여 모든 카테고리를 한 번에 설정하는 것이 가능하다. 환경변수 LC_ALL이 설정되어 있다면, 모든 카테고리는 무조건 LC_ALL을 참조한다. 반면, LC_ALL이 설정되어 있지 않다면 각자 카테고리에 대응한 환경변수가 설정되어 있다면 해당 설정값을 사용한다. 환경변수 LANG가 설정되어 있다면 모든 카테고리는 해당 값을 사용하지만, 각각의 카테고리별로 개별 설정도 가능하다.

    주의
    LC_ALL이 설정되어 있다면 모든 카테고리가 반드시 해당 로케일로 설정된다. 하지만 LANG에 설정되어 있는 값은 기본값으로 사용되며 카테고리별로 개별 설정하는 것도 가능하다.

     

    로케일 명 설명
    C,POSIX 영어
    ja_JP, utf(ja_JP, UTF-8 ) 일본어/유니코드
    ja_JP, eucJP 일본어/EUC-JP
    ja_JP, shiftJIS 일본어/Shift-JIS
    en_US, utf8 영어(영국) / Unicode

     

    언어명_국가 또는 지역명, 문자코드

     

    locale [옵션]

     

    옵션 설명
    -a 설정 가능한 로케일을 표시한다.
    -m 이용가능한 문자코드의 리스트

    로케일을 일시적으로 변경하고 싶은 경우는 [ 변수명 = 로케 일명 ]을 커맨드의 선두에 입력하는 것으로 변경 가능하다.

    문자 코드

    Linux는 다양한 문자코드를 취급할 수 있다. 주로 취급하는 문자코드는 아래와 같다.

    문자코드 설명
    ASCII 7비트로 표시되는 기본적인 128종류의 문자 ( 영문자 + a )
    ISO-8859 ASCII를 확장한 8비트 의 문자코드로 256종류의 문자
    UTF-8 Unicode를 사용한 문자코드로 1문자를 1바이트 ~ 6바이트로 표시
    일본어 ( EUC-JP ) UNIX 환경에 표준적으로 이용된 일본어의 문자코드
    ShiftJIS Windows 에서 이용되는 일본어의 문자코드
    ISO-2022-JP 전자메일 등에서 이용되는 일본어의 문자코드 (JIS-CODE)

    현재 많은 리눅스의 버전들에서는 문자 코드로서 UFT-8을 이용하고 있지만, 일본에서는 여러 가지 문자코드가 혼재되고 있기 때문에 예를 들어 Windows에서 작성한 파일을 Linux 상에서 보려고 할 경우 문자가 깨지는 션 생이 발생하는 경우가 있다. 또한 버전에 따라서는 UTF-8 이외의 문자 코드를 사용하고 있을 경우도 있다. 따라서 문자 코드를 변환할 필요가 발생하는 경우가 있다. 문자 코드의 변환에는 iconv 커맨드가 사용된다.

     

    iconv [옵션] [입력 파일명]

     

    옵션 설명
    -f 입력문자 코드 변환전 문자코드를 지정한다.
    -t 출력 문자 코드 변환하여 출력하고 싶은 문자코드를 지정한다.
    -l 다룰 수 있는 문자코드 리스트를 표시한다.
    참고
    파일의 문자 코드가 불명확할 경우에는 [ nfk -g 파일명 ]으로 문자 코드의 종류를 알아볼 수 있다.

    TIMEZONE

    지역에 따라서 표준 시간이 다르다.  예를 들어 일본은 그리니치 표준시 (규정 세계시 : UTC )보다 9시간 빠른 시간대로 설정되어 있다. 아메리카 본토, 아메리카 서부와 같이 하나의 국가에서도 지역별로 표준시간이 나눠져 있는 경우도 있다. 지역에 따라 구분되어 있는 표준 시간을 타임존 (Time zone )이라고 한다.

    타임존의 정보는 /usr/share/zoneinfo 디렉터리 아래에 바이너리 파일로 저장되어 있다. 

     

    시스템에서 이용하는 타임존은 /etc/localtime에 복사되어있는 것으로 설정이 가능하다 일본은 /usr/share/zoneinfo/Asia/Tokyo 이기 때문에 타임존을 일본으로 설정하기 위해서는 아래와 같이 설정하면 된다.

     

    cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

     

    또는 심볼릭 링크를 작성하는 것도 상관없다.

     

    ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

     

    타임존은 환경변수 TZ로 설정하는 것이 가능하다. 일본에 설정하기 위해서는 아래와 같다.

     

    export TZ="Asia/Tokyo"

     

    이 값을 모든 유저가 사용하기 위해서는 /etc/timezone 파일에 [Asia/Tokyo]로 설정하면 된다. tcselect 커맨드를 이용하면 리스트로부터 선택하는 것으로 타임존의 설정값을 확인 가능하다.

     

    gzconfig 커맨드를 실행하면 /etc/localtime과 /etc/timezone의 값을 합쳐 변경하는 것도 가능하다. 하지만 최근의 버전에서는 이용이 불가능하기 때문에 그 경우에는 dpkg-reconfigure tzdata 커맨드 ( Debian 계 버전의 경우 ) 등을 사용하자.

     

     

    ps.

    이번 내용은 책을 번역하는 과정에서 자연스럽게 locale 이나 timezone에 일본관련설정이 많이 들어가 있네요.

    한국의 경우 Asia/Seoul 을 설정하는 것으로 알고 있으니 이점 참고 해주셨으면 합니다.

     

    반응형

    'Technique > LPIC' 카테고리의 다른 글

    시스템 로그의 설정  (0) 2019.10.29
    시스템 락의 설정  (0) 2019.10.29
    job schedule 관리  (0) 2019.10.27
    유저와 그룹의 관리  (0) 2019.10.27
    접근성  (0) 2019.10.22

    댓글

Designed by Tistory.