bbungrp=`cat /etc/group | grep bbunbro | awk -F: ‘{print $1}’`
OSX 및 Linux 배포판 정리
[그룹및계정생성]
groupadd -g 1001 bbunbro
useradd sungho -u 1001 -g 1001 -c “bbunbro group” -d /bbunbro
echo 패쓰워드 | passwd test –stdin
[Visudo]
# 이걸추가하면 sungho 계정은 sudo 로 root에 준하는 권한을 모두허용!
sungho ALL=(ALL) NOPASSWD: ALL
또는..
Cmnd_AliasBBUNCMD = /bin/sh, /bin/chmod, /usr/bin/rsync, /usr/bin/svn, /bin/ls
로 sudo를통해사용할커멘드를 alias 해준뒤에..
sungho ALL=(ALL) NOPASSWD: BBUNCMD
이렇게권한을주면되겟다.
Arp -a 하면 ipv4만나오는불편한진실
Ipv6를보고싶으시다면!?
netsh interface ipv6 show neighbors > neighbors_mac.txt
netsh interface ipv6 show destinationcache > dst_cache.txt
NTP sync
/usr/bin/ntpdate -u ntp.server.com
아래와 같이 bash_profile 에 지정합니다.
export HISTTIMEFORMAT=%F\ %T\ (공백)
그 후 history 를 조회하면, 시간과 날짜가 뙇!!~
해당 설정을 정하고 나면 이전 history 역시 시간날짜 포멧을 함께 출력하므로, 적용을 하는 시점은
아무때나 무관하겠습니다.
해당 기능은 Bash 3.0 이상에서 부터 가능합니다.
find 를 이용하면 파일 갯수가 많아서 지워지지 않는 경우에도 지울 수 있습니다.
[root@서버 mqueue]# find /var/spool/mqueue/ -name “*” -exec rm -f {} \;
WinRM 을 통해서 리눅스머신에서 윈도우서버로 원격 명령을 날리는 방법에 대해 간략하게 기술한다.
윈도우 서버에서 먼저 winrm 에 대한 설정을 진행해준다.
winrm quickconfig 커멘드를 사용하면 (run as administrator)
해당 서비스를 사용할 수 있도록 설정이 가능하다. (사용여부 y로 물어봄)
winrm 서비스가 사용가능하게 되면 다음과 같이 winrm 의 config를 확인할 수 있다.
winrm g winrm/config
이중 config 하위에 service 항목중 Auth와 AllowUnencryypted 는 기본설정이 false 로 되어있는데,
이부분을 true (사용) 으로 변경해주는 설정을 한다. (Basic 인증방식 사용)
winrm s winrm/config/service/auth @{Basic=”true”}
winrm s winrm/config/service @{AllowUnencrypted=”true”}
이후에 리눅스머신에서 winrm을 통해 plaintext를 통한 계정정보 입력을 통하여, 서버에 커멘드를 실행할 수 있다.
참고로 powershell에서도 아래와 같은 커멘드로 활성화 할 수 있다.
Set-item WSMan:\localhost\service\auth\basic “true” -force
Set-Item WSMan:\localhost\Service\AllowUnencrypted “true” -force
윈도우 서버에서 위와 같은 설정이 완료 되면 quickconfig를 통해서 허용 되었겠지만,
http 프로토콜로 5985 포트를 이용해서 접근하게 된다. 스위치에 Access List 를 관리한다면, 허용해줄것~
linux 관리머신에서 winrm 을 이용하기 위해 WinRM for Ruby 라이브러리를 설치한다.
(1.9 버전 이상의 ruby를 설치하여야 하고, gem install winrm (git 저장소 https://github.com/zenchild/WinRM) 으로 설치하고, WinRM 라이브러리를 이용해 서버 제어 스크립트를 생성한다.
예시 ) test.rb
require ‘winrm’ endpoint = ‘http://10.0.0.1:5985/wsman’ winrm = WinRM::WinRMWebService.new(endpoint, :plaintext, :user => ‘계정’, :pass => ‘암호’, :basic_auth_only => true ) winrm.cmd(‘ipconfig /all & dir c:\\‘) do |stdout, stderr| STDOUT.print stdout STDERR.print stderr end |
위와 같이 간단한 루비스크립트를 생성하고,
/usr/bin/ruby test.rb 를 실행하게 되면, 10.0.0.1 IP를 갖는 원격지 윈도우 서버에서
ipconfig /all 커멘드와 dir c:\ 라는 커멘드를 실행하여, 결과값 (Standard Output) 을 알려준다.
해당 방법은 원격지에서 WinRM을 통한 command를 실행시키는 방식으로
관리서버에서는 동시 다수 서버에 명령어를 전달하고, 다수의 서버에서는 개별적으로 해당 명령을 실행하기 때문에 서버 관리에 매우 유용하다.
리눅스를 운영하다 보면, 상태 확인이나 체크등을 위해서 로컬에 로그를 남기는 일이 많다.
이런 경우에 매번 터미널 접속을 해서 확인하기 귀찮으니, 스케쥴등을 이용해서 메일로 발송해보자.
메일 발송의 경우는 local에 postfix 등을 이용해서 발송하면된다~
내 로컬에서 어떤 MTA (mail Transfer Agent) 가 설정된지 확인은
# alternatives –display mta
라는 명령어를 이용하면 확인 가능하다.
[root@bbunbro ~]# alternatives –display mta mta – status is manual. link currently points to /usr/sbin/sendmail.postfix /usr/sbin/sendmail.sendmail – priority 90 slave mta-pam: /etc/pam.d/smtp.sendmail slave mta-mailq: /usr/bin/mailq.sendmail slave mta-newaliases: /usr/bin/newaliases.sendmail slave mta-rmail: /usr/bin/rmail.sendmail slave mta-sendmail: /usr/lib/sendmail.sendmail slave mta-mailqman: /usr/share/man/man1/mailq.sendmail.1.gz slave mta-newaliasesman: /usr/share/man/man1/newaliases.sendmail.1.gz slave mta-aliasesman: /usr/share/man/man5/aliases.sendmail.5.gz slave mta-sendmailman: /usr/share/man/man8/sendmail.sendmail.8.gz /usr/sbin/sendmail.postfix – priority 30 slave mta-pam: /etc/pam.d/smtp.postfix slave mta-mailq: /usr/bin/mailq.postfix slave mta-newaliases: /usr/bin/newaliases.postfix slave mta-rmail: /usr/bin/rmail.postfix slave mta-sendmail: /usr/lib/sendmail.postfix slave mta-mailqman: /usr/share/man/man1/mailq.postfix.1.gz slave mta-newaliasesman: /usr/share/man/man1/newaliases.postfix.1.gz slave mta-aliasesman: /usr/share/man/man5/aliases.postfix.5.gz slave mta-sendmailman: /usr/share/man/man1/sendmail.postfix.1.gz Current `best’ version is /usr/sbin/sendmail.sendmail. |
혹시 로컬에 postfix가 설치되어 있지 않다면, postfix를 설치하고,
메일 발송을 위해서 mailx 패키지를 설치한다.
이후에 로그를 보내는 방법은 아래와 같다.
cat /log/20141204_test.log | mail -s “Sending MAIL to my email” pajuguy@nate.com -c pajuguy@gmail.com
이후 발송된 메일을 확인해보면 pajuguy@nate.com 으로 (참조 : gmail)
Sending MAIL to my email 이라는 제목으로 발송된 20141204_test.log 의 내용을 확인할 수 있다.
리눅스 컨트롤러 확인
dmesg 를 통해서 일일히 찾는 방법도 존재하지만,
bridge, IDE interface, VGA compatible controller 등을 확인할시에는
# lspci 명렁을 통해서 확인하면 편리하다
자세하게 보고싶은 경우는 -vvv 옵션을 준다.
[nic2hong@bbunbro ~]$ sudo lspci -vvv 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] (prog-if 80 [Master]) 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 01) 00:02.0 VGA compatible controller: Cirrus Logic GD 5446 (prog-if 00 [VGA controller]) 00:03.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01) |
윈도우 서버의 role 에서 nfs 를 추가하고,
공유하려는 폴더에 properties를 확인해보면 nfs 설정이 가능하다.
윈도우 서버 주소가 sungho.com 이고 폴더명이 share 라는 가정에서 리눅스 머신에서 공유 폴더를 mount 합시다.
mkdir test
mount -t nfs sungho.com:/share ./test
이렇게 하여 test 에 해당 공유 폴더를 마운트 한다.
재시작시에도 유지하고 싶다면 /etc/fstab에
sungho.com:/share /test nfs 0 0 을 추가한다.