'전체 보기'에 해당되는 글 186건

  1. 2015.03.28 [13] 계정 복구, 계정 관련 Trouble Shooting, chown -R
  2. 2015.03.28 [12] 소유권, 허가권 실습, ftp 관련 권한
  3. 2015.03.28 CentOS 6.6 minimal에 Wordpress 설치하기!
  4. 2015.03.28 [11] 허가권, 소유권, chmod, chown, chgrp
  5. 2015.03.27 PC에 안드로이드 설치하기
  6. 2015.03.27 [10] userdel, groupadd, groupdel, 계정 잠그기
  7. 2015.03.27 [무료] 디스크 내의 데이터 -> ISO 파일 굽기
  8. 2015.03.27 [09] useradd -D, usermod
  9. 2015.03.27 C언어 HW 06
  10. 2015.03.27 Group Policy Management 예제

[13] 계정 복구, 계정 관련 Trouble Shooting, chown -R

|


- 2014.11.24




[문제]


사마달 계정 삭제 뒤 /samadal/ 을 만들고 이 디렉터리를 /export/home/samadal 로 이동하여

이동한 위치를 홈 디렉터리로 하는 samadal 계정을 다시 만드세요.


# userdel -r samadal


# mkdir /samadal/

# mkdir -p /export/home/

# mv /samadal/ /export/home/


# useradd -d /export/home/samadal samadal

useradd: 경고: 홈디렉터리가 이미 있습니다.

skel 디렉터리에서 파일을 복사하지 않습니다.

# cp /etc/skel/.* /export/home/samadal/

cp: omitting directory `/etc/skel/.'

cp: omitting directory `/etc/skel/..'

cp: omitting directory `/etc/skel/.gnome2'

cp: omitting directory `/etc/skel/.mozilla'

# cp -r /etc/skel/.gnome2 /etc/skel/.mozilla /export/home/samadal/


# chmod 700 /export/home/samadal/

# chown -R samadal. /export/home/samadal/





[Trouble Shooting 예제]


# rm -rf ./samadal/

samadal 계정 원상복귀 시키기


# mkdir ./samadal/

# cp /etc/skel/.* /export/home/samadal/

cp: omitting directory `/etc/skel/.'

cp: omitting directory `/etc/skel/..'

cp: omitting directory `/etc/skel/.gnome2'

cp: omitting directory `/etc/skel/.mozilla'

# cd /export/home/

# cp -r /etc/skel/.gnome2 /etc/skel/.mozilla ./samadal

# chmod 700 ./samadal

# chown -R samadal. ./samadal/





*

로그인 안되면 /etc/passwd 와 홈 디렉터리 존재 유무 확인

ftp 업로드 안되면 w 권한 있는지 확인




And


[12] 소유권, 허가권 실습, ftp 관련 권한

|


- 2014.11.21



1. 소유권 허가권 규칙 실습



1) 권한 부여의 우선순위 : user > group > other


2) 허가권 570 : user는 w권한 없지만 group은 w권한이 있다.


3) samadal:root = samadal:samadal 일 수밖에 없다.



*

허가권 other에 권한이 있다면 소유권이 root:root 로 되어있다 하더라도

samadal 계정으로 주어진 권한 행사가 가능하다.

(심지어 001, 005 처럼 user 및 group에 권한이 0이라 하더라도)





2. ftp 관련 권한


ftp를 이용하여 파일을 업로드 할 때에는 r 권한이 없이

w, x 권한만 있어도 해당 디렉터리에 접근 및 업로드가 가능하다.




And


CentOS 6.6 minimal에 Wordpress 설치하기!

|


1. CentOS 6.6 minimal로 설치.


설치 시 시간은 Seoul, hostname은 내가 사용할 홈페이지 주소로 적는다.




2. SELinux 비활성화


SELinux를 비활성화 하더라도 보안에 큰 문제는 없으므로 아래처럼 비활성화 한다.


# vi /etc/sysconfig/selinux

  SELINUX=enabled -> SELINUX=disabled





3. 방화벽 설정


minimal 설치 시 방화벽(iptables)은 작동하지 않고 있으며, 사용을 원한다면 아래처럼 진행


# iptables -X

# iptables -F

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

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

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

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

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

# chkconfig iptables on





4. 필요 패키지 설치 및 실행


1) 패키지 설치


# yum install -y ntp mailx sendmail httpd mysql-server php php-mysql php-gd php-ldap php-imap wget


ntp : 시간 동기화

mailx, sendmail : 메일 전송

httpd : 웹서버

mysql* : Database

php* : php

wget : 외부 다운로드



2) 시스템 부팅 시 자동 실행 설정


# chkconfig ntpd on

# chkconfig sendmail on

# chkconfig httpd on

# chkconfig mysqld on





5. Hostname 설정


설치 도중 hostname 설정을 제대로 하지 않았다면 아래 두 파일에서 호스트네임을 수정


/etc/hosts

/etc/sysconfig/network





6. 재부팅


여태껏 한 여러 설정들이 제대로 작동하려면 재부팅이 필요하다.


# reboot





7. Wordpress 설치파일 셋팅


1) 다운로드 및 압축해제


https://ko.wordpress.org/ 에서 최신버전 wordpress 다운로드 주소를 알아낸다. (.tar.gz 으로)


ex) 4.1.1 버젼 다운로드 및 압축해제

