[29] autofs(2), su - 명령어 제한

|


- 2014.12.16




1. autofs


[환경설정]


HDD : 1G, SCSI

Partition : 100, 200, 300, 400

automount 및 autofs 설정, userpartition : 100M

모든 설정 완료 후 계정 samadal의 정보를 변경하세요~~!!!




시스템 종료하고 HDD 추가, 다시 켠 다음 fdisk로 파티션설정 후 mkfs로 포맷


mount point(/SCSI/sdb1~4) 생성 후 automount 설정

# vi /etc/fstab

     19 /dev/sdb1               /SCSI/sdb1              ext4    defaults                1 2

     20 /dev/sdb2               /SCSI/sdb2              ext4    defaults                1 2

     21 /dev/sdb3               /SCSI/sdb3              ext4    defaults                1 2

     22 /dev/sdb4               /SCSI/sdb4              ext4    defaults                1 2


마운트 잘 되나 확인

# mount -a

# df -h


fstab 의 경우는 재부팅 해주는 것이 좋다.

# init 6




[autofs server 측 설정]


nfs service 설치 되어있나 확인 후 nfs 설정 및 서비스 시작

# rpm -qa | grep nfs

# vi /etc/exports

      1 /SCSI/sdb1      192.168.1.0/24(rw,no_root_squash,sync)

      2 /SCSI/sdb2      192.168.1.139(rw,no_root_squash,sync)

      3 /SCSI/sdb3      192.168.1.139(rw,no_root_squash,sync)

      4 /SCSI/sdb4      *(rw,no_root_squash,sync)


# /etc/rc.d/init.d/nfs restart


exports 변경에 대한 적용은 restart 말고 아래 명령어로도 진행 가능하다.

# exportfs -ra



시스템 시작 시 nfs 및 autofs 서비스 자동 실행 설정

# chkconfig nfs on

# chkconfig autofs on


다시 한번 전체적으로 확인

# exportfs -ra

# exportfs -v

# rpcinfo -p




[autofs client 측 설정]


autofs 사용 설정

# vi /etc/autofs.conf

     38 browse_mode = yes


마운트 설정 적용 후 데몬 재시작

# vi /etc/auto.misc

     17 sdb1            -rw,hard,intr           192.168.1.139:/SCSI/sdb1

     18 sdb2            -rw,hard,intr           192.168.1.139:/SCSI/sdb2

     19 sdb3            -rw,hard,intr           192.168.1.139:/SCSI/sdb3

     20 sdb4            -rw,hard,intr           192.168.1.139:/SCSI/sdb4


# /etc/rc.d/init.d/autofs restart


설정 잘 되었는지 확인

# ll /misc/

# mount

mount 로 확인하려면 디렉터리에 접근 후 확인 가능하다. 일정시간 지나거나 접근이 없으면 마운트를 자동 해제하기 때문.

# df -h /misc/sdb1





[실습]


위 파티션 에 200(user1), 400(user2) 생성


# useradd -d /misc/sdb2/user1 user1

# useradd -d /misc/sdb4/user2 user2

# passwd user1

# passwd user2




* autofs 특징


일정 시간 이용하지 않으면 마운트 해제하여 리소스를 줄여준다.

다시 접근하려고 하면 다시 마운트 한다.




[문제]


기존 사용자는 유지

SCSI HDD 제거 후 아래와 같이 작업.

HDD(1G, IDE) : 500(Pri.), 300(Log.), 200(Pri.)

normal nfs : 500(samadal)

autofs : 300(user1), 200(user2)



client 측 기존 사용자 설정 백업

# mv /misc/sdb1/samadal/ /home/

# mv /misc/sdb2/user1/ /home/

# mv /misc/sdb4/user2/ /home/



server 측 설정


기존 설정들 주석 처리

# vi /etc/fstab

# vi /etc/exports

# vi /etc/auto.misc


시스템 종료하고 하드 추가, fdisk 및 mkfs 설정

