yum 을 이용해서 설치
순서는 이미지 파일을 참조하면 된다.
Samba 를 이용하면 웹에서 자원을 공유할 수 있다. LINUX 를 운영하는 기업이라면 자원을 공유하기 위해서 설치가 되어있다.
[삼바]
SMB(Server Message Block) 프로토콜을 이용해 다른 OS간에 파일이나 프린터의 공유를 가능하게 해주는 패키지이다.
즉, 리눅스의 자원을 윈도우에서 사용할 수 있고, 반대로 윈도우의 자원을 리눅스에서 사용할 수 있도록 해준다.
http://www.samba.org/
강사님이 경험한 바로는 삼바 프로그램으로는 프린터 서버용으로 운영은 하지 않았다고 한다.
프린터용 관련 데몬은 "CUPS" 라는 다른 데몬이 있다. 삼바를 이용해서 프린터 서버를 사용하지 않았다. 그 이유는? 사양낮은 PC 에 프린터를 연결해서 해당 IP 를
물론 LINUX 자원을 윈도우에서 공유할 수 있다. 반대도 가능하다.
Samba 를 설치해보자!!
[01] 삼바 yum으로 설치
# yum install samba* --skip-broken
[주의] 위에 samba를 yum으로 설치할때 " * "(아스타리크) 기호를 넣어준다!
=> 삼바와 관련된 모든 것을 설치한다는 의미
Complete! 되면
[02] 설치된 패키지 확인해보자
[root@localhost ~]# rpm -qa | grep samba
samba-swat-3.0.33-3.29.el5_7.4
samba-common-3.0.33-3.29.el5_7.4
samba-client-3.0.33-3.29.el5_7.4
samba-3.0.33-3.29.el5_7.4
[03] 삼바 서비스 시작(데몬명 : smb)
[root@localhost ~]# service smb start
SMB서비스를 시작 중: [ OK ]
NMB서비스를 시작 중: [ OK ]
[root@localhost ~]# cd /etc/samba/
[root@localhost samba]# ls
lmhosts passdb.tdb secrets.tdb smb.conf smbusers
[root@localhost samba]# cp smb.conf smb.conf_bak
=> 원본 파일을 백업하자!!
# vi smb.conf
--------------------------------------------------
/* 74 Line 이동 */
# workgroup = MYGROUP
workgroup = WORKGROUP
/* 101 Line 이동 */
# security = user
security = share
--------------------------------------------------
/* 각 라인별로 이동해서 동일하게 작업( # 은 주석문) */
수정을 했으니 재시작을 한다.
[root@localhost samba]# service smb restart
SMB 서비스를 종료 중: [ OK ]
NMB 서비스를 종료 중: [ OK ]
SMB서비스를 시작 중: [ OK ]
NMB서비스를 시작 중: [ OK ]
[06] 테스트 두 가지 방법(첫번째로 확인하세요!)
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:F5:FC:40
inet addr:192.168.10.XXX Bcast:192.168.10.255 Mask:255.255.255.0
(첫번째) WinXP: [시작] -> [실행] -> \\리눅스아이피(eth0 IP)\
-> 접속해서 "프린터 및 팩스"가 나오면 정상이다!
공유 => 같이 사용한다는 것인데 LINUX 의 자원 데이터를 윈도우에서 가져가려면 그냥 CP 를 하면 된다. 일반 데이터를 CP 하는 것은 기본적인 것이고 회사에서는 팀별로 묶여있다. 인사팀 기술팀 홍보팀 등등 팀별로 삼바를 이용해서 정보를 공유하는 것이다.
윈도우즈에서는 돈이 드나 LINUX는 무료여서 삼바를 이용하고 있다.
LINUX는 대부분 OPEN SOURCE 이므로 ㅎㅎ
윈도우에 있는 자원을 여러 팀별로 자원을 공유하는 것이다.
이제 공유폴더를 직접 만들어보자
[root@localhost /]# vi /etc/samba/smb.conf
/* 문서 제일 마지막에 추가하자! */
---------------------------------------- 여기 아래부분부터 추가
# 2011-10-22 by Jack2
[Jack2F01D3R] // 윈도우에서 확인시에 나타나는 폴더명
comment = itclass samba server
path = /bin //실제 Linux에 있는 공유할 폴더
public = yes
writable = yes //쓰기 권한
삼바 재시작
[root@localhost samba]# service smb restart
SMB 서비스를 종료 중: [ OK ]
NMB 서비스를 종료 중: [ OK ]
SMB서비스를 시작 중: [ OK ]
NMB서비스를 시작 중: [ OK ]
이제 반을 한 것이다.
Jack2F01D3R 를 확인할 수 있다.
하지만 일반 유저는 /bin 디렉토리에 읽기와 실행은 가능하지만 쓰기 권한은 없다.
# ls -ld /bin
drwxr-xr-x 2 root root 4096 4월 8 04:43 /bin
ID , P/W 를 안넣었기 때문에 특정 유저가 되는 것이다.
[root@localhost samba_test]# ls -l
합계 44732
-rw-r--r-- 1 root root 0 10월 22 15:02 testtest.txt
-rwxr--r-- 1 nobody nobody 0 10월 22 14:59 tets.txt
-rwxr--r-- 1 nobody nobody 4286 10월 29 2010 tutudisk.ico
-rwxr--r-- 1 nobody nobody 45747664 7월 17 12:39 xme40.exe
=> 윈도우에서 복사한 파일들은 nobody 라고 나온다.
그 이유는 아래와 같다.
[root@localhost samba_test]# grep nobody /etc/passwd
=> 리눅스에서 임의로 접근하는 계정이다.
nobody:x:99:99:Nobody:/:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
=============================================================================
이번에는 보안설정 ㄱㄱ
# vi smb.conf /* 101 Line 이동 */
--------------------------------------------------
# security = share
security = user
--------------------------------------------------
/* security = user 변경한다. */
/* :wq 저정하고 나온다. */
리눅스의 계정만 이용할 뿐 삼바전용 P/W 를 사용하게 된다.
[root@localhost samba_test]# smbpasswd -a doom
New SMB password:
Retype new SMB password:
Added user doom.
[root@localhost samba_test]#
[root@localhost samba_test]# mkdir /share_dir
[root@localhost samba_test]# cd /share_dir/
[root@localhost share_dir]# pwd
/share_dir
0 -rw-r--r-- 1 root root 0 10월 22 15:36 testfile1
[root@localhost share_dir]# chmod 777 /share_dir/
[root@localhost share_dir]# ls -ld /share_dir/
drwxrwxrwx 2 root root 4096 10월 22 15:36 /share_dir/
[root@localhost share_dir]# ls -ld
drwxr-xr-x 2 root root 4096 10월 22 15:36 .
[root@localhost share_dir]# vi /etc/samba/smb.conf
에서 수정을 하자
shift + G 를 누른뒤에 마지막으로 가서
이부분을 복사해서 붙여 넣자
# 2009-10-16 by lee_sang_chul
[Jack2-samba-server]
comment = leesangchul-samba-server
path = /share_dir
browseable = yes
writable = yes
저장을 시키자.
이제 doom 만 사용할 수 있는 폴더를 나타나게 하자
데몬은 재시작 하자
[root@localhost share_dir]# service smb restart
SMB 서비스를 종료 중: [ OK ]
NMB 서비스를 종료 중: [ OK ]
SMB서비스를 시작 중: [ OK ]
NMB서비스를 시작 중: [ OK ]
윈도우에서 \\192.168.100.xxx 로 들어가면 ID , P/W 를 입력하는 창이 나오는 것을 확인할 수 있다.
이제윈도우에 있는 그림파일을 해당 폴더에 집어 넣으면
[root@localhost share_dir]# ls -l
합계 484
-rwxr--r-- 1 doom doom 32183 4월 10 2011 [img] 01. xp_share.jpg
-rwxr--r-- 1 doom doom 33157 4월 10 2011 [img] 02-1. my_share.jpg
-rwxr--r-- 1 doom doom 35343 4월 10 2011 [img] 02-2. samba_test.jpg
-rwxr--r-- 1 doom doom 33157 4월 10 2011 [img] 02. my_share.jpg
-rwxr--r-- 1 doom doom 52412 4월 10 2011 [img] 03-1. share_dir.jpg
-rwxr--r-- 1 doom doom 39977 4월 10 2011 [img] 03-2. share_dir.jpg
-rwxr--r-- 1 doom doom 52412 4월 10 2011 [img] 03. share_dir.jpg
-rwxr--r-- 1 doom doom 118654 4월 10 2011 [img] 03. swat-01.jpg
-rwxr--r-- 1 doom doom 68628 4월 10 2011 [img] 04. swat-02.jpg
=> 이전과 달리 권한자가 doom 인것을 확인할 수 있다.
[02] 리눅스에서 윈도우의 공유폴더(c:\samba 디렉토리) 접속
smbclient 명령어를 이용해서 리눅스에서 윈도우의 공유 디렉토리에 접속해 보자!
(01) c:\samba 디렉토리를 만든다.
디렉토리 속성창을 열어 디렉토리를 "공유" 설정을 한다.
[root@localhost share_dir]# smbclient //172.16.7.12/samba
Password: //여기에서는 윈도우 P/W 를 입력해준다.
하지만
Domain=[LINUX21] OS=[Windows 7 Enterprise 7600] Server=[Windows 7 Enterprise 6.1]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
=> Error 가 나온다.
그렇다면 해결책은?
[root@localhost share_dir]# smbclient //172.16.7.12/S4M134 -U soldesk
=> 특정 사용자 이름을 넣어준다.
Password:
Domain=[LINUX21] OS=[Windows 7 Enterprise 7600] Server=[Windows 7 Enterprise 6.1]
삼바 접속 성공
smb: \> ?
? altname archive blocksize cancel
case_sensitive cd chmod chown close
del dir du exit get
getfacl hardlink help history lcd
link lock lowercase ls mask
md mget mkdir more mput
newer open posix posix_open posix_mkdir
posix_rmdir posix_unlink print prompt put
pwd q queue quit rd
recurse reget rename reput rm
rmdir showacls setmode stat symlink
tar tarmode translate unlock volume
vuid wdel logon listconnect showconnect
!
smb: \>
[root@localhost share_dir]# testparm
=> 문법에 오류가 있으면 오류를 확인할 수 있다.
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[Jack2F01D3R]"
Processing section "[S4M134SAMBA]"
Unknown parameter encountered: "commnet"
Ignoring unknown parameter "commnet"
Processing section "[Jack2-samba-server]"
Loaded services file OK.
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
server string = Samba Server Version %v
passdb backend = tdbsam
cups options = raw
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
[Jack2F01D3R]
comment = itclass samba server
path = /bin
read only = No
guest ok = Yes
[S4M134SAMBA]
path = /samba_test
read only = No
guest ok = Yes
[Jack2-samba-server]
comment = leesangchul-samba-server
path = /share_dir
read only = No
삼바는 기본적으로 웹설정툴인 swat을 제공한다.
이것을 이용하면 웹페이지에 접속하여 삼바의 환경 설정을 편하게 할 수 있다.
[01] SWAT 설정
■ swat는 삼바 설치시 기본으로 설치가 되므로 별도의 설치는 필요없다.
xinetd에 swat를 등록한다. /etc/xinetd.d 라는 디렉토리에 아래의 내용으로 swat라는 파일을 생성해 준다.
# vi /etc/xinetd.d/swat /* 편집 */
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
# to configure your Samba server. To use SWAT, \
# connect to port 901 with your favorite web browser.
service swat
{
port = 901
socket_type = stream
wait = no
protocol = tcp
only_from = 192.168.10.129
// 실무에서는 이렇게 그냥 LINUX IP 를 넣어주면 되나
지금 환경은 VM-Ware 를 사용하므로 /* WinXP의 VMnet8 아이피를 입력해주어야 한다.
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = no
}
저장하고 데몬 재시작
[root@localhost /]# service xinetd restart
xinetd 를 정지 중: [ OK ]
xinetd (을)를 시작 중: [ OK ]
디렉토리를 만드는 것은 리눅스에서 가능하다.
==============================================================================================
Media Wiki Server 설치와 운영
: 일명 위키 온라인 백과사전 , 자유롭게 이용이 가능하다. 유저들이
==================================================================================
[03] suid/sgid 파일 점검
일반 유저 권한으로 suid/sgid가 설정된 파일을 실행할 때에는 해당 파일의 소유자 또는 소유그룹 권한으로 작동하게 되므로 suig/sgid는 보안적인 관점에서 매우 중요하다.
이 때문에 /usr/sbin/sendmail과 같이 전통적으로 root 권한의 suid/sgid가 설정된 파일에서 보안 취약성이 많이 발견된 것이 사실이다. 따라서 초기 시스템 구축시 뿐만 아니라 정기적으로 시스템에서 suid/sgid가 설정된 파일을 모니터링 하여 suid나 sgid가 불필요하다면 파일 자체를 삭제 하거나 s비트를 해제하는 것이 좋다.
[root@localhost mediawiki]# su - doom
[doom@localhost ~]$ ping www.google.co.kr
PING www.l.google.com (72.14.203.105) 56(84) bytes of data.
64 bytes from tx-in-f105.1e100.net (72.14.203.105): icmp_seq=1 ttl=128 time=222 ms
64 bytes from tx-in-f105.1e100.net (72.14.203.105): icmp_seq=2 ttl=128 time=206 ms
64 bytes from tx-in-f105.1e100.net (72.14.203.105): icmp_seq=3 ttl=128 time=211 ms
64 bytes from tx-in-f105.1e100.net (72.14.203.105): icmp_seq=4 ttl=128 time=214 ms
일반유저들이 root 의 명령어를 사용하면 안되는데 이와같은 경우가 발생할 수 있다.
가장먼저 setuid 를 검색하게 해서 일반사용자들의 사용을 막게하는 것이다.
[doom@localhost ~]$ ls -al /bin/ping
-rwsr-xr-x 1 root root 35832 9월 27 2009 /bin/ping
| |
uid gid
[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
=> 숫자로 관리가 된다.
[root@localhost ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
유저이름 x uid
operator:x:11:0:operator:/root:/sbin/nologin
doom을 uid를 0으로 바꾸어주면 root 역할을 할 수 있다.
[root@localhost ~]# find / -type f -perm -4000 -o -perm -2000
/usr/kerberos/bin/ksu
/usr/sbin/lockdev
/usr/sbin/sendmail.sendmail
/usr/sbin/ccreds_validate
/usr/sbin/userhelper
/usr/sbin/usernetctl
/usr/libexec/libvirt_proxy
/usr/libexec/utempter/utempter
/usr/libexec/openssh/ssh-keysign
/usr/lib/vte/gnome-pty-helper
/usr/lib/nspluginwrapper/plugin-config
/usr/bin/chage
/usr/bin/Xorg
/usr/bin/crontab
/usr/bin/gnotravex
/usr/bin/wall
/usr/bin/sudo
/usr/bin/gnotski
/usr/bin/rlogin
/usr/bin/passwd
/usr/bin/at
/usr/bin/ssh-agent
/usr/bin/mahjongg
/usr/bin/same-gnome
/usr/bin/gnibbles
/usr/bin/lockfile
/usr/bin/rcp
/usr/bin/gtali
/usr/bin/write
/usr/bin/glines
/usr/bin/gnomine
/usr/bin/locate
/usr/bin/chsh
/usr/bin/konsole
/usr/bin/screen
/usr/bin/sudoedit
/usr/bin/kgrantpty
/usr/bin/rsh
/usr/bin/gpasswd
/usr/bin/gataxx
/usr/bin/newgrp
/usr/bin/iagno
/usr/bin/chfn
/usr/bin/gnobots2
/usr/bin/staprun
/usr/bin/kpac_dhcp_helper
find: /proc/24533/task/24533/fd/4: 그런 파일이나 디렉토리가 없음
find: /proc/24533/fd/4: 그런 파일이나 디렉토리가 없음
/sbin/unix_chkpwd
/sbin/mount.nfs4
/sbin/netreport
/sbin/mount.ecryptfs_private
/sbin/umount.nfs4
/sbin/pam_timestamp_check
/sbin/mount.nfs
/sbin/umount.nfs
/lib/dbus-1/dbus-daemon-launch-helper
/bin/ping
/bin/mount
=> 시스템 장치를 연결하는 것이다. 일반유저들은 할 필요가 없다. 이런 것을 찾았으면 검색할 수 없게 차단하는 것 같은데...
/bin/umount
/bin/ping6
/bin/su
너무 많이 나오니까 /bin 에서 찾아보자
[root@localhost ~]# find /bin -type f -perm -4000 -o -perm -2000
/bin/ping
/bin/mount
/bin/umount
/bin/ping6
/bin/su
[root@localhost ~]# ls -al /usr/bin/passwd
-rwsr-xr-x 1 root root 22984 1월 7 2007 /usr/bin/passwd
=> uid 로 설정이 되어있다. 바꾼 암호를 2번 물어보게 된다.
(자신의 암호를 바꿀 때 사용한다.)
UID에서 S 비트 권한 제거
[root@localhost ~]# ls -al /usr/bin/at
-rwsr-xr-x 1 root root 43492 1월 27 2010 /usr/bin/at
[root@localhost ~]# chmod u-s /usr/bin/at
[root@localhost ~]# ls -al /usr/bin/at
-rwxr-xr-x 1 root root 43492 1월 27 2010 /usr/bin/at
[root@localhost ~]# chmod u+s /usr/bin/at
[root@localhost ~]# ls -al /usr/bin/at
-rwsr-xr-x 1 root root 43492 1월 27 2010 /usr/bin/at
[root@localhost ~]# chmod 755 /usr/bin/at
[root@localhost ~]# ls -al /usr/bin/at
-rwxr-xr-x 1 root root 43492 1월 27 2010 /usr/bin/at
[root@localhost ~]# chmod u+s /usr/bin/at
[root@localhost ~]# ls -al /usr/bin/at
-rwsr-xr-x 1 root root 43492 1월 27 2010 /usr/bin/at
[root@localhost ~]# chmod 0755 /usr/bin/at
[root@localhost ~]# ls -al /usr/bin/at
-rwxr-xr-x 1 root root 43492 1월 27 2010 /usr/bin/at
GID에서 s 권한 제거
[root@localhost ~]# ls -al /usr/bin/wall
-r-xr-sr-x 1 root tty 10484 1월 21 2009 /usr/bin/wall
[root@localhost ~]# chmod g-s /usr/bin/wall
[root@localhost ~]# ls -al /usr/bin/wall
-r-xr-xr-x 1 root tty 10484 1월 21 2009 /usr/bin/wall
여기에서 S bit 란?
Set-Bit 이해하기
(1) Set-Bit : Set-Bit란 기본권한이외에 특수한 목적을 위해 부여되는 특수권한이다. Set-Bit에는
Set-UID, Set-GID, Sticky Bit이 있으며, 이러한 권한은 시스템운영에 꼭 필요하지만
보안상의 위험을 초래할 수 있으므로 정확한 이해가 필요하다.
[출처 : http://uzoogom.tistory.com/tag/set-bit ]
[참고] 회사의 중요 서버의 계정 관리
ssh 를 이용해서 일반유저로 접속. 그런데 일반유저로 접속이 안되었다. 일반 접속이 안되니까 root 로 접속을 하려고 한다.
======================================================================================
http://wareseeker.com/
[Servers Alive] 의 용도?
HP 회사에서 만든 서버프로그램은 2억짜리 ... 괜히 사는 경우가 생길 수 있다. 가격대 운용비가 안나올 수 있는 것이다. 서버들을 체크하는 것이다.
=> 10개까지 모니터링 가능
Freee windows Health Monitor => 5개 까지는 무료로 사용가능 GUI
순서는 이미지 파일을 참조하면 된다.
Samba 를 이용하면 웹에서 자원을 공유할 수 있다. LINUX 를 운영하는 기업이라면 자원을 공유하기 위해서 설치가 되어있다.
[삼바]
SMB(Server Message Block) 프로토콜을 이용해 다른 OS간에 파일이나 프린터의 공유를 가능하게 해주는 패키지이다.
즉, 리눅스의 자원을 윈도우에서 사용할 수 있고, 반대로 윈도우의 자원을 리눅스에서 사용할 수 있도록 해준다.
http://www.samba.org/
강사님이 경험한 바로는 삼바 프로그램으로는 프린터 서버용으로 운영은 하지 않았다고 한다.
프린터용 관련 데몬은 "CUPS" 라는 다른 데몬이 있다. 삼바를 이용해서 프린터 서버를 사용하지 않았다. 그 이유는? 사양낮은 PC 에 프린터를 연결해서 해당 IP 를
물론 LINUX 자원을 윈도우에서 공유할 수 있다. 반대도 가능하다.
Samba 를 설치해보자!!
[01] 삼바 yum으로 설치
# yum install samba* --skip-broken
[주의] 위에 samba를 yum으로 설치할때 " * "(아스타리크) 기호를 넣어준다!
=> 삼바와 관련된 모든 것을 설치한다는 의미
Complete! 되면
[02] 설치된 패키지 확인해보자
[root@localhost ~]# rpm -qa | grep samba
samba-swat-3.0.33-3.29.el5_7.4
samba-common-3.0.33-3.29.el5_7.4
samba-client-3.0.33-3.29.el5_7.4
samba-3.0.33-3.29.el5_7.4
[03] 삼바 서비스 시작(데몬명 : smb)
[root@localhost ~]# service smb start
SMB서비스를 시작 중: [ OK ]
NMB서비스를 시작 중: [ OK ]
[root@localhost ~]# cd /etc/samba/
[root@localhost samba]# ls
lmhosts passdb.tdb secrets.tdb smb.conf smbusers
[root@localhost samba]# cp smb.conf smb.conf_bak
=> 원본 파일을 백업하자!!
# vi smb.conf
--------------------------------------------------
/* 74 Line 이동 */
# workgroup = MYGROUP
workgroup = WORKGROUP
/* 101 Line 이동 */
# security = user
security = share
--------------------------------------------------
/* 각 라인별로 이동해서 동일하게 작업( # 은 주석문) */
수정을 했으니 재시작을 한다.
[root@localhost samba]# service smb restart
SMB 서비스를 종료 중: [ OK ]
NMB 서비스를 종료 중: [ OK ]
SMB서비스를 시작 중: [ OK ]
NMB서비스를 시작 중: [ OK ]
[06] 테스트 두 가지 방법(첫번째로 확인하세요!)
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:F5:FC:40
inet addr:192.168.10.XXX Bcast:192.168.10.255 Mask:255.255.255.0
(첫번째) WinXP: [시작] -> [실행] -> \\리눅스아이피(eth0 IP)\
-> 접속해서 "프린터 및 팩스"가 나오면 정상이다!
공유 => 같이 사용한다는 것인데 LINUX 의 자원 데이터를 윈도우에서 가져가려면 그냥 CP 를 하면 된다. 일반 데이터를 CP 하는 것은 기본적인 것이고 회사에서는 팀별로 묶여있다. 인사팀 기술팀 홍보팀 등등 팀별로 삼바를 이용해서 정보를 공유하는 것이다.
윈도우즈에서는 돈이 드나 LINUX는 무료여서 삼바를 이용하고 있다.
LINUX는 대부분 OPEN SOURCE 이므로 ㅎㅎ
윈도우에 있는 자원을 여러 팀별로 자원을 공유하는 것이다.
이제 공유폴더를 직접 만들어보자
[root@localhost /]# vi /etc/samba/smb.conf
/* 문서 제일 마지막에 추가하자! */
---------------------------------------- 여기 아래부분부터 추가
# 2011-10-22 by Jack2
[Jack2F01D3R] // 윈도우에서 확인시에 나타나는 폴더명
comment = itclass samba server
path = /bin //실제 Linux에 있는 공유할 폴더
public = yes
writable = yes //쓰기 권한
삼바 재시작
[root@localhost samba]# service smb restart
SMB 서비스를 종료 중: [ OK ]
NMB 서비스를 종료 중: [ OK ]
SMB서비스를 시작 중: [ OK ]
NMB서비스를 시작 중: [ OK ]
이제 반을 한 것이다.
Jack2F01D3R 를 확인할 수 있다.
하지만 일반 유저는 /bin 디렉토리에 읽기와 실행은 가능하지만 쓰기 권한은 없다.
# ls -ld /bin
drwxr-xr-x 2 root root 4096 4월 8 04:43 /bin
ID , P/W 를 안넣었기 때문에 특정 유저가 되는 것이다.
[root@localhost samba_test]# ls -l
합계 44732
-rw-r--r-- 1 root root 0 10월 22 15:02 testtest.txt
-rwxr--r-- 1 nobody nobody 0 10월 22 14:59 tets.txt
-rwxr--r-- 1 nobody nobody 4286 10월 29 2010 tutudisk.ico
-rwxr--r-- 1 nobody nobody 45747664 7월 17 12:39 xme40.exe
=> 윈도우에서 복사한 파일들은 nobody 라고 나온다.
그 이유는 아래와 같다.
[root@localhost samba_test]# grep nobody /etc/passwd
=> 리눅스에서 임의로 접근하는 계정이다.
nobody:x:99:99:Nobody:/:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
=============================================================================
이번에는 보안설정 ㄱㄱ
# vi smb.conf /* 101 Line 이동 */
--------------------------------------------------
# security = share
security = user
--------------------------------------------------
/* security = user 변경한다. */
/* :wq 저정하고 나온다. */
리눅스의 계정만 이용할 뿐 삼바전용 P/W 를 사용하게 된다.
[root@localhost samba_test]# smbpasswd -a doom
New SMB password:
Retype new SMB password:
Added user doom.
[root@localhost samba_test]#
[root@localhost samba_test]# mkdir /share_dir
[root@localhost samba_test]# cd /share_dir/
[root@localhost share_dir]# pwd
/share_dir
0 -rw-r--r-- 1 root root 0 10월 22 15:36 testfile1
[root@localhost share_dir]# chmod 777 /share_dir/
[root@localhost share_dir]# ls -ld /share_dir/
drwxrwxrwx 2 root root 4096 10월 22 15:36 /share_dir/
[root@localhost share_dir]# ls -ld
drwxr-xr-x 2 root root 4096 10월 22 15:36 .
[root@localhost share_dir]# vi /etc/samba/smb.conf
에서 수정을 하자
shift + G 를 누른뒤에 마지막으로 가서
이부분을 복사해서 붙여 넣자
# 2009-10-16 by lee_sang_chul
[Jack2-samba-server]
comment = leesangchul-samba-server
path = /share_dir
browseable = yes
writable = yes
저장을 시키자.
이제 doom 만 사용할 수 있는 폴더를 나타나게 하자
데몬은 재시작 하자
[root@localhost share_dir]# service smb restart
SMB 서비스를 종료 중: [ OK ]
NMB 서비스를 종료 중: [ OK ]
SMB서비스를 시작 중: [ OK ]
NMB서비스를 시작 중: [ OK ]
윈도우에서 \\192.168.100.xxx 로 들어가면 ID , P/W 를 입력하는 창이 나오는 것을 확인할 수 있다.
이제윈도우에 있는 그림파일을 해당 폴더에 집어 넣으면
[root@localhost share_dir]# ls -l
합계 484
-rwxr--r-- 1 doom doom 32183 4월 10 2011 [img] 01. xp_share.jpg
-rwxr--r-- 1 doom doom 33157 4월 10 2011 [img] 02-1. my_share.jpg
-rwxr--r-- 1 doom doom 35343 4월 10 2011 [img] 02-2. samba_test.jpg
-rwxr--r-- 1 doom doom 33157 4월 10 2011 [img] 02. my_share.jpg
-rwxr--r-- 1 doom doom 52412 4월 10 2011 [img] 03-1. share_dir.jpg
-rwxr--r-- 1 doom doom 39977 4월 10 2011 [img] 03-2. share_dir.jpg
-rwxr--r-- 1 doom doom 52412 4월 10 2011 [img] 03. share_dir.jpg
-rwxr--r-- 1 doom doom 118654 4월 10 2011 [img] 03. swat-01.jpg
-rwxr--r-- 1 doom doom 68628 4월 10 2011 [img] 04. swat-02.jpg
=> 이전과 달리 권한자가 doom 인것을 확인할 수 있다.
[02] 리눅스에서 윈도우의 공유폴더(c:\samba 디렉토리) 접속
smbclient 명령어를 이용해서 리눅스에서 윈도우의 공유 디렉토리에 접속해 보자!
(01) c:\samba 디렉토리를 만든다.
디렉토리 속성창을 열어 디렉토리를 "공유" 설정을 한다.
[root@localhost share_dir]# smbclient //172.16.7.12/samba
Password: //여기에서는 윈도우 P/W 를 입력해준다.
하지만
Domain=[LINUX21] OS=[Windows 7 Enterprise 7600] Server=[Windows 7 Enterprise 6.1]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
=> Error 가 나온다.
그렇다면 해결책은?
[root@localhost share_dir]# smbclient //172.16.7.12/S4M134 -U soldesk
=> 특정 사용자 이름을 넣어준다.
Password:
Domain=[LINUX21] OS=[Windows 7 Enterprise 7600] Server=[Windows 7 Enterprise 6.1]
삼바 접속 성공
smb: \> ?
? altname archive blocksize cancel
case_sensitive cd chmod chown close
del dir du exit get
getfacl hardlink help history lcd
link lock lowercase ls mask
md mget mkdir more mput
newer open posix posix_open posix_mkdir
posix_rmdir posix_unlink print prompt put
pwd q queue quit rd
recurse reget rename reput rm
rmdir showacls setmode stat symlink
tar tarmode translate unlock volume
vuid wdel logon listconnect showconnect
!
smb: \>
[root@localhost share_dir]# testparm
=> 문법에 오류가 있으면 오류를 확인할 수 있다.
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[Jack2F01D3R]"
Processing section "[S4M134SAMBA]"
Unknown parameter encountered: "commnet"
Ignoring unknown parameter "commnet"
Processing section "[Jack2-samba-server]"
Loaded services file OK.
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
server string = Samba Server Version %v
passdb backend = tdbsam
cups options = raw
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
[Jack2F01D3R]
comment = itclass samba server
path = /bin
read only = No
guest ok = Yes
[S4M134SAMBA]
path = /samba_test
read only = No
guest ok = Yes
[Jack2-samba-server]
comment = leesangchul-samba-server
path = /share_dir
read only = No
삼바는 기본적으로 웹설정툴인 swat을 제공한다.
이것을 이용하면 웹페이지에 접속하여 삼바의 환경 설정을 편하게 할 수 있다.
[01] SWAT 설정
■ swat는 삼바 설치시 기본으로 설치가 되므로 별도의 설치는 필요없다.
xinetd에 swat를 등록한다. /etc/xinetd.d 라는 디렉토리에 아래의 내용으로 swat라는 파일을 생성해 준다.
# vi /etc/xinetd.d/swat /* 편집 */
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
# to configure your Samba server. To use SWAT, \
# connect to port 901 with your favorite web browser.
service swat
{
port = 901
socket_type = stream
wait = no
protocol = tcp
only_from = 192.168.10.129
// 실무에서는 이렇게 그냥 LINUX IP 를 넣어주면 되나
지금 환경은 VM-Ware 를 사용하므로 /* WinXP의 VMnet8 아이피를 입력해주어야 한다.
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = no
}
저장하고 데몬 재시작
[root@localhost /]# service xinetd restart
xinetd 를 정지 중: [ OK ]
xinetd (을)를 시작 중: [ OK ]
디렉토리를 만드는 것은 리눅스에서 가능하다.
==============================================================================================
Media Wiki Server 설치와 운영
: 일명 위키 온라인 백과사전 , 자유롭게 이용이 가능하다. 유저들이
==================================================================================
[03] suid/sgid 파일 점검
일반 유저 권한으로 suid/sgid가 설정된 파일을 실행할 때에는 해당 파일의 소유자 또는 소유그룹 권한으로 작동하게 되므로 suig/sgid는 보안적인 관점에서 매우 중요하다.
이 때문에 /usr/sbin/sendmail과 같이 전통적으로 root 권한의 suid/sgid가 설정된 파일에서 보안 취약성이 많이 발견된 것이 사실이다. 따라서 초기 시스템 구축시 뿐만 아니라 정기적으로 시스템에서 suid/sgid가 설정된 파일을 모니터링 하여 suid나 sgid가 불필요하다면 파일 자체를 삭제 하거나 s비트를 해제하는 것이 좋다.
[root@localhost mediawiki]# su - doom
[doom@localhost ~]$ ping www.google.co.kr
PING www.l.google.com (72.14.203.105) 56(84) bytes of data.
64 bytes from tx-in-f105.1e100.net (72.14.203.105): icmp_seq=1 ttl=128 time=222 ms
64 bytes from tx-in-f105.1e100.net (72.14.203.105): icmp_seq=2 ttl=128 time=206 ms
64 bytes from tx-in-f105.1e100.net (72.14.203.105): icmp_seq=3 ttl=128 time=211 ms
64 bytes from tx-in-f105.1e100.net (72.14.203.105): icmp_seq=4 ttl=128 time=214 ms
일반유저들이 root 의 명령어를 사용하면 안되는데 이와같은 경우가 발생할 수 있다.
가장먼저 setuid 를 검색하게 해서 일반사용자들의 사용을 막게하는 것이다.
[doom@localhost ~]$ ls -al /bin/ping
-rwsr-xr-x 1 root root 35832 9월 27 2009 /bin/ping
| |
uid gid
[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
=> 숫자로 관리가 된다.
[root@localhost ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
유저이름 x uid
operator:x:11:0:operator:/root:/sbin/nologin
doom을 uid를 0으로 바꾸어주면 root 역할을 할 수 있다.
[root@localhost ~]# find / -type f -perm -4000 -o -perm -2000
/usr/kerberos/bin/ksu
/usr/sbin/lockdev
/usr/sbin/sendmail.sendmail
/usr/sbin/ccreds_validate
/usr/sbin/userhelper
/usr/sbin/usernetctl
/usr/libexec/libvirt_proxy
/usr/libexec/utempter/utempter
/usr/libexec/openssh/ssh-keysign
/usr/lib/vte/gnome-pty-helper
/usr/lib/nspluginwrapper/plugin-config
/usr/bin/chage
/usr/bin/Xorg
/usr/bin/crontab
/usr/bin/gnotravex
/usr/bin/wall
/usr/bin/sudo
/usr/bin/gnotski
/usr/bin/rlogin
/usr/bin/passwd
/usr/bin/at
/usr/bin/ssh-agent
/usr/bin/mahjongg
/usr/bin/same-gnome
/usr/bin/gnibbles
/usr/bin/lockfile
/usr/bin/rcp
/usr/bin/gtali
/usr/bin/write
/usr/bin/glines
/usr/bin/gnomine
/usr/bin/locate
/usr/bin/chsh
/usr/bin/konsole
/usr/bin/screen
/usr/bin/sudoedit
/usr/bin/kgrantpty
/usr/bin/rsh
/usr/bin/gpasswd
/usr/bin/gataxx
/usr/bin/newgrp
/usr/bin/iagno
/usr/bin/chfn
/usr/bin/gnobots2
/usr/bin/staprun
/usr/bin/kpac_dhcp_helper
find: /proc/24533/task/24533/fd/4: 그런 파일이나 디렉토리가 없음
find: /proc/24533/fd/4: 그런 파일이나 디렉토리가 없음
/sbin/unix_chkpwd
/sbin/mount.nfs4
/sbin/netreport
/sbin/mount.ecryptfs_private
/sbin/umount.nfs4
/sbin/pam_timestamp_check
/sbin/mount.nfs
/sbin/umount.nfs
/lib/dbus-1/dbus-daemon-launch-helper
/bin/ping
/bin/mount
=> 시스템 장치를 연결하는 것이다. 일반유저들은 할 필요가 없다. 이런 것을 찾았으면 검색할 수 없게 차단하는 것 같은데...
/bin/umount
/bin/ping6
/bin/su
너무 많이 나오니까 /bin 에서 찾아보자
[root@localhost ~]# find /bin -type f -perm -4000 -o -perm -2000
/bin/ping
/bin/mount
/bin/umount
/bin/ping6
/bin/su
[root@localhost ~]# ls -al /usr/bin/passwd
-rwsr-xr-x 1 root root 22984 1월 7 2007 /usr/bin/passwd
=> uid 로 설정이 되어있다. 바꾼 암호를 2번 물어보게 된다.
(자신의 암호를 바꿀 때 사용한다.)
UID에서 S 비트 권한 제거
[root@localhost ~]# ls -al /usr/bin/at
-rwsr-xr-x 1 root root 43492 1월 27 2010 /usr/bin/at
[root@localhost ~]# chmod u-s /usr/bin/at
[root@localhost ~]# ls -al /usr/bin/at
-rwxr-xr-x 1 root root 43492 1월 27 2010 /usr/bin/at
[root@localhost ~]# chmod u+s /usr/bin/at
[root@localhost ~]# ls -al /usr/bin/at
-rwsr-xr-x 1 root root 43492 1월 27 2010 /usr/bin/at
[root@localhost ~]# chmod 755 /usr/bin/at
[root@localhost ~]# ls -al /usr/bin/at
-rwxr-xr-x 1 root root 43492 1월 27 2010 /usr/bin/at
[root@localhost ~]# chmod u+s /usr/bin/at
[root@localhost ~]# ls -al /usr/bin/at
-rwsr-xr-x 1 root root 43492 1월 27 2010 /usr/bin/at
[root@localhost ~]# chmod 0755 /usr/bin/at
[root@localhost ~]# ls -al /usr/bin/at
-rwxr-xr-x 1 root root 43492 1월 27 2010 /usr/bin/at
GID에서 s 권한 제거
[root@localhost ~]# ls -al /usr/bin/wall
-r-xr-sr-x 1 root tty 10484 1월 21 2009 /usr/bin/wall
[root@localhost ~]# chmod g-s /usr/bin/wall
[root@localhost ~]# ls -al /usr/bin/wall
-r-xr-xr-x 1 root tty 10484 1월 21 2009 /usr/bin/wall
여기에서 S bit 란?
Set-Bit 이해하기
(1) Set-Bit : Set-Bit란 기본권한이외에 특수한 목적을 위해 부여되는 특수권한이다. Set-Bit에는
Set-UID, Set-GID, Sticky Bit이 있으며, 이러한 권한은 시스템운영에 꼭 필요하지만
보안상의 위험을 초래할 수 있으므로 정확한 이해가 필요하다.
[출처 : http://uzoogom.tistory.com/tag/set-bit ]
[참고] 회사의 중요 서버의 계정 관리
ssh 를 이용해서 일반유저로 접속. 그런데 일반유저로 접속이 안되었다. 일반 접속이 안되니까 root 로 접속을 하려고 한다.
======================================================================================
http://wareseeker.com/
[Servers Alive] 의 용도?
HP 회사에서 만든 서버프로그램은 2억짜리 ... 괜히 사는 경우가 생길 수 있다. 가격대 운용비가 안나올 수 있는 것이다. 서버들을 체크하는 것이다.
=> 10개까지 모니터링 가능
Freee windows Health Monitor => 5개 까지는 무료로 사용가능 GUI
'Computer Engineering > LINUX' 카테고리의 다른 글
LINUX#2 (0) | 2011.10.29 |
---|---|
LINUX#2 - (0) | 2011.10.23 |
LINUX#2 (0) | 2011.10.16 |
LINUX#2 - 다시 한 번 시작해 봅시다 ^^ (0) | 2011.10.15 |
LINUX#2 - IDS (0) | 2011.08.01 |