# wget https://ko.wordpress.org/wordpress-4.1.1-ko_KR.tar.gz

# tar xvfz wordpress-4.1.1-ko_KR.tar.gz



2) 웹 기본 경로에 옮기기


웹의 기본 경로는 /var/www/html 이다. 이쪽으로 해당 디렉터리를 옮기자.


# rm -rf /var/www/html/

# mv ./wordpress/ /var/www/html/





8. MySQL 데이터베이스 설정


1) root 비밀번호 설정 및 로그인


# mysqladmin -u root password new_password

# mysql -u root -p



2) DB 생성


wordpress 라는 이름으로 DB 생성

mysql> CREATE DATABASE wordpress;



3) 계정(wp)생성 및 DB 연동


mysql> GRANT ALL PRIVILEGES ON wordpress.* TO wp@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

mysql> exit;





9. 워드프레스 설정파일 및 소유권 수정



1) 설정파일


# cd /var/www/html

# cp wp-config-samples.php wp-config.php


아래와 같이 수정

# vi wp-config.php

// ** MySQL settings - You can get this info from your web host ** //

/** The name of the database for WordPress */

define('DB_NAME', 'wordpress');


/** MySQL database username */

define('DB_USER', 'wp');


/** MySQL database password */

define('DB_PASSWORD', 'password');


/** MySQL hostname */

define('DB_HOST', 'localhost');



2) 소유권 설정


# chown -R apache. /var/www/html/

# service httpd restart



이제 http://ip-address 워드프레스 설정화면이 나타난다.

설정 화면에서 사이트 제목 및 사용자명, 비밀번호, 이메일 주소 등을 입력한 후 워드프레스 설치하기를 눌러 워드프레스 설치를 완료한다.





10. WordPress 접속 및 SMTP 플러그인 설치


워드프레스 설정의 플러그인 메뉴의 플러그인 설치에서 WP-Mail-SMTP를 검색해서 설치한다.

설치 후에 Email 설정에서 다음과 같이 설정한다.



1) Advanced Email Options


From Email: 워드프레스에서 발송되는 메일의 발송자 e-mail  주소를 입력한다.

From Name: 발송자의 이름을 입력한다.

Mailer: 메일 발송에 사용될 메일 프로그램을 선택. Send all WordPress emails via SMTP를 선택한다

Return Path: 회신 주소로 발송자 e-mail을 사용할 경우 체크한다.



2) SMTP Options


SMTP Host: 워드프레스 서버에 sendmail 서비스를 설치했으므로 localhost 로 지정한다.

SMTP Port: 기본으로 사용하는 메일 포트인 25를 사용한다. 메일 포트로 다른 포트(예 587)을 사용할 경우 변경한다.

Encryption: 메일을 암호화하는 옵션. No encryption을 선택한다.

Authentication: No 설정


이와 같이 설정한 후 변경 사항을 저장하고 아래에 Test Email 란에 메일 주소를 입력하여 메일이 발송되는 지 테스트한다.

이젠 개인의 입맛에 맞게 홈페이지를 꾸미면 된다.




And


[11] 허가권, 소유권, chmod, chown, chgrp

|


- 2014.11.20



1. 허가권


ls -l 로 봤을때 맨 앞에 있는 것 : 허가권


                 Owner           Group           Other

           -    r  w  x          r  w  x         r  w  x

       파일     4  2  1         4  2  1         4  2  1             // 각각은 2진수로 2^2, 2^1, 2^0  을 뜻한다.

                        7                7                 7                 // 각 자리의 합을 모두 더해서 나온 숫자

                   x100 = 700      x10 = 70        x1 = 7

           d

    디렉터리


rEAD : 읽기

wRITE : 쓰기

ExECUTE : 실행, 접근


* 741 : Owner은 rwx, Group은 r,  Other은 x 의 권한이 있다는 뜻.



1) x 의 의미


파일 : x가 없다 -> 문서파일, x가 있다 -> 실행파일

디렉터리 : 접근. -> 디렉터리의 경우 디렉터리에 접근(x)을 해야 읽거나(r) 쓸수(w)있다.




2) 파일에서의 권한


r : cat, more, vim, cp 등과 같은 파일의 내용을 읽어 들이는 것과 관련이 있다.

w : cat, echo, vim 등과 같은 파일의 내용을 수정, 변경하는 것과 관련이 있다.

    vim 같은 경우는 :wq!로 저장이 가능하지만 소유주가 변한다.

x : 실행 여부와 관련이 있다.




3) 디렉터리에서의 권한


r : ls, dir 등과 같은 디렉터리 내부 내용을 읽어 들이는 것과 관련이 있다.

w : mkdir, touch, rm, mv 등과 같은 디렉터리 내부에 생성, 삭제와 관련이 있다.

x : 디렉터리의 접근과 관련이 있다. x가 없다는 것은 대부분의 명령어를 이용할 수 없게 된다.




4) 권한 부여


권한을 부여하는 방법은 크게 2가지가 있다.


- numeric method

ex)

# chmod 456 file_dir


- symbolic method

Owner : u / Group : g / Other : o

ex)

# chmod g+r file_dir

# chmod o-x file_dir

# chmod g+r_x,o+w file_dir



ex)

# touch ./test

# ll

합계 0

-rw-r--r-- 1 root root 0 2014-11-20 13:08 test

   6  4  4 의 권한이 부여되어 있음.