mkdir(/IDE/sda1,3,5 /nfs_client/sda1 후 automount 설정

# vi /etc/fstab

     23 /dev/sda1               /IDE/sda1               ext4    defaults        1 2

     24 /dev/sda3               /IDE/sda3               ext4    defaults        1 2

     25 /dev/sda5               /IDE/sda5               ext4    defaults        1 2

# vi /etc/exports

      4 /IDE/sda1       192.168.1.139(rw,no_root_squash,sync)

      5 /IDE/sda3       192.168.1.139(rw,no_root_squash,sync)

      6 /IDE/sda5       192.168.1.139(rw,no_root_squash,sync)


재설정한 exports 항목 적용

# exportfs -ra

# exportfs -v



client 측 설정


서버측 설정 확인

# rpcinfo -p 192.168.1.139


normal nfs 방식으로 sda1 mount 및 확인

# mount -t nfs 192.168.1.139:/IDE/sda1 /nfs_client/sda1

# df -h


autofs 방식을 sda3, sda5 마운트

# vi /etc/auto.misc

     21 IDE_sda3        -rw,hard,intr           192.168.1.139:/IDE/sda3

     22 IDE_sda5        -rw,hard,intr           192.168.1.139:/IDE/sda5


server의 nfs, client의 autofs 서비스 재시작

# /etc/rc.d/init.d/autofs restart

# /etc/rc.d/init.d/nfs restart



사용자 계정 살리기

# mv /home/samadal/ /nfs_client/sda1/

# mv /home/user1/ /misc/IDE_sda5/

# mv /home/user2/ /misc/IDE_sda3/

# usermod -d /nfs_client/sda1/samadal samadal

# usermod -d /misc/IDE_sda5/user1 user1

# usermod -d /misc/IDE_sda3/user2 user2


헌데 user1도, user2도 su - 명령어로 root 권한 얻을 수 있다.

특정 사용자만 관리자 권한 얻을 수 있도록 변경해보자.





2. su - 명령어 제한


ssh 보안 접속 되는 계정 : user1

ssh 보안 접속 안되는 계정 : 그 외 계정


먼저 su 명령어 위치 확인해야한다.


# find / -name su -exec ls -l {} ;

/bin/su 에 있는 것을 알았다. 정보를 보니 SetUID 설정 되어 있는 것 확인 가능.


wheel 이라는 기존 그룹을 통해 관리자 명령어를 쓸 수 있게 해주자.

(다른 임의의 그룹을 통해 진행해도 된다.)

# chown .wheel /bin/su

# chmod 4750 /bin/su

# usermod -G wheel user1




'Study > CentOS' 카테고리의 다른 글

[31] bind, DNS실습  (0) 2015.04.06
[30] nfs_autofs 실습, dns  (0) 2015.04.06
[28] nfs(2), nfs auto mount, autofs(1)  (0) 2015.04.04
[27] auto mount, 응급복구, nfs(1)  (0) 2015.03.28
[26] vnc(2), vnc with ssh, ftp  (0) 2015.03.28
And


[28] nfs(2), nfs auto mount, autofs(1)

|


- 2014.12.15




1. nfs Server



NFS : Network File System


1) /etc/export 설정


NFS Service 를 구성하기 위한 설정내용을 작성하는 NFS의 주 설정 파일이며, 기본적으로 아무런 데이터도 입력되어 있지 않다.


아래 내용 입력

# vi /etc/exports

      1 # NFS configure file (/etc/exports)

      2

      3 # [Share dir]   [access allow host/network] (option)

      4 /nfs_server      192.168.1.134 (ro,no_root_squash,sync)

      5 # /nfs_server1  192.168.1.0/255.255.255.0 (rw,sync)

      6 # /nfs_server2  *(sync) //all network allow

          공유 디렉터리            Client ip (option)



※ nfs option

ro : 읽기 전용으로만 연결을 허용한다.

rw : 읽기 쓰기 가능하게 연결을 허용한다.

root_squash : NFS 설정 시 기본값이 되며 클라이언트측에 관리자가 접속 요청을 했을 때 익명 계정으로 연결을 허용한다.

no_root_squash : 클라이언트 측에 관리자가 접속 요청을 했을 때 서버 측에서의 관리자 계정으로 매핑을 시켜 연결을 허용한다.

no_all_squash :  NFS 설정 시 기본값이 되며 클라이언트 측에 사용자가 접속 요청을 했을 때 서버 측에 동일한 사용자가 있으면 동일한 계정으로 연결을 허용한다.

해당 계정이 존재하지 않을 경우는 클라이언트의 UID, GID 값이 동일한 사용자로 연결 허용한다.

all_squash : 클라이언트 측에서 사용자로 접근 요청 했을 떄 익명 계정으로 연결을 허용한다.

anonuid=[UID] : 클라이언트 측에서 익명으로 접근 요청 시 지정한 UID 값의 계정으로 연결하게 된다.

anongid=[GID] : 클라이언트 측에서 익명으로 접근 요청 시 지정한 GID 값의 그룹으로 연결하게 된다.

noaccess : 공유 디렉터리 내에서 접근을 거부할 디렉터리가 있으면 사용한다.

sync : server & client 동기화시키기.




2) portmap 데몬의 동작 여부 확인


5 이전 버전의 경우 portmap service를 따로 재시작 해줘야한다.

# /etc/rc.d/init.d/portmap restart


portmap 데몬의 동작 여부 확인

# rpminfo -p




3) NFS 데몬 실행


portmap 동작이 확인 되었으면 NFS 서비스를 동작 시킨다.

# /etc/rc.d/init.d/nfs restart


헌데 아래와 같은 오류 메세지가 출력된다.

exportfs: Failed to stat /nfs_server: No such file or directory

exportfs: No host name given with /nfs_server (ro,no_root_squash,sync), suggest *(ro,no_root_squash,sync) to avoid warning

exportfs: Failed to stat /nfs_server: No such file or directory


먼저는 /nfs_server 라는 디렉터리가 없다고 하니 디렉터리 생성 후에 다시 재시작 해보자.

# mkdir /nfs_server

# /etc/rc.d/init.d/nfs restart


하지만 여전히 나오는 에러 메세지. read only 옵션이 문제인가? 해서 rw로 수정.

exportfs: No host name given with /nfs_server (ro,no_root_squash,sync), suggest *(ro,no_root_squash,sync) to avoid warning


# vi /etc/exports

      4 /nfs_server     192.168.1.134 (rw,no_root_squash,sync)


# /etc/rc.d/init.d/nfs restart


여전히 오류난다.

알고보니 ip 와 옵션() 사이에 공백이 있으면 안되는 것. 공백 수정 후 리스타트하면 성공이다.


# vi /etc/exports

      4 /nfs_server     192.168.1.134(rw,no_root_squash,sync)




4) NFS 동작 여부 확인


# netstat -lntup | grep nfs


NFS 서비스는 netstat으로 확인 불가하다. 아래 명령어로 확인 가능하다.

# rpcinfo -p




5) NFS 서버 확인


공유정보 확인

# exportfs -v


NFS의 설정(/etc/exports) 정보가 변경되었을 경우 NFS 서비스를 재시작 할 필요 없이 아래 명령어를 사용하여 변경된 내용을 적용할 수 있다.

# exportfs -ra





2. nfs - Client


NFS 서버가 정상적으로 동작하는지 확인

# rpcinfo -p 192.168.1.134

                        서버 ip


마운트포인트 생성

# mkdir /nfs_client/


# mount -t nfs 192.168.1.134:/nfs_server /nfs_client

          type option          server                   client mp



마운트 내역 확인

# df -h




[실습]


samadal 계정정보를 마운트시킨 /nfs_client 로 정보변경 후 samadal이 정상 로그인되는지 확인


# cp ./* ./.* /nfs_client

# mv /export/home/samadal/ /nfs_client/

# usermod -d /nfs_client/samadal samadal


# df -h

Filesystem            Size  Used Avail Use% Mounted on

192.168.1.134:/nfs_server

                      7.6G  336M  6.9G   5% /nfs_client


근데 최상위가 있는 파티션을 빌려줬다...?

=> nfs는 디렉터리를 빌려주는 것이 아니라 마운트 된 디렉터리가 있는 파티션을 빌려주기 때문.




[문제]


samadal을 제외한 모든 사용자 삭제 및 IDE HDD 제거하신 후 HDD SCSI 1G : 100(user1), 200, 300, 400

자동마운트, nfs server 설정 후 user1 생성하세요



/etc/fstab 내용에 추가한 것 삭제하여 부팅 시 오류 발생을 막는다.

# vi /etc/fstab


계정 삭제 위해 계정 정보 확인

# tail /etc/passwd


# userdel -r user1

# userdel -r clang1

# userdel -r clang2

# userdel -r linux1

# userdel -r linux2

# userdel -r ms1

# userdel -r ms2

# userdel -r na

# userdel -r np


시스템 종료

# init 0


HDD 삭제 및 추가, 재부팅 하여 필요 없는 mount point 삭제

# rm -rf /Anon/ /Clang/ /Linux/ /Ms/ /Net/


새로 추가한 HDD의 파티션 및 포맷 설정

# fdisk -l

# fdisk /dev/sdb

# mkfs.ext4 /dev/sdb 1~4