예제를 위해 모든 권한 제거

# chmod 000 ./test

# ll

합계 0

---------- 1 root root 0 2014-11-20 13:08 test


그룹에 읽기, 실행 권한 주기

# chmod g+rx ./test

# ll

합계 0

----r-x--- 1 root root 0 2014-11-20 13:08 test


Other 에게 읽기, 쓰기, 실행 권한 주기

# chmod o+xrw ./test

# ll

합계 0

----r-xrwx 1 root root 0 2014-11-20 13:08 test




[문제1]


/backup/inittab 파일을 현재디렉토리(/export/home/samadal/)에 복사후 변경


numeric method 방법으로 변경    ->  r w - - w - - w x

symbolic method 방법으로 변경   ->  - w x r - x r w -

numberic method 방법으로 변경  ->  r - x - w - r w -


# cp /backup/inittab ./


nemeric method

# chmod 623 ./inittab

# ll

합계 4

-rw--w--wx 1 root root 884 2014-11-20 13:14 inittab

----r-xrwx 1 root root   0 2014-11-20 13:08 test


symbolic method

# chmod u+x-r ./inittab

# chmod g+rx-w ./inittab

# chmod o+r-x ./inittab

(= chmod u+x-r,g+rx-w,o+r-x ./inittab  // 콤마(,)에 띄어쓰기 금지)


numberic method

# chmod 526 ./inittab

# ll

합계 4

-r-x-w-rw- 1 root root 884 2014-11-20 13:14 inittab

----r-xrwx 1 root root   0 2014-11-20 13:08 test




[문제]


internet explorer 실행시킨 후 자신의 linux ip를 입력 후 화면 출력  -> 아파치가 깔려있는 경우 아파치 기본 화면 로딩

d드라이브에 있는 index.html을 linux로 업로드를 하세요.           -> 기본 index 파일 생성 후 진행

업로드가 되면 putty로 가셔서 index.html 파일을 /var/www/html/ 디렉터리로 이동시킨 후

internet explorer 를 F5 눌러보세요.


윈도우 cmd, ftp 를 이용하여 업로드 후

# mv ./index.html /var/www/html/ 한 뒤 internet explorer 에서 F5 누르면 됨




[추가]


/val/www/html/ 디렉터리에 있는 index.html 의 권한을 변경하면서

변경시마다 internet explorer 에서 F5를 눌러서 변경사항이 있는지 확인


r w - r - - r - -

        # chmod 644 /var/www/html/index.html

        -> 보여짐


- w - r - - r - -

        # chmod 244 /var/www/html/index.html

        -> 보여짐


r - - r - - r - -

        # chmod u+r-w /var/www/html/index.html

        -> 보여짐


r w - - - - r - -

        # chmod u+w,g-r /var/www/html/index.html

        -> 보여짐


r w - r - - - - -

        # chmod g+r,o-r /var/www/html/index.html

        -> 안보여짐 (Forbidden error)


=> Other의 r  권한이 없기 때문에 index.html 파일을 열 수가 없다.




[문제]


/var/www/디렉터리에 있는 html/ 디렉터리의 권한을 변경하면서

변경시마다 internet explorer에서 F5를 눌러서 변경사항이 있는지 확인하세요


r w x r - x r - x

        # chmod 755 /var/www/html/

        -> 보여짐


- w x r - x r - x

        # chmod 355 /var/www/html

        -> 보여짐


r - x r - x r - x

        # chmod 555 /var/www/html/

        -> 보여짐


r w - r - x r - x

        # chmod 655 /var/www/html/

        -> 보여짐


r w x - - x r - x

        # chmod u+x,g-r /var/www/html/

        -> 보여짐


r w x r - - r - x

        # chmod g+r-x /var/www/html/

        -> 보여짐


r w x r - x - - x

        # chmod g+x,o-r /var/www/html/

        -> 보여짐, 단 Other 권한으로 html 디렉터리 안을 볼 수 없음


r w x r - x r - -

        # chmod o+r-x /var/www/html/

        -> 아파치 기본 화면 보여짐


=> html 디렉터리의 경우 x 권한이 없는 경우 index.html 파일을  불러올 수 없음.





[문제]


※ user 홈 디렉터리는 700 권한이다.

홈디렉터리에 000 ~ 700 권한 변경 하면서 ftp 접속은 되는지, 파일 업로드는 되는지 해보세요


000 : FTP 로그인 실패

100 : FTP 로그인 성공, 업로드 실패, 목록 보기 실패

200 : FTP 로그인 실패

300 : FTP 로그인 성공, 업로드 성공, 목록 보기 실패

400 : FTP 로그인 실패

500 : FTP 로그인 성공, 업로드 실패, 목록 보기 성공

600 : FTP 로그인 실패

700 : FTP 로그인 성공, 업로드 성공, 목록 보기 성공




[결론]


x 권한이 있어야지만 FTP 접속 성공 (100, 300, 500, 700)

x,w 권한이 있어야 FTP 접속 후 업로드 가능 (300, 700)

        300 vs 700 : 목록 보기 가/불가 여부





2. 소유권


소유권 변경 : chown


현재 HOME 디렉터리에 있는 파일 모두 삭제 후 /backup/ 의 3개 파일 모두 복사해온다.


# rm ./*

# cp /backup/* ./

# ll

합계 12

-rw------- 1 root root  739 2014-11-20 14:54 grub.conf

-rw-r--r-- 1 root root  884 2014-11-20 14:54 inittab

-rw-r--r-- 1 root root 1816 2014-11-20 14:54 login.defs




1) 소유자 변경


grup.conf 의 소유자를 samadal로 변경

# chown samadal ./grub.conf

# ll

합계 12

-rw------- 1 samadal root  739 2014-11-20 14:54 grub.conf

-rw-r--r-- 1 root    root  884 2014-11-20 14:54 inittab

-rw-r--r-- 1 root    root 1816 2014-11-20 14:54 login.defs



2) 소유자 + 그릅소유권한 변경


inittab 파일의 소유자와 그룹소유권한을 samadal로 변경

# chown samadal:samadal ./inittab

# ll

합계 12

-rw------- 1 samadal root     739 2014-11-20 14:54 grub.conf

-rw-r--r-- 1 samadal samadal  884 2014-11-20 14:54 inittab

-rw-r--r-- 1 root    root    1816 2014-11-20 14:54 login.defs


login.defs 파일의 소유자는 samadal로, 그룹소유권한은 user1로 변경

# chown samadal:user1 ./login.defs

# ll

합계 12

-rw------- 1 samadal root     739 2014-11-20 14:54 grub.conf

-rw-r--r-- 1 samadal samadal  884 2014-11-20 14:54 inittab

-rw-r--r-- 1 samadal user1   1816 2014-11-20 14:54 login.defs



*

chown 을 통해 소유권 변경 시 UID 및 GID는 각각 /etc/passwd, /etc/group 에서 정보를 얻어 변경한다.

(: 대신 . 으로도 사용 가능하다.)




3) 소유자 & 그룹 동시 변경


# chown root. ./inittab

# ll

합계 12

-rw------- 1 root    samadal  739 2014-11-20 14:54 grub.conf

-rw-r--r-- 1 root    root     884 2014-11-20 14:54 inittab

-rw-r--r-- 1 samadal user1   1816 2014-11-20 14:54 login.defs




4) 그룹만 변경


# chown .root ./login.defs    ( = chgrp samadal ./inittab)

# ll

합계 12

-rw------- 1 root    samadal  739 2014-11-20 14:54 grub.conf

-rw-r--r-- 1 root    root     884 2014-11-20 14:54 inittab

-rw-r--r-- 1 samadal root    1816 2014-11-20 14:54 login.defs




And


PC에 안드로이드 설치하기

|


나는 개인적으로 애플빠 이다.

어느 분의 은혜로운 인도하심에 따라 아이팟터치부터 시작해서 현재는 아이폰 5s를 사용하고 있다.

(물론 잠시 옵티머스 G, 옵티머스 GK 모델을 쓰기도 했지만 이내 갈아탔다.)


헌데 간혹 안드로이드에 좋은 어플이 무료로 풀릴 때가 있는 것 같다.

그럴 때마다 나중을 위해 다운로드 해놓고 싶지만 내겐 안드로이드가 없는 것이 아쉬울 뿐이다.

그래서 안드로이드를 PC에 직접 깔아보려고 한다.



찾아본 설치 방법은 의외로 간단했다. (참고 : http://www.itworld.co.kr/news/83706)

Virtual Box에 Android ISO 파일을 마운트 시켜 설치하면 되는 것이다.


나는 개인적으로 VMware를 사용하기 때문에 VMware에 시도 해보기로 했다.

VMware는 알아서들 구해야 할 것이고 안드로이드 이미지는 http://www.android-x86.org/download 에서 4.4-r1.iso 로 다운받았다.

(Virtual Box 는 무료이니 https://www.virtualbox.org/wiki/Downloads 여기에서 다운받아 진행하면 되겠다.)



VMware 로 새로운 VM을 생성하려고 iso 파일을 선택하니 자동으로 FreeBSD 라는 타입이 검색됬는데 그대로 설치하기로 했다.

램은 1024m 으로, 네트워크는 NAT로 설정한 뒤 설정 완료를 하고 설치에 들어갔다.


설치화면 중의 특이사항이라면 파티션 설정 부분에서 NEW 를 통해 새로운 파티션을 생성하고

Write 를 누른 뒤 Quit 로 파티션 설정을 나와 계속해서 설정을 이어가는 것,

그리고 디스크 포맷 형식을 ext3 으로 하는 것 정도 이다.

그 뒤로는 GRUB 설치에 yes, Debug 할때 좋으나 디스크 용량이 더 필요하고 조금 느려질수 있다는 항목에서는 no 를 선택한다.


이렇게 하면 설치는 완료되고 설정을 시작하면 되는데

언어 선택하는 부분에서 위로 올리면 한국어가 있으니 한국어를 설치한 다음 진행하면 된다.

이제부터 안드로이드는 당신의 것!

한글 입력은 Playstore 에서 한글 키보드를 다운받아 사용하면 되며 한/영 전환은 Shift + Space 이다.


참고로 Home 버튼은 시작 버튼이며 일정시간 이후 화면이 꺼지는 설정은 필요 없으니 꺼두는 것도 좋은 방법.

(헌데 앱중에 세로모드만 지원하는 앱도 있던데 그 경우엔 이용이 불편하더이다...)




2014.11.20 추가)


소리를 어떻게 나게 하는지 모르겠다..ㅜ

구글링 통해 Alt + F1 을 통해 도스모드로 진입 후 lsmod 엔터,

alsa_amixer cset numid=1 1

alsa_amixer cset numid=2 50

alsa_amixer cset numid=16 1

alsa_amixer cset numid=17 50

를 입력하라고 해서 해봤는데 나는 실패했다. 이 외에도 다른 numid 를 넣어 켤 수 있는 장치는 다 켰어도 실패..




And


[10] userdel, groupadd, groupdel, 계정 잠그기

|


- 2014.11.19


[Remark]


useradd 로 사용자를 추가하게 되면 아래 6가지에 정보가 생성된다.

1) /etc/passwd