mount point 생성 후 auto mount 설정

# mkdir /SCSI/

# cd /SCSI/

# mkdir sdb1 sdb2 sdb3 sdb4


# vi /etc/fstab

     19 /dev/sdb1       /SCSI/sdb1      ext4    defaults        1 2

     20 /dev/sdb2       /SCSI/sdb2      ext4    defaults        1 2

     21 /dev/sdb3       /SCSI/sdb3      ext4    defaults        1 2

     22 /dev/sdb4       /SCSI/sdb4      ext4    defaults        1 2


# mount -a

# df -h


마운트 되는 것 확인하면 재부팅 해보는 것이 좋다.



[NFS Server 측 설정]


# vi /etc/exports

      4 /SCSI/sdb1      192.168.1.134(rw,no_root_squash,sync)

      5 /SCSI/sdb2      192.168.1.0/255.255.255.0(rw,no_root_squash,sync)

      6 /SCSI/sdb3      *(rw,no_root_squash,sync)

      7 /SCSI/sdb4      192.168.1.0/24(rw,no_root_squash,sync)


변경사항 적용 및 확인

# exportfs -ra

# exportfs -v



[NFS Client 측 설정]


Server 및 mount point 확인

# rpcinfo -p 192.168.1.134

# cd /nfs_client

# mkdir sdb1 sdb2 sdb3 sdb4


마운트 후 확인

# mount -t nfs 192.168.1.134:/SCSI/sdb1 /nfs_client/sdb1

# df -h


계정 추가

# useradd -d /nfs_client/sdb1/user1 user1

# passwd user1




[ nfs auto mount ]


서버 재부팅 후에도 자동으로 마운트 되도록 설정할 수 있다.

그렇다면 서버측에서 nfs 서비스를 서버 재시작 시 자동 실행되게끔 해야한다.

# chkconfig nfs on




[문제]


기존 HDD SCSI 1G : 100(user1), 200(samadal), 300(user2), 400(user3)

자동마운트, nfs server 설정 후 사용자 생성하세요



/etc/fstab 의 마운트 타입을 수정하여 기재.

# vi /etc/fstab

     23 192.168.1.134:/SCSI/sdb1        /nfs_client/sdb1        nfs     defaults        1 2

     24 192.168.1.134:/SCSI/sdb2        /nfs_client/sdb2        nfs     defaults        1 2

     25 192.168.1.134:/SCSI/sdb3        /nfs_client/sdb3        nfs     defaults        1 2

     26 192.168.1.134:/SCSI/sdb4        /nfs_client/sdb4        nfs     defaults        1 2


계정 정보 설정

# mv /nfs_server/samadal/ /nfs_client/sdb2/

# usermod -d /nfs_client/sdb2/samadal samadal

# useradd -d /nfs_client/sdb3/user2 user2

# useradd -d /nfs_client/sdb4/user3 user3


특정 마운트 용량 확인

# df -h /nfs_client/sdb1





3. autofs


[실습 전 작업]


기존 VMware 삭제, 기존에 client 로 남겨두었던 VMware 실행

putty로 root 정상 로그인 되도록 설정

test 계정 삭제, samadal 계정 생성


이전엔 ssh로의 root 접근을 막았다.

root로 접근 가능하도록 42번줄 앞에 # 붙이기


# vi /etc/ssh/sshd_config

   42 #PermitRootLogin yes


# userdel -r test

# useradd samadal

# passwd samadal