2) /etc/shadow

3) /etc/group

4) /etc/gshadow

5) /$HOME

6) /var/spool/mail




1. userdel


userdel 명령어를 이용하면 home directory와 mail은 삭제되지 않는다.

-r 옵션을 쓰면 home directory와 mail도 삭제된다.



*


userdel 로 삭제하면 user를 복구할 수 있다.

하지만 userdel -r 옵션으로 삭제하면 데이터까지 삭제되기 때문에 user를 복구할 수 없다.





2. groupadd


# groupadd s1


# tail /etc/group

nfsnobody:x:65534:

gdm:x:42:

sshd:x:74:

stapusr:x:156:

stapsys:x:157:

stapdev:x:158:

tcpdump:x:72:

slocate:x:21:

samadal:x:500:

s1:x:501:


GID 를 600으로 줘서 새로운 그룹 생성


# groupadd -g 600 s2

# tail -4 /etc/group

slocate:x:21:

samadal:x:500:

s1:x:501:

s2:x:600:


# groupadd s3

# tail -4 /etc/group

samadal:x:500:

s1:x:501:

s2:x:600:

s3:x:601:


GID 가 502가 아닌 601로 생성되었다.

즉, group id는 가장 나중 번호 다음 번호로 생성이 된다.





3. groupdel


ex)

# groupdel s1

# groupdel s2

# groupdel s3

# groupdel s4

# groupdel s5




[실습]


사용자 : user1, user2

그룹 : g1, g2  생성


# useradd user1

# useradd user2

# groupadd g1

# groupadd g2





4. usermod 로 user의 그룹 정보 변경


group을 동아리라고 생각한다면

동아리 추가는 -G : 공유 그룹 추가

동아리 변경은 -g : 내 그룹으로 변경


1) -G 로 그룹 정보 변경


# usermod -G g1 user1

# tail -3 /etc/passwd

samadal:x:500:500:madalgyo:/export/home/samadal:/bin/bash

user1:x:501:501::/home/user1:/bin/bash

user2:x:502:502::/home/user2:/bin/bash


# tail -5 /etc/group

samadal:x:500:

user1:x:501:

user2:x:502:

g1:x:503:user1

g2:x:504:




2) -g 로 그룹 정보 변경


# usermod -g g2 user2

# tail -4 /etc/group

user1:x:501:

user2:x:502:

g1:x:503:user1

g2:x:504:


# tail -3 /etc/passwd

samadal:x:500:500:madalgyo:/export/home/samadal:/bin/bash

user1:x:501:501::/home/user1:/bin/bash

user2:x:502:504::/home/user2:/bin/bash


# id user1

uid=501(user1) gid=501(user1) groups=501(user1),503(g1)

# id user2

uid=502(user2) gid=504(g2) groups=504(g2)



*


공유그룹은 1개밖에 추가로 못가진다. 다른 그룹으로 덮으면 기존 공유그릅은 삭제된다.





[문제1]


usermod 실습 원상복귀


# usermod -G user1 user1

# usermod -g user2 user2

# id user1

uid=501(user1) gid=501(user1) groups=501(user1)

# tail -4 /etc/group

user1:x:501:user1

user2:x:502:

g1:x:503:

g2:x:504:




[문제2]


-작업환경-

user : testuser

UID : 200

Gid : tg(2000)

shell : ksh

$home : /hosting

skel : /skelsam

auto creating directory : public_html

auto creationg file : .sam


모든 작업은 기본경로를 변경하지 않고 옵션만으로 사용자를 생성하세요.

모든 작업 완료 후 정상 로그인되는지 확인하세요.

실패시 삭제 후 다시 작업


# groupadd -g 2000 tg

# mkdir -p /skelsam/public_html /hosting


# cp /etc/skel/.* /skelsam

# cp -r /etc/skel/.gnome2 /etc/skel/.mozilla /skelsam

# touch /skelsam/.sam


# useradd -u 1200 -g tg -s /bin/ksh -d /hosting/testuser -m -k /skelsam testuser

# passwd testuser


결과물 확인 : testuser로 로그인 후

$ pwd

/hosting/testuser


$ ll -a

합계 36

drwx------ 4 testuser tg   4096 2014-11-19 14:05 .

drwxr-xr-x 3 root     root 4096 2014-11-19 14:03 ..

-rw-r--r-- 1 testuser tg     18 2014-11-19 14:00 .bash_logout

-rw-r--r-- 1 testuser tg    176 2014-11-19 14:00 .bash_profile

-rw-r--r-- 1 testuser tg    124 2014-11-19 14:00 .bashrc

drwxr-xr-x 2 testuser tg   4096 2014-11-19 14:00 .gnome2

-rw-r--r-- 1 testuser tg    171 2014-11-19 14:00 .kshrc

drwxr-xr-x 4 testuser tg   4096 2014-11-19 14:00 .mozilla

-rw-r--r-- 1 testuser tg      0 2014-11-19 14:01 .sam

-rw------- 1 testuser tg    110 2014-11-19 14:07 .sh_history

drwxr-xr-x 2 testuser tg   4096 2014-11-19 14:01 public_html


$ tail -1 /etc/passwd

testuser:x:1200:2000::/hosting/testuser:/bin/ksh


$ tail -1 /etc/group

tg:x:2000:


$ id testuser

uid=1200(testuser) gid=2000(tg) groups=2000(tg)




[문제3]


-작업환경-

user : tiger

Uid : 700

공유그룹 : g1

별칭 : silver

홈디렉토리 : /local_host/home/

쉘 : 본쉘

skel : /skel/

자동생성 디렉터리 : public_html

자동생성파일 : public_html/index.html <-- www.silvertiger.com 추가


기본설정 건드리지 말고 옵션만을 이용하여 설정

설정 후 정상로그인 되는지 확인. 실패 시 삭제 후 다시 생성


# mkdir -p /local_host/home/

# mkdir /skel/


# cp /etc/skel/.* /skel/

# cp -r /etc/skel/.gnome2 /etc/skel/.mozilla /skel/

# mkdir /skel/public_html


# cat > /skel/public_html/index.html

www.silvertiger.com


# useradd -u 700 -G g1 -c silver -d /local _host/home/tiger -s /bin/sh -m -k /skel tiger


tiger로 로그인 하여 정상 생성 되었는지 확인

-sh.4.1$ pwd

/local_host/home/tiger


-sh.4.1$ ll -a

합계 36

drwx------ 5 tiger tiger 4096 2014-11-19 14:36 .

drwxr-xr-x 3 root  root  4096 2014-11-19 14:36 ..

-rw-r--r-- 1 tiger tiger   18 2014-11-19 14:35 .bash_logout

-rw-r--r-- 1 tiger tiger  176 2014-11-19 14:35 .bash_profile

-rw-r--r-- 1 tiger tiger  124 2014-11-19 14:35 .bashrc

drwxr-xr-x 2 tiger tiger 4096 2014-11-19 14:35 .gnome2

-rw-r--r-- 1 tiger tiger  171 2014-11-19 14:35 .kshrc

drwxr-xr-x 4 tiger tiger 4096 2014-11-19 14:35 .mozilla

drwxr-xr-x 2 tiger tiger 4096 2014-11-19 14:35 public_html


-sh.4.1$ cat ./public_html/index.html

www.silvertiger.com


-sh.4.1$ tail -1 /etc/passwd

tiger:x:700:700:silver:/local_host/home/tiger:/bin/sh


-sh.4.1$ id tiger

uid=700(tiger) gid=700(tiger) groups=700(tiger),503(g1)





5. 계정 잠그기


1) passwd -l tiger(계정명) : lock

 -u tiger(계정명)       : unlock


② usermod -L tiger(계정명) : lock

          -U tiger(계정명) : unlock



*


passwd 명령어로 unlock 하는 경우, Linux 재부팅 해야 적용되지만

usermod 명령어로 unlock 하는 경우, 바로 적용된다.



And


[무료] 디스크 내의 데이터 -> ISO 파일 굽기

|


집 네트워크 망에서의 용량 큰 파일의 복사 및 이동은 컴퓨터간의 심각한 부하를 일으킴과 동시에 속도도 느리다.

하지만 실제 Real PC끼리 말고 Real PC -> VM 으로의 데이터 이동은 네트워크를 이용할 필요가 없다.

내가 옮길 데이터들을 ISO 이미지로 구워 VM 안의 DVD-ROM 으로 마운트 시키면 되는 것이다.


내가 사용한 프로그램은 imgBrun 이라는 프로그램이다.


다운로드 site  : http://www.imgburn.com/index.php?act=download


미러링 사이트 중 아무거나 골라 다운로드하면 된다. 속도가 매우 느리다..

한글판으로 사용하려면 한글 언어팩을 다운 받아 C:\Program Files (x86)\ImgBurn\Languages 에 넣으면 된다.