[autofs 란?

자동 마운트 데몬의 작동을 제어하는 프로그램

자동 마운트 데몬은 자동으로 사용 시 파일 시스템을 마운트로 하고 일정시간동안 사용을 하지 않으면 언마운트 하는 데몬

주로 NFS나 cd/dvd rom 장치, floopy 등의 자주 사용되지 않는 마운트 할 때 사용하는 데몬




[Client 쪽 설정]


6.5 버전 까지는 /etc/sysconfig/autofs 였으나

6.6 부터는 /etc/autofs.conf 파일이다.


autofs 사용 여부, 사용할 것이니 yes로 변경

# vi /etc/autofs.conf

     38 browse_mode = yes



실제 마운트에 관한 정보 입력

# vi /etc/auto.misc

     16 /nfs_client     -ro,hard,intr           192.168.1.139:/nfs_server

           Client 측           option                         Server측


실제 마운트시킬 디렉터리와 mount point 생성

# mkdir /nfs_server/ /nfs_client/


재시작 시 autofs 자동 실행 되도록 설정

# chkconfig autofs on


헌데 재부팅 했는데도 마운트가 되지 않는다. 혹시나 해서 -ro -> -rw 로 변경 후 재부팅

# vi /etc/auto.misc

     16 /nfs_client     -rw,hard,intr           192.168.1.139:/nfs_server


하지만 여전히 안됨.



# ll /misc/


디렉터리 내용물 한번 확인(?) 해보고 다시 auto.misc 파일 수정. client 측 주소에서 / 를 뺐다.

# vi /etc/auto.misc

     16 nfs_client     -rw,hard,intr           192.168.1.139:/nfs_server


하지만 또 안된다.

아까 확인했던 디렉터리 가보니 nfs_client 디렉터리가 생성되었다.

# ll /misc/

합계 0

dr-xr-xr-x 2 root root 0 2014-12-15 15:14 cd

dr-xr-xr-x 2 root root 0 2014-12-15 15:14 nfs_client


기존에 만들었던 mount point를 삭제

# rm -rf /nfs_client/


/etc/auto.master 파일 보면 auto.misc에 있는 내용을 /misc에다 알아서 적용하라는 내용이 있다.

즉, /misc = autofs base mount point


# vi /etc/auto.master

      7 /misc   /etc/auto.misc


/etc/auto.misc 에만 적으면 mount point 따로 만들어 줄 필요 없이 자동으로 master에 적혀있는 위치에 자동으로 mount point를 만들어준다.


autofs에 관한 자세한 설명은 다음 시간에 계속




[다음 실습을 위한 준비]


samadal 계정의 홈 디렉터리를 /misc/nfs_client/ 로 설정


# mv /home/samadal/ /misc/nfs_client/




'Study > CentOS' 카테고리의 다른 글

[30] nfs_autofs 실습, dns  (0) 2015.04.06
[29] autofs(2), su - 명령어 제한  (0) 2015.04.04
[27] auto mount, 응급복구, nfs(1)  (0) 2015.03.28
[26] vnc(2), vnc with ssh, ftp  (0) 2015.03.28
[25] vnc(1)  (0) 2015.03.28
And


리눅스(CentOS)에서 토렌트 사용하기

|


1. 토렌트 프로그램 다운로드 및 설치


외부로부터 프로그램 다운로드 위해 설치

# yum install -y wget


# wget http://dl.fedoraproject.org/pub/epel/6/i386/transmission-daemon-2.13-1.el6.i686.rpm 

# wget http://dl.fedoraproject.org/pub/epel/6/SRPMS/transmission-2.13-1.el6.src.rpm

# wget ftp://195.220.108.108/linux/epel/6/i386/transmission-common-2.13-1.el6.i686.rpm

# rpm -ivh transmission-2.13-1.el6.src.rpm

# rpm -ivh transmission-daemon-2.13-1.el6.i686.rpm transmission-common-2.13-1.el6.i686.rpm

 

데몬 초기 실행

# service transmission-daemon start

 


 



2. 토렌트 설정


원격 토렌트 제어 시 사용할 계정 설정

# transmission-daemon -u user_name -v password


다운로드 디렉터리 생성 및 지정

# mkdir /downloads

# transmission-daemon -w /downloads


토렌트 파일을 감지하여 자동으로 다운로드 시작하게 할 디렉터리

# mkdir /torrents

# transmission-daemon -c /torrents


방화벽 개방

# iptables -A INPUT -p tcp --dport 9091 -j ACCEPT





3. 추가 Tip


transmission 데몬 관리

# /etc/rc.d/init.d/transmission-daemon {start / stop / restart ... }


데몬 자동 실행

# chkconfig transmission-daemon {on / off}


원격에서 자동 다운로드 되도록 셋팅

토렌트 파일 감지하는 디렉터리에 ftp를 만들어

다운로드 하고자 하는 토렌트 파일을 디렉터리에 업로드 진행

혹은 # transmission-remote -a torrentfile_url 로 명령어 진행


명령어로 설정을 진행한 경우 해당 User의 홈 디렉터리에 설정파일 생성된다.

# vi ~/.config/transmission-daemon/settings.json


토렌트 원격 관리 프로그램, Client OS에 맞춰 다운로드

https://code.google.com/p/transmisson-remote-gui/downloads/list

=> whitelist 기능도 false 했는데 서버 접속이 거절된다. 추가 설정 필요


Transmission 공식 사이트 : http://www.transmissionbt.com/



And