일부 메뉴가 한글로 덜 번역되어 오류가 뜨지만 무시하고 사용하면 된다고 한다. (from http://rdsong.com/809)

 


메뉴가 여러가지 있는데 내가 선택한 메뉴는 Creat image file from files/folders 이다. (4번째 메뉴)

(주의해야 할 점은 CD 에 불붙어 있는 아이콘은 CD로 굽는 메뉴라는 것)


Creat image file from files/folders 를 누르면 왼쪽 중간에 내가 넣고자 하는 파일 및 폴더를 Source 에 넣은 후

맨 아래 폴더그림 -> iso 그림 버튼을 누르고 OK 만 계속 누르면 끝이다.


네트워크로 파일 복사할 때보다 약 10배정도 빠른 속도를 보여줬다.

(네트워크 : 10m/s, ISO img : 100m/s)


꼭 VM으로의 파일 이동 목적이 아니더라도 앞으로 두고두고 유용히 쓸 수 있는 프로그램인듯 하다.




And


[09] useradd -D, usermod

|


- 2014.11.18




1. useradd -D


하나의 명령어이며, 유저 생성에 대한 기본 설정


useradd에 대한 기본 설정 출력


# cat /etc/default/useradd

GROUP=100          // -g : /etc/group d에 user 번호가 100이다. 즉 user 생성 시 자신의 이름으로 그룹 생성하라는 설정번호

HOME=/home        // -b

INACTIVE=-1        // -f : 계정 만료 시 어떻게 할 것인가?

                               -1 : 기능정지 / 0 : 사용정지

EXPIRE=              // -e YYYYMMDD

SHELL=/bin/bash    // -s

SKEL=/etc/skel      // 옵션 x, vi로만 편집

CREATE_MAIL_SPOOL=yes




[문제1]


shell : tsch -> 문서를 이용한 변경

$home : /test -> 명령어를 이용한 변경

skel : /skelsam -> 문서를 이용한 변경

user : user7


변경을 한 후 useradd user7 입력 후 user7이 정상적으로 로그인되는지 확인


vi /etc/default/useradd  를 통해 바꾼다.

useradd -D -b /test 로 바꾼다.

없는 디렉터리 생성한다.

계정생성하고 passwd 바꾸고 실행하면 됨




[문제2]


파일 /backup/grub.conf 를 디렉터리 /usertest/test/public 에 grub로 복사후 열기

5번째줄 하단에 리눅스 IP의 출력내용을 삽입

(eth로 시작하는것만 삽입하고 lo로 시작하는 것은 제외)

skel로 사용할 디렉토리 /test/ut/ 에 파일 conf로 저장후 열기

디렉터리 /usertest/ 에 사용자 user8 생성

이때 파일 conf가 .conf로 자동생성되도록 해보세요.


절대 기본정보 쓰지않고 옵션만을 통해서 작업하세요


# mkdir -p /usertest/test/public

# cp /backup/grub.conf /usertest/test/public/grub

# vi /usertest/test/public/grub

        :5r! ifconfig eth0

        -> lo 로 시작하는 부분 삭제

        !mkdir -p /test/ut/

        :w /test/ut/.conf

# cp /etc/skel/.* /test/ut/

# cp -r /etc/skel/.gnome2 /etc/skel/.mozilla /test/ut/

# useradd -d /usertest/user8 -m -k /test/ut user8

# passwd user8




[문제3]


문서를 이용한 기본 skel 변경 : /test/ut

사용자 : user9

명령어 : useradd user9


# vi /etc/default/useradd

/etc/skel -> /test/ut

# useradd user9

# passwd user9





2. usermod


user modify


usermod [option] [argument] ... [account_name]


# tail -5 /etc/passwd

testtt:x:513:513::/usertest/testtt:/bin/bash

user6:x:514:514::/linux/user6:/bin/bash

user7:x:515:515::/test/user7:/bin/tcsh

user8:x:516:516::/usertest/user8:/bin/bash

user9:x:517:517::/home/user9:/bin/bash

              -u   -g -c        -d              -s


*


-l : user 이름 변경, -p : passwd 변경이지만 사용하지 않는 것이 편함.

만들고 난 후기 때문에 skel 은 변경 불가능




[문제1]


user3 의 home directory를 gangnam -> user3 로 변경


# usermod -d /linux/user3 user3

# ll /linux

합계 8

drwx------ 4 user3 user3 4096 2014-11-17 14:13 gangnam

drwx------ 4 user6 user6 4096 2014-11-18 12:52 user6

# mv /linux/gangnam/ /linux/user3/


하지만 user3 로그인 시 /linux/user3/ 이 아닌 / 에서 로그인이 된다.

passwd 는 동사무소와 같다. 동사무소에 신고한 뒤에 실제로 이사를 해야한다.


# mv /linux/gangnam/ /linux/user3/

# ll /linux

합계 8

drwx------ 4 user3 user3 4096 2014-11-17 14:13 user3

drwx------ 4 user6 user6 4096 2014-11-18 12:52 user6




[문제2]


Q : user2 : testuser -> usertest

A : # usermod -c usertest user2


Q : user7 : tcsh -> bash

A : # usermod -s /bin/bash user7


Q : user9 : comment -> lastuser

A : # usermod -c lastuser user9




[문제3]


samadal 포함 모든 사용자를 /export/home/ 으로 변경하세요


변경후 정상로그인되는지 확인


# mkdir -p /export/home/

# mv /linux/user3 /export/home/

# mv /usertest/ /export/home/

# mv /export/home/usertest/* /export/home/

# mv /linux/user6/ /export/home/

# mv /test/user7/ /export/home/

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

# mv /home/us* /export/home/


각자의 home directory 경로를 /export/home/ 으로 변경

치환 명령어 사용하면 편하다. ex) %s//home//export/home

# vi /etc/passwd




And


C언어 HW 06

|


[ hw06 ]


---------------------------------------------------------------------


#1


#include <stdio.h>


int main()

{

int a[10];

int i;


for(i=0;i<10;i++)

{

printf("%d번째 정수를 입력하시오 : ", i+1);

scanf("%d", &a[i]);

}


for(i=0;i<9;i++)

{

if (a[i] > a[i+1])            // 따로 tmp 인수를 만들지 않고 기존의 인수를 활용하려고 하였다.

a[i+1] = a[i];

}

printf("가장 큰 정수값은 %d입니다.\n", a[9]);

return 0;

}


---------------------------------------------------------------------


#2


#include <stdio.h>

#define size_a 10


float max(float *p);

float min(float *p);

float avg(float *p);



int main()

{

float a[size_a];

int i;

float *p;

p = a;


for(i=0;i<size_a;i++)

{

printf("%d번째 체중 : ", i+1);

scanf("%f", &a[i]);

}


printf("최고체중 : %0.1f    최저체중 : %0.1f    평균체중 : %0.1f\n", max(p), min(p), avg(p));

return 0;

}


float max(float *p){

int i;

float max;

for(i=0;i<size_a-1;i++)

{

if (*(p+i) > *(p+i+1))

max = *(p+i);

}

return max;

}


float min(float *p){

int i;

float min;

for(i=0;i<size_a-1;i++)

{

if (*(p+i) > *(p+i+1))

min = *(p+i+1);

}

return min;

}


float avg(float *p){

int i;

float avg = 0;

for(i=0;i<size_a;i++)

avg += *(p+i);


return avg/10;

}


---------------------------------------------------------------------


#3


#include <stdio.h>


double dp(double x, int n);


int main(){

double x;

int n;


printf("x^n 을 계산하는 프로그램입니다. x와 n을 입력하시오. (x, n) :");

scanf("%lf, %d", &x, &n);


printf("%lf의 %d제곱 = %lf", x, n, dp(x, n));


return 0;

}


double dp(double x, int n){

if (n==1)

return x;

else

return x*dp(x, n-1);             // 재귀함수 사용

}


---------------------------------------------------------------------


#4    // 구글 검색해서 힌트 얻음


#include <stdio.h>


int gcd(int a, int b);


int main(){

int a, b;


printf("최대공약수를 구할 두 수를 입력하세요(a, b) : ");

scanf("%d, %d", &a, &b);

printf("%d와 %d의 최대공약수는 %d 입니다.\n", a, b, gcd(a, b));


return 0;

}


int gcd(int a, int b){            // 정수론 시간에 배운 내용이었는데,, 이렇게 활용되는구나

if (b==0)

return a;

gcd(b, a%b);

}


---------------------------------------------------------------------


#5


#include <stdio.h>

#include <stdlib.h>


int main(){

int *score;

int sn, i, a, b, c, d, f;

a = b = c = d = f = 0;


printf("학생 수 : ");

scanf("%d", &sn);


score = (int *)malloc(sizeof(int)*sn);


for(i=0;i<sn;i++){

printf("%d번째 학생의 점수를 입력하세요 : ", i+1);

scanf("%d", &score[i]);

if (score[i] >= 90)

a++;

else if (score[i] >= 80)

b++;

else if (score[i] >= 70)

c++;

else if (score[i] >= 60)

d++;

else

f++;

}


printf("\n90점 이상 : ");

for(i=0;i<a;i++){

printf("*");

}

printf("\n80점 이상 : ");

for(i=0;i<b;i++){

printf("*");

}

printf("\n70점 이상 : ");

for(i=0;i<c;i++){

printf("*");

}

printf("\n60점 이상 : ");

for(i=0;i<d;i++){

printf("*");

}

printf("\n60점 미만 : ");

for(i=0;i<f;i++){

printf("*");

}

printf("\n");


free(score);


return 0;

}



---------------------------------------------------------------------


#6



#include <stdio.h>

#include <stdlib.h>

#include <time.h>


int main(){


int num, seed;

int i = 1;


seed = time(NULL);

srand(seed);

num = rand() % 100;

while(1)

{

printf("어떤 숫자일지 맞춰보세요 : ");

scanf("%d", &seed);

if (num == seed){

printf("%d번만에 맞추셨네요~ 짝짝짝\n", i);

break;

}

else if (num > seed ){

printf("더 작은 수를 입력하셨네요~\n");

i++;

}

else{

printf("더 큰 수를 입력하셨네요~\n");

i++;

}

}


return 0;

}



---------------------------------------------------------------------




'Study > C언어' 카테고리의 다른 글

C언어 HW 05  (0) 2015.03.27
C언어 HW 04  (0) 2015.03.27
C언어 HW 03  (0) 2015.03.27
C언어 HW 02  (0) 2015.03.27
C언어 HW 01  (0) 2015.03.27
And


Group Policy Management 예제

|


Windows Server 2012 R2 English Version 기준.

Tools - Group Policy Management 에 접속하여 설정 진행



1. Script 를 이용한 Bandizip 설치


User Configuration - Policies - Windows Settings - Scripts - Logon - Add - BAT file 선택(네트워크 경로로 설정)


bandizip.bat 예제

if exist "C:\Program Files\Bandizip\" goto end

\\AD\MSI\BANDIZIP\BANDIZIP-SETUP-KR.EXE /S

:end




2. Drivemaps - 네트워크 폴더


User Configuration - Preferences - Windows Settings - Drive Maps


오른클릭 - New - Mapped Drive


Action - Create

Location : \\공유서버이름\폴더이름

Label as : 붙여줄 이름

Drive Letter : 드라이브 이름

아래쪽 옵션 중 Hide/Show this drive : Show this drive




3. MSI 파일 설치


Computer Configuration - Software Settings - Software installation


오른클릭 - New - Package - 네트워크 경로로 파일 선택




And


prev | 1 | ··· | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | next