'Study/CentOS'에 해당되는 글 40건
- 2015.03.28 [20] 분실된 root 비밀번호 재설정, grub 암호설정 ps, top, pstree, kill, who, write, wall, skill, inittab, uname, file
- 2015.03.28 [19] partition, mkfs, mount 실습
- 2015.03.28 [18] HDD & Partition, MBR, fdisk, mkfs, mount, umount
- 2015.03.28 [17] rpm(2), yum
- 2015.03.28 [16] rpm(1)
- 2015.03.28 [15] gzip, bzip2, tar, man
- 2015.03.28 [14] SETUID, SETGID, Stickybit, UMASK
- 2015.03.28 [13] 계정 복구, 계정 관련 Trouble Shooting, chown -R
- 2015.03.28 [12] 소유권, 허가권 실습, ftp 관련 권한
- 2015.03.28 [11] 허가권, 소유권, chmod, chown, chgrp
[20] 분실된 root 비밀번호 재설정, grub 암호설정 ps, top, pstree, kill, who, write, wall, skill, inittab, uname, file
| Study/CentOS 2015. 3. 28. 14:07- 2014.12.03
1. 분실된 root 비밀번호 재설정
1) 시스템 재부팅, 부팅시 VM logo 뜨면 아무 키나 누른다.
2) 최신 커널 선택 후 알파벳 e를 누른다.
3) kernel ... 을 선택한 후 알파벳 e를 누른다.
4) rhgb quiet 를 지우고 single 이라고 입력한다.
5) b를 통해 boot 시킨다.
6) passwd 통해 패스워드 변경
7) reboot 후 확인
2. grub에 암호 설정
1) 프롬프트 상태에서 grub를 입력한다.
2) grub> 에서 md5crypt를 입력한 후 password 를 넣는다.
3) 암호화된 패스워드를 복사 해둔다.
4) # vi /etc/grub.conf (=# vi /boot/grub/grub.conf)를 열어 주석 밑에
password --md5 [복사한 암호화된 password]
5) 재부팅 통해 grub 모드 들어가 p 눌러 password 입력 되는지 확인한다.
3. ps
현재 동작하고 있는 프로세스들의 상황(스냅샷)을 보여줌 - 실시간이 아닌 그 때 그 상황
in Windows)
Ctrl + Shift + Ese : Process Management 실행 단축키
system idle process - 시스템 점유율 갖고 있다가 필요한 곳에 주는 녀석.
in Linux)
# ps -ef 명령어를 주로 사용.
UID : 사용자
PID : Process ID
PPID : Parent Process ID
C : CPU
STIME : Start Time
TTY : terminal
TIME : 작업시간
CMD : 명령어 (= PID)
즉, UID 사용자가 STIME 시간에 TTY(terminal)을 통해 CMD 명령어를 실행한 시간이 TIME 만큼이고 이 때 CPU 점유율은 C 만큼이다.
4. top
프로세스 실행 상황을 3초의 간격을 두고 새로고침하여 보여준다.
스페이스를 누르면 현재 프로세스 실행 상황을 보여준다.
꺽쇠 (< , >) 통해 화면 전환 가능하며 h 누르면 도움말, q 누르면 종료.
단, 프로세스가 어떻게 연결되어 있는지 잘 모른다.
5. pstree
프로세스를 트리 형식으로 보여준다.
# pstree -p : with PID
-pn : with PID & 번호순
6. kill
프로세스 강제 종료 명령어.
# kill + PID : PID 프로세스 종료
7. who
현재 접속 중인 사용자 상황 조회
자세히보기 : # w
8. write
접속중인 사용자에게 메세지 전송
# write 사용자계정 pts/n (<- who 명령어 통해 알 수 있음)
연결 끊기 : Ctrl + C
9. wall
모든 사용자에게 메세지 전달. 즉 broadcast message 전달.
# wall 할말
10. skill
특정 사용자의 접속 끊기
# skill -KILL 사용자명
11. inittab
# vi /etc/inittab 에서 설정 변경 가능.
- runlevel. (init 숫자)
0 - halt
1 - Single Single user mode
2 - Multiuser, without NFS
3- Full multiuser mode
4 - unused
5 - X11
6 - reboot
12. uname
시스템 정보를 출력
ex)
# uname
Linux
# uname -a
Linux localhost.localdomain 2.6.32-504.1.3.el6.x86_64 #1 SMP Tue Nov 11 17:57:25 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
# uname -i
x86_64
13. file
리눅스의 파일 속성 확인 및 디스크 파티션 포맷 확인
1) 파일 속성 확인
# file [file_name]
2) 디스크 파티션 포맷 확인
# file -s /dev/sda1
'Study > CentOS' 카테고리의 다른 글
[22] SELinux(소개), NIC, route, netstat, arp, nslookup, dig (0) | 2015.03.28 |
---|---|
[21] 이론 - ip, subnetmask, prefix (0) | 2015.03.28 |
[19] partition, mkfs, mount 실습 (0) | 2015.03.28 |
[18] HDD & Partition, MBR, fdisk, mkfs, mount, umount (0) | 2015.03.28 |
[17] rpm(2), yum (0) | 2015.03.28 |
- 2014.12.02
[문제1]
본인이 마운트한 마운트들을 모두 해제합니다.
cd-rom을 마운트한후에 cd안에 있는 Packages에서 mysql*을 설치해보세요
단, /mdeia/CentOS_6.6_Final/packages/는 절대 사용하지 말고
본인이 직접 마운트해서 사용하세요.
# dh -f
# umount /dev/sda5
# umount /dev/sda1
# dh -f
# mkdir /Packages
# mount /dev/sr0 /Packages/
# cd /Packages/Packages/
# ll | grep mysql
rpm -ivh 통해 설치
빠진 것 없나 확인
# rpm -qa | grep mysql*
# ls ./mysql*
[문제2]
사마달 계정 정보 변경하세요 : /dev/sda1
# fdisk -l
# mount /dev/sda1 /linuxtest/
# ll /linuxtest/
# cd ~samadal
# cp ./.* /linuxtest/
cp: omitting directory `./.'
cp: omitting directory `./..'
cp: omitting directory `./.gnome2'
cp: omitting directory `./.mozilla'
# cp -r ./.gnome2 ./.mozilla /linuxtest/
# usermod -d /linuxtest/ samadal
[문제3]
기존에 마운트했던 파티션 모두 해제한 후 작업
partitin : sda1
mp : pm13
user : test1
이 때 samadal 계정도 반드시 활성화
samadal 홈 디렉터리 백업
# umount /linuxtest
파티션 삭제
# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0f6516c0
Device Boot Start End Blocks Id System
/dev/sda1 1 65 522081 83 Linux
/dev/sda2 66 130 522112+ 5 Extended
/dev/sda5 66 91 208813+ 83 Linux
Command (m for help): d
Partition number (1-5): 5
Command (m for help): d
Partition number (1-5): 2
Command (m for help): d
Selected partition 1
Command (m for help): p
...
Device Boot Start End Blocks Id System
파티션 생성
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +400M
Command (m for help): p
...
Device Boot Start End Blocks Id System
/dev/sda1 1 52 417658+ 83 Linux
Command (m for help): w
The partition table has been altered!
파티션 포맷
# mkfs.ext4 /dev/sda1
# mkdir /pm13
# mount /dev/sda1 /pm13
# useradd -d /pm13/test1 test1
# usermod -d /pm13/samadal samadal
[문제4]
mp : /mp
user : test2
size : 300M (Extended and Ligical)
# fdisk /dev/sda
...
Command (m for help): p
...
Device Boot Start End Blocks Id System
/dev/sda1 1 52 417658+ 83 Linux
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 2
First cylinder (53-130, default 53):
Using default value 53
Last cylinder, +cylinders or +size{K,M,G} (53-130, default 130): +300M
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (53-91, default 53):
Using default value 53
Last cylinder, +cylinders or +size{K,M,G} (53-91, default 91):
Using default value 91
Command (m for help): p
...
Device Boot Start End Blocks Id System
/dev/sda1 1 52 417658+ 83 Linux
/dev/sda2 53 91 313267+ 5 Extended
/dev/sda5 53 91 313236 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 장치나 자원이 동작 중.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
# init 6
#
login as: root
root@192.168.1.142's password:
Last login: Tue Dec 2 13:49:56 2014 from 192.168.1.1
# mkfs.ext4 /dev/sda5
mke2fs 1.41.12 (17-May-2010)
/dev/sda5 is mounted; will not make a filesystem here!
=> 음? 이상하다?
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 7.6G 266M 6.9G 4% /
tmpfs 504M 72K 504M 1% /dev/shm
/dev/sda1 190M 26M 155M 15% /boot
/dev/sda6 190M 18M 163M 10% /home
/dev/sda2 5.7G 3.3G 2.2G 60% /usr
/dev/sda5 1.9G 176M 1.7G 10% /var
=> 기존에 있던 하드가 sdb 에서 sda 로 바뀌었다.
=> 하마터면 /var 에 있는 것을 포맷할 뻔했다.
다시 확인
# fdisk -l
...
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 791 6144000 83 Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3 791 1313 4194304 82 Linux swap / Solaris
/dev/sda4 1313 2611 10427392 5 Extended
/dev/sda5 1313 1568 2048000 83 Linux
/dev/sda6 1568 1594 204800 83 Linux
/dev/sda7 1594 2611 8171520 83 Linux
...
Device Boot Start End Blocks Id System
/dev/sdb1 1 52 417658+ 83 Linux
/dev/sdb2 53 91 313267+ 5 Extended
/dev/sdb5 53 91 313236 83 Linux
=> 신규로 만든 하드가 sdb로 바뀐 것 확인함.
test1 과 samadal 이 있는 홈 디렉터리 재설정 위해 pm13에 sdb1 을 다시 마운트
# mount /dev/sdb1 /pm13
새로 만든 파티션 포맷
# mkfs.ext4 /dev/sdb5
...
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
mp 디렉터리 생성하여 마운트 함
# mkdir /mp
# mount /dev/sdb5 /mp
test2 계정 생성
# useradd -d /mp/test2 test2
# passwd test2
[문제5]
mp: / mp
user : test2, test3
size : 400M
t2 홈디렉터리 백업
logical, extended 파티션 삭제
새로운 primary 파티션 생성
재부팅
(# umount 로 사용 중인 하드 내 마운트를 모두 해제한뒤 작업하면 재부팅 필요 없음)
다시 mp 잡아주고
test3 생성하면 됨
[문제6]
mp : /ho
user : test4
size : 200M
기존 마운트 제거
(# umount /pm13 /mp)
extended & logical 파티션 생성
포맷
/ho 디렉터리 생성
기존 파티션 마운트 및 새로운 파티션 마운트
# useradd -d /ho/test4 test4
# passwd test4
[문제7]
기존 사용자 모두 제거하고 아래와 같이 설정하세요.
partition type m.p user
500M logical /linux samadal
200M Primary /mp user1
200M logical /mnt/cdrom user2, user3
100M Primary /hp user4
* 기존 사용자 모두 삭제 : # userdel -r 사용자명
파티션 생성
Primary 1 : Extended 700M - sda1
Logical 500M - sda5 / Logical 200M - sda6
Primary 2 : 200M - sda2
Primary 3 : 100M(나머지) - sda3
차례대로 포맷한 뒤 마운트
# useradd -d 홈디렉터리 사용자명
# passwd 사용자명
'Study > CentOS' 카테고리의 다른 글
[21] 이론 - ip, subnetmask, prefix (0) | 2015.03.28 |
---|---|
[20] 분실된 root 비밀번호 재설정, grub 암호설정 ps, top, pstree, kill, who, write, wall, skill, inittab, uname, file (0) | 2015.03.28 |
[18] HDD & Partition, MBR, fdisk, mkfs, mount, umount (0) | 2015.03.28 |
[17] rpm(2), yum (0) | 2015.03.28 |
[16] rpm(1) (0) | 2015.03.28 |
- 2014.12.01
1. HDD & partition
[Partition]
파티션에는 크게 3종류가 있다.
1) Primary partition
주 파티션 : 최대 4개까지 가능
2) Extended partition
확장 파티션 : 주 파티션 1개를 빌려와 확장시켜주는 역할. (과일바구니의 바구니 역할)
3) Logical partition
논리 파티션 : 확장 파티션 안에 구성되는 파티션. 무한개로 생성 가능하다.
ex) 파티션 6개가 필요한 경우
주 파티션 3개를 만들고 나머지 파티션 전체를 확장 파티션으로 만든다. 그 뒤 확장 파티션에 필요한 만큼 논리 파티션으로 만든다.
[HDD Type]
1) IDE(병렬)
hd + 문자 : hda, hdb, hdc, hdd ...
-----> CD-Rom
2) SCSI(직렬)
sd + 문자 : sda, sdb, sdc, sdd ...
[Partition Type]
1) IDE(병렬)
hd + 문자 + 숫자 : hda1, hde4, hdf7 ...
2) SCSI(직렬)
sd + 문자 + 숫자 : sda3, sde5, sdc6 ...
ex)
sde 1 | 2 | 3 | 4
hdb 1 | 2 | 3 | 4(E) - 5(L)
sdf 1 | 2(E) - 5(L) | 2(E) - 6(L) | 2(E) - 7(L)
※ Logical Partition은 5번부터 시작한다.
2. MBR
모든 파티션에는 BR(Boot Record)가 있어 파티션 내의 정보들을 담고 있다.
특별히 OS 에는 MBR이 있어 파티션이 OS가 없는 파티션의 BR과 정보를 공유하는 역할을 한다.
ex)
USB를 꽂으면 USB 파티션의 BR 이 OS 의 MBR과 정보 교환이 일어나 OS에 있는 프로그램을 이용하여 USB 내의 파일을 읽을 수 있다.
MBR은 512kb 의 용량을 갖고 있으며 grub 로 설정 변경이 가능하다.
3. HDD 추가 및 설정
1) VM 에서 HDD 추가
2) 추가된 HDD 확인
# fdisk -l
=> VM에서 추가한 HDD를 확인한다. 나의 경우에는 sda 이다.
# fdisk /dev/sda
=> sda 하드에 대한 fdisk 메뉴 접근
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition -> 삭제
l list known partition types
m print this menu -> 도움말
n add a new partition -> 생성
o create a new empty DOS partition table
p print the partition table -> 확인
q quit without saving changes -> 저장 하지 않고 종료
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit -> 저장하고 종료
x extra functionality (experts only)
Command (m for help): p
Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1f71f85f
Device Boot Start End Blocks Id System
=> 새로 추가된 하드이기 때문에 어떠한 파티션도 나타나지 않는다.
3) 새로운 파티션 생성
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +500M
=> default 값인 1부터 몇개의 실린더를 사용할지 적어도 되지만
+와 단위를 붙여 사이즈 크기로 잡을 수도 있다.
Command (m for help): p
Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1f71f85f
Device Boot Start End Blocks Id System
/dev/sda1 1 65 522081 83 Linux
=> 약 500M로 파티션이 나눠진 것을 확인 할 수 있다.
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# fdisk -l /dev/sda
Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1f71f85f
Device Boot Start End Blocks Id System
/dev/sda1 1 65 522081 83 Linux
=> 약 500M의 파티션이 생성된 것 확인
4) 파일 시스템 생성
mkfs : make file system
Cent5.x : # mkfs.ext3 /dev/hda1 (or) mkfs -t ext3 /dev/hda1
Cent6.x : # mkfs.ext4 /dev/sda1 (or) mkfs -t ext4 /dev/sda1
[포맷 실습]
# mkfs.ext4 /dev/sda1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
130560 inodes, 522080 blocks
26104 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
64 block groups
8192 blocks per group, 8192 fragments per group
2040 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
=> 3번의 done 이 나오면 포맷 성공
4. 마운트
어떤 파일 시스템을 디렉터리 일부에 넣어서 이용가능하게 하는 작업.
하나의 파티션을 하위 디렉터리처럼 쓰는 것을 마운트라 한다.
# mount /dev/sda1 /m.p(mount point)
# unmout /dev/sda1 or /m.p
[실습]
# mkdir /mnt/cdrom/ /linuxtest/
/mnt/cdrom/ 에는 testfile1 을, /linuxtest/ 에는 testfile2 를 생성
# touch /mnt/cdrom/testfile1 /linuxtest/testfile2
VMware 프로그램에서 CD-ROM에 이미지 삽입
# ls -l /dev/hd*
ls: cannot access /dev/hd*: 그런 파일이나 디렉터리가 없습니다
=> 원래는 hd3 가 cdrom 전용 하드였는데 CentOS 6 으로 올라오면서 hd 는 없어졌다.
# ls -l /dev/cdrom
lrwxrwxrwx 1 root root 3 2014-12-01 13:38 /dev/cdrom -> sr0
=> /dev/cdrom 에 보니 sr0 으로 심볼릭 링크 되어있는 것 확인할 수 있다.
# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
=> #mount /dev/sr0 과 같은 명령어이며 /mnt/cdrom 디렉터리에 읽기 전용으로 마운트 되었다.
- 교재 108p, 마운트 되어 있는 상태 보여주는 명령어
# mount
/dev/sdb7 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sdb1 on /boot type ext4 (rw)
/dev/sdb6 on /home type ext4 (rw)
/dev/sdb2 on /usr type ext4 (rw)
/dev/sdb5 on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
/dev/sr0 on /mnt/cdrom type iso9660 (ro)
=> 하지만 보기 불편하다.
보기 좋은 다른 명령어
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb7 7.6G 316M 6.9G 5% /
tmpfs 504M 72K 504M 1% /dev/shm
/dev/sdb1 190M 26M 155M 15% /boot
/dev/sdb6 190M 18M 163M 10% /home
/dev/sdb2 5.7G 3.1G 2.3G 58% /usr
/dev/sdb5 1.9G 175M 1.7G 10% /var
/dev/sr0 3.8G 3.8G 0 100% /mnt/cdrom
# ls -l /mnt/cdrom
합계 562
-r--r--r-- 2 root root 14 2014-10-24 22:59 CentOS_BuildTag
-r--r--r-- 2 root root 212 2013-11-27 18:36 EULA
-r--r--r-- 2 root root 18009 2013-11-27 18:36 GPL
dr-xr-xr-x 2 root root 534528 2014-10-24 23:16 Packages
-r--r--r-- 2 root root 1354 2014-10-20 00:59 RELEASE-NOTES-en-US.html
-r--r--r-- 2 root root 1706 2013-11-27 18:36 RPM-GPG-KEY-CentOS-6
-r--r--r-- 2 root root 1730 2013-11-27 18:36 RPM-GPG-KEY-CentOS-Debug-6
-r--r--r-- 2 root root 1730 2013-11-27 18:36 RPM-GPG-KEY-CentOS-Security-6
-r--r--r-- 2 root root 1734 2013-11-27 18:36 RPM-GPG-KEY-CentOS-Testing-6
-r--r--r-- 1 root root 3165 2014-10-24 23:17 TRANS.TBL
dr-xr-xr-x 3 root root 2048 2014-10-24 23:17 images
dr-xr-xr-x 2 root root 2048 2014-10-24 23:12 isolinux
dr-xr-xr-x 2 root root 4096 2014-10-24 23:17 repodata
=> 마운트 했기 때문에 아까 생성한 testfile1 이 보이질 않는다. 언마운트 하면 다시 보인다.
# umount /dev/sr0
=> 혹은 # umount /mnt/cdrom
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb7 7.6G 316M 6.9G 5% /
tmpfs 504M 72K 504M 1% /dev/shm
/dev/sdb1 190M 26M 155M 15% /boot
/dev/sdb6 190M 18M 163M 10% /home
/dev/sdb2 5.7G 3.1G 2.3G 58% /usr
/dev/sdb5 1.9G 175M 1.7G 10% /var
# ll /mnt/cdrom
합계 0
-rw-r--r-- 1 root root 0 2014-12-01 14:17 testfile1
=> 언마운트 하니 다시 tesetfile1 이 보여지는 것을 확인할 수 있다.
[실습]
내가 만든 파티션을 /mnt/cdrom에 마운트
# fdisk -l /dev/sda
Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1f71f85f
Device Boot Start End Blocks Id System
/dev/sda1 1 65 522081 83 Linux
# mount /dev/sda1 /mnt/cdrom
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb7 7.6G 316M 6.9G 5% /
tmpfs 504M 72K 504M 1% /dev/shm
/dev/sdb1 190M 26M 155M 15% /boot
/dev/sdb6 190M 18M 163M 10% /home
/dev/sdb2 5.7G 3.1G 2.3G 58% /usr
/dev/sdb5 1.9G 175M 1.7G 10% /var
/dev/sda1 486M 2.3M 458M 1% /mnt/cdrom
/mnt/cdrom/ 에 testfile3 를 생성한뒤 언마운트 하여 이 파일이 정확히 어디에 생성되는지 확인
# touch /mnt/cdrom/testfile3
# umount /dev/sda1
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb7 7.6G 316M 6.9G 5% /
tmpfs 504M 72K 504M 1% /dev/shm
/dev/sdb1 190M 26M 155M 15% /boot
/dev/sdb6 190M 18M 163M 10% /home
/dev/sdb2 5.7G 3.1G 2.3G 58% /usr
/dev/sdb5 1.9G 175M 1.7G 10% /var
=> 언마운트 된 것 확인
해당 파티션을 /linuxtest 에 재 마운트 시켜 testfile3 의 존재를 확인
# ll /linuxtest
합계 0
-rw-r--r-- 1 root root 0 2014-12-01 14:17 testfile2
# mount /dev/sda1 /linuxtest
# ll /linuxtest/
합계 12
drwx------ 2 root root 12288 2014-12-01 14:07 lost+found
-rw-r--r-- 1 root root 0 2014-12-01 14:37 testfile3
=> 파티션에 testfile3 에 있는걸 확인가능
동시에 2곳에 마운트 시키기
# mount /dev/sda1 /mnt/cdrom
# ll /mnt/cdrom
합계 12
drwx------ 2 root root 12288 2014-12-01 14:07 lost+found
-rw-r--r-- 1 root root 0 2014-12-01 14:37 testfile3
새로운 testfile4 생성
# touch /mnt/cdrom/testfile4
# ll /linuxtest/
합계 12
drwx------ 2 root root 12288 2014-12-01 14:07 lost+found
-rw-r--r-- 1 root root 0 2014-12-01 14:37 testfile3
-rw-r--r-- 1 root root 0 2014-12-01 14:40 testfile4
=> /mnt/cdrom/ 에 만든 파일이 /linuxtest/ 에도 있다. 같은 파티션을 다른 곳에 마운트 시키면 공유된다.
하지만 잘 사용하지 않는다.
[실습]
Extened partition 및 logical partition 만들기
# fdisk /dev/sda
...
Command (m for help): p
...
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 2
First cylinder (66-130, default 66):
Using default value 66
Last cylinder, +cylinders or +size{K,M,G} (66-130, default 130): +300M
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (66-104, default 66):
Using default value 66
Last cylinder, +cylinders or +size{K,M,G} (66-104, default 104):
=> 남은 용량을 모두 쓸 맨 마지막 파티션은 사이즈를 적지 말고 그냥 엔터를 누른다.
Using default value 104
Command (m for help):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 장치나 자원이 동작 중.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
=> The new table will be used at the next reboot : 재시작 해야 적용됨
=> 이 메세지가 나오면 재시작 필요.
포맷 명령어가 안되는 것을 확인할 수 있다.
# mkfs.ext4 /dev/sda5
mke2fs 1.41.12 (17-May-2010)
Could not stat /dev/sda5 --- 그런 파일이나 디렉터리가 없습니다
The device apparently does not exist; did you specify it correctly?
재부팅
# init 6
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb7 7.6G 316M 6.9G 5% /
tmpfs 504M 72K 504M 1% /dev/shm
/dev/sdb1 190M 26M 155M 15% /boot
/dev/sdb6 190M 18M 163M 10% /home
/dev/sdb2 5.7G 3.1G 2.3G 58% /usr
/dev/sdb5 1.9G 176M 1.7G 10% /var
=> 마운트 된 것이 없어졌다. 즉 mount 명령어를 통한 마운트는 필요할 때 잠깐 쓰는 방법.
# mount /dev/sda1 /mnt/cdrom
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb7 7.6G 316M 6.9G 5% /
tmpfs 504M 72K 504M 1% /dev/shm
/dev/sdb1 190M 26M 155M 15% /boot
/dev/sdb6 190M 18M 163M 10% /home
/dev/sdb2 5.7G 3.1G 2.3G 58% /usr
/dev/sdb5 1.9G 175M 1.7G 10% /var
/dev/sda1 486M 2.3M 458M 1% /mnt/cdrom
# mount /dev/sda5 /linuxtest/
mount: you must specify the filesystem type
=> sda1은 마운트 되지만 sda5는 운트 안됨. 포맷 되지 않았다(filesystem type을 결정하라)는 에러
# mkfs.ext4 /dev/sda5
...
# mount /dev/sda5 /linuxtest/
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb7 7.6G 316M 6.9G 5% /
tmpfs 504M 72K 504M 1% /dev/shm
/dev/sdb1 190M 26M 155M 15% /boot
/dev/sdb6 190M 18M 163M 10% /home
/dev/sdb2 5.7G 3.1G 2.3G 58% /usr
/dev/sdb5 1.9G 175M 1.7G 10% /var
/dev/sda1 486M 2.3M 458M 1% /mnt/cdrom
/dev/sda5 289M 2.1M 271M 1% /linuxtest
=> 정상적으로 마운트 된 것을 확인할 수 있다.
* mount시 유의사항
1. mount point 는 임의의 디렉터리여야 한다.
사용자 및 시스템과 관련된 디렉터리를 mount point로 지정해서는 절대 안된다.
2. umount 명령 시 경로는 현재 마운트된 디렉터리만 아니면 어떤 곳이든 상관 없다.
3. 한개의 파티션은 반드시 한개의 mount point 만 사용한다.
4. 마운트시 작업할 대상은 반드시 파티션(Primary, Logical)만 대상이 된다.
하드디스크와 확장파티션(Extended)은 작업대상이 될 수 없다.
ex 2)
# cd /mnt/cdrom
# umount /mnt/cdrom
umount: /mnt/cdrom: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
=> 마운트된 디렉터리에선 umount가 되지 않는다.
[문제]
기존에 작업했던 mp 및 하드를 제거하고
새롭게 ide 하드와 mp를 만들어서
방금 전에 했던 작업을 해보세요
primary 500M -> /linuxtext
logical 200M -> /mnt/cdrom
시스템 종료, 기존 하드디스크 삭제 및 새로운 하드디스크 추가
부팅
현재 마운트 된 것이 없는 것 확인
# df -h
새롭게 잘 추가 되었나 확인
# fdisk -l
# fdisk /dev/sda
...
Command (m for help): p
...
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +500M
=> Primary partition 생성 완료
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 2
First cylinder (66-130, default 66):
Using default value 66
Last cylinder, +cylinders or +size{K,M,G} (66-130, default 130):
Using default value 130
=> 2번에 남은 용량 모두를 Extended partition으로 생성 완료
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (66-130, default 66):
Using default value 66
Last cylinder, +cylinders or +size{K,M,G} (66-130, default 130): +200M
=> Extended partition 중 200M를 Logical partition으로 생성 완료
Command (m for help): p
...
Device Boot Start End Blocks Id System
/dev/sda1 1 65 522081 83 Linux
/dev/sda2 66 130 522112+ 5 Extended
/dev/sda5 66 91 208813+ 83 Linux
Command (m for help): w
The partition table has been altered!
# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda5
# mount /dev/sda1 /linuxtest
# mount /dev/sda5 /mnt/cdrom
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb7 7.6G 316M 6.9G 5% /
tmpfs 504M 72K 504M 1% /dev/shm
/dev/sdb1 190M 26M 155M 15% /boot
/dev/sdb6 190M 18M 163M 10% /home
/dev/sdb2 5.7G 3.1G 2.3G 58% /usr
/dev/sdb5 1.9G 175M 1.7G 10% /var
/dev/sda1 486M 2.3M 458M 1% /linuxtest
/dev/sda5 194M 1.8M 182M 1% /mnt/cdrom
'Study > CentOS' 카테고리의 다른 글
[20] 분실된 root 비밀번호 재설정, grub 암호설정 ps, top, pstree, kill, who, write, wall, skill, inittab, uname, file (0) | 2015.03.28 |
---|---|
[19] partition, mkfs, mount 실습 (0) | 2015.03.28 |
[17] rpm(2), yum (0) | 2015.03.28 |
[16] rpm(1) (0) | 2015.03.28 |
[15] gzip, bzip2, tar, man (0) | 2015.03.28 |
- 2014.11.28
* cmd - ftp
ftp> ? : 도움말
ftp> prompt : 대화 끄기
ftp> mput : 여러개 동시에 올리기
1. rpm(2)
[실습]
mysql-connector-java-5.1.17-6.el6.noarch 설치 이어서 하기
(사실은 아키텍처가 noarch 이기 때문에 --nodeps 해서 설치해도 무관하지만 진행 해본다.)
*
geronimo-specs-compat 설치.
jaf => classpathx-jaf ... 로 대체
javamail => classpathx-mail ... 로 대체
*
java-gcj 의존성 문제
java-1.5.0-gcj, java_cup, sinjdoc 3개 다운받아 동시에 설치
[실습]
# rpm -qa | grep mysql
해서 나오는 모든 mysql 프로그램 삭제
php* 로 시작하는 모든 프로그램 설치
#rpm -qa | grep php
해서 나오는 모든 php 프로그램 삭제
2. YUM = Yellowdog Updater, Modified
본 실습용 os 에는 /etc/yum_samadal 로 명령어가 바뀌어있다.
(원본 위치는 /usr/bin/yum 이다)
-> # find / -name "yum*"
하지만 인터넷 되지 않는 곳에선 쓰지 못한다는 단점이 있다.
(특히 관공서는 인터넷 사용이 되지 않는다.)
1) Update
# yum (-y) update
2) Install
yum (-y) install name(*)
현재 위치에 있는 .rpm부터 설치한다.
3) Remove
yum (-y) remove name(*)
의존성 관련 pkg 삭제하는 도중 시스템이 마비될 수도 있다.
삭제는 yum으로 하는 것은 좋지 않다.
* Tip
우분투, 데비안 등에서의 yum 명령어
yum = apt-get
'Study > CentOS' 카테고리의 다른 글
[19] partition, mkfs, mount 실습 (0) | 2015.03.28 |
---|---|
[18] HDD & Partition, MBR, fdisk, mkfs, mount, umount (0) | 2015.03.28 |
[16] rpm(1) (0) | 2015.03.28 |
[15] gzip, bzip2, tar, man (0) | 2015.03.28 |
[14] SETUID, SETGID, Stickybit, UMASK (0) | 2015.03.28 |
- 2014.11.27
교재 p118 ~
1. rpm : Red Hat Package Manager
centos.org 접속
get centos 7 now -> dvd click
상위 메뉴 중 Mirror list - Asia, kaist 클릭 ....
(http://ftp.kaist.ac.kr/CentOS/6.6/os/i386/Packages/)
설치 가능한 rpm 의 목록들이다.
1) RPM 패키지 파일의 구성
① 패키지명
② 버전
major : 프로그램 자체가 완전 변경 - 그랜저 XG vs TG
minor : 치명적인 버그 수정
patch : 심각한 문제는 아니지만 불편한 것 수정
release : 패치된 것에서 조금의 수정
③ 아키텍쳐
[32bit]
i386 = 80386
- intel, cup 386, 486
i586 : P 1 ~ 3
i686 : P 4 ~ 7
[64bit]
x86_64 : AMD, intel
noarch : 플랫폼에 상관 없음
sparc : SunMicro System 의 스팍 계열 CPU
ppc : Power PC CPU - MAC용 CPU
2) RPM 옵션
-i rpm_file - install, 패키지 설치 되어 있으면 설치 안함
-U rpm_file - Upgrade, 업그레이드
-e rpm_file - 패키지 삭제
-v : verbose - 설치 내용 출력
-h : 설치 작업 상황 그래픽으로 보여줌
--nodeps : 패키지 의존성 검사 안함, 의존성 강제로 끊음
* 작업 전 확인할 것
# rpm -qa | grep 패키지명
(ls -l *ab* = ls -l | grep ab)
설치
# rpm -ivh 패키지명.rpm
삭제
# rpm -e 패키지명
[실습]
vi 설치되어있는지 확인
# vi
# rpm -qa | grep vim
vim-minimal-7.2.411-1.8.el6.i686
vim-enhanced-7.2.411-1.8.el6.i686
vim-common-7.2.411-1.8.el6.i686
* rpm 작업 공식(유의사항)
1. 모든 작업은 반드시 동일한 버전이어야 한다.
2. 의존성 오류(Failed dependencies)를 절대 무시하지 말자.
3. 의존성을 제기한 패키지를 먼저 작업한다.
4. 가급적 의존성 무시(--nodeps)를 사용하지 말자.
5. 'lib'으로 시작하고 중간에 'so'가 있는 경우는 무시해도 된다.
6. 디렉터리로 시작하는 거들(/usr/bin/)은 패키지가 아니므로 무시한다.
7. 대표 패키지부터 작업한다.
8. 나머지는 화면에 보이는 순서대로 작업한다.
vi 삭제
# rpm -e vim-minimal
오류: Failed dependencies:
vim-minimal is needed by (installed) cvs-1.11.23-16.el6.i686
vim-minimal is needed by (installed) sudo-1.8.6p3-15.el6.i686
=> 삭제 실패
의존성 오류 뜬 것을 차례대로 삭제하다보면 서로 의존된 것 삭제가 필요한 때가 온다.
그 때에는 2개를 동시에 삭제하면 된다.
# rpm -e redhat-lsb
오류: Failed dependencies:
redhat-lsb(x86-32) = 4.0-7.el6.centos is needed by (installed) redhat-l
# rpm -e redhat-lsb-compat
오류: Failed dependencies:
redhat-lsb-compat(x86-32) = 4.0-7.el6.centos is needed by (installed) r
# rpm -e redhat-lsb redhat-lsb-compat
이 뒤부터는 차례대로 위로 올라가며 삭제 진행하면 된다.
vim-minimal 삭제 전체 과정
# rpm -e redhat-lsb redhat-lsb-compat
# rpm -e redhat-lsb-printing
# rpm -e redhat-lsb-graphics
# rpm -e redhat-lsb-core
/var/tmp/rpm-tmp.dAbYuy: line 1: lsb_release: command not found
=> 무시해도 상관 없음
# rpm -e gettext
# rpm -e cvs
# rpm -e sudo
# rpm -e vim-minimal
vim 관련 나머지도 삭제
# rpm -e vim-enhanced
# rpm -e vim-common
# rpm -qa | grep vim
=> 검색 결과가 없다.
# vi
-ksh: vi: not found [그런 파일이나 디렉터리가 없습니다]
=> vi 가 삭제되어 실행되지 않는 것을 볼 수 있다.
[문제1]
http://ftp.kaist.ac.kr/CentOS/6.6/os/i386/Packages/
위의 사이트에서 vim* 으로 시작하는 package를 다운로드 및
linux로 업로드 하신 후 설치해보세요
필요 rpm 파일 다운로드 및 리눅스로의 업로드 후의 작업
# rpm -ivh ./vim-X11-7.2.411-1.8.el6.i686.rpm ./vim-common-7.2.411-1.8.el6.i686.rpm ./vim-enhanced-7.2.411-1.8.el6.i686.rpm ./vim-minimal-7.2.411-1.8.el6.i686.rpm
(혹은 # rpm -ivh ./vim*)
[문제2]
http://ftp.kaist.ac.kr/CentOS/6.6/os/i386/Packages/
위의 사이트에서 mysql* 으로 시작하는 package를 다운로드 및
linux로 업로드 하신 후 설치해보세요
*
perl(DBI) => perl-DBI-
(, ), :: => - (각각의 특수문자들은 - 로 봐도 무방하다.)
*
mysql-connector-java... 를 설치하다 보면 jta 설치하라고 하는데 못찾는다.
일단 해당 패키지는 넘어간다. => 내일 진행
*
lib으로 시작하며 중간에 so 가 들어가는 것을 모두 만족시키는 것만 설치하지 않아도 된다.
*
openssl 설치 도중 버전차이로 설치가 안되는 경우가 발생한다.
설치 되어있는 것을 삭제하려고 하면 너무 많은 것과 충돌하기 때문에
일단 --nodeps 옵션으로 강제 삭제 후 다시 설치한다.
'Study > CentOS' 카테고리의 다른 글
[18] HDD & Partition, MBR, fdisk, mkfs, mount, umount (0) | 2015.03.28 |
---|---|
[17] rpm(2), yum (0) | 2015.03.28 |
[15] gzip, bzip2, tar, man (0) | 2015.03.28 |
[14] SETUID, SETGID, Stickybit, UMASK (0) | 2015.03.28 |
[13] 계정 복구, 계정 관련 Trouble Shooting, chown -R (0) | 2015.03.28 |
- 2014.11.26
/backup/ 에 있는 grub.conf, inittab, login.defs 파일을 현재 위치로 복사한 뒤 실습을 시작한다.
1. gzip
gzip option source
: 압축
-d : 압축 해제
gzip 압축
# gzip ./grub.conf
# ll
합계 12
-rw------- 1 root root 476 2014-11-26 12:58 grub.conf.gz
-rw-r--r-- 1 root root 884 2014-11-26 12:58 inittab
-rw-r--r-- 1 root root 1816 2014-11-26 12:58 login.defs
=> 원본 파일이 없어진 것 확인 할 수 있다.
gzip 압축해제
# gzip -d ./grub.conf.gz
-- decompress
# ll
합계 12
-rw------- 1 root root 739 2014-11-26 12:58 grub.conf
-rw-r--r-- 1 root root 884 2014-11-26 12:58 inittab
-rw-r--r-- 1 root root 1816 2014-11-26 12:58 login.defs
=> 역시 원본 압축 파일 없어짐
여러 파일 압축
# gzip ./*
# ll
합계 12
-rw------- 1 root root 476 2014-11-26 12:58 grub.conf.gz
-rw-r--r-- 1 root root 884 2014-11-26 12:58 inittab.gz
-rw-r--r-- 1 root root 1816 2014-11-26 12:58 login.defs.gz
=> 동시에 묶이진 않고 각자 개별 파일로만 압축이 된다.
2. bzip2
# bzip2 option source
: 압축
-d : 압축 해제
bzip2 압축
# bzip2 ./grub.conf
# ll
합계 12
-rw------- 1 root root 542 2014-11-26 12:58 grub.conf.bz2
-rw-r--r-- 1 root root 884 2014-11-26 12:58 inittab
-rw-r--r-- 1 root root 1816 2014-11-26 12:58 login.defs
=> 원본 파일 없어짐
bzip2 압축 해제
# bzip2 -d ./grub.conf.bz2
# ll
합계 12
-rw------- 1 root root 739 2014-11-26 12:58 grub.conf
-rw-r--r-- 1 root root 884 2014-11-26 12:58 inittab
-rw-r--r-- 1 root root 1816 2014-11-26 12:58 login.defs
=> 원본 압축 파일 없어짐
* bzip2 역시 gzip과 마찬가지로 동시에 여러개 압축이 되지 않는다.
3. tar = tape Archive
tar option Archiving_file_name source
c - 보관하겠다.
x - 보관을 풀겠다.
v - verboss(보여주세요)
f - file
z - gzip 으로 압축 또는 해제
j - bzip2 으로 압축 또는 해제
-C path : path 에다 해당 작업 진행
cvf(생성), xvf(해제) 이 2가지 방식만 기억하면 된다
*Tip
tar 로 압축할 때엔 뒤에 .tar 를 붙여 tar 파일인 것을 남기는 습관이 좋다.
# tar cvf ./gc ./grub.conf
./grub.conf
# ll
합계 24
-rw-r--r-- 1 root root 10240 2014-11-26 13:33 gc
-rw------- 1 root root 739 2014-11-26 12:58 grub.conf
-rw-r--r-- 1 root root 884 2014-11-26 12:58 inittab
-rw-r--r-- 1 root root 1816 2014-11-26 12:58 login.defs
=> 이렇게 되면 gc라는 파일이 tar 파일인지 육안으로 확인하기 쉽지 않음
=> 카세트 테잎이나 CD처럼 안에 내용물이 얼마 들어가든 상관 없이 일정 공간이 생성된다.
# tar cvf ./gc.tar ./grub.conf
./grub.conf
# ll
합계 36
-rw-r--r-- 1 root root 10240 2014-11-26 13:33 gc
-rw-r--r-- 1 root root 10240 2014-11-26 13:34 gc.tar
-rw------- 1 root root 739 2014-11-26 12:58 grub.conf
-rw-r--r-- 1 root root 884 2014-11-26 12:58 inittab
-rw-r--r-- 1 root root 1816 2014-11-26 12:58 login.defs
=> tar 파일 확인 쉬움
[실습]
grub.conf 를 일단 지우고 tar 풀어보자
# rm ./grub.conf
# tar xvf ./gc.tar
./grub.conf
# ll
합계 36
-rw-r--r-- 1 root root 10240 2014-11-26 13:33 gc
-rw-r--r-- 1 root root 10240 2014-11-26 13:34 gc.tar
-rw------- 1 root root 739 2014-11-26 12:58 grub.conf
-rw-r--r-- 1 root root 884 2014-11-26 12:58 inittab
-rw-r--r-- 1 root root 1816 2014-11-26 12:58 login.defs
=> 압축 명령어들과 다르게 tar는 파일이 그대로 있는 것을 확인할 수 있다.
[문제]
현재 디렉터리에 있는 파일(grub.conf, inittab, login.defs)을 gil.tar 로 보관시켜보세요
# tar cvf gil.tar ./grub.conf ./inittab ./login.defs
tar 파일을 gzip 으로 압축
# gzip ./gil.tar
# ll
합계 4
-rw-r--r-- 1 root root 1953 2014-11-26 13:37 gil.tar.gz
이 압축된 파일을 /backup/ 에 압축 푸세요
# gzip -d ./gil.tar.gz
# tar xvf ./gil.tar
# mv ./grub.conf ./inittab ./login.defs /backup/
* Tip
tar 로 해제할 떄엔 현재 자신이 위치한 곳에 풀린다.
[실습 - 교재]
# tar cvf ./xinetd.tar /etc/xinetd.d/
tar: Removing leading `/' from member names
/etc/xinetd.d/
/etc/xinetd.d/rsync
# ll
합계 12
-rw-r--r-- 1 root root 10240 2014-11-26 13:53 xinetd.tar
# tar xvf ./xinetd.tar
etc/xinetd.d/
etc/xinetd.d/rsync
# ll
합계 16
drwxr-xr-x 3 root root 4096 2014-11-26 13:54 etc
-rw-r--r-- 1 root root 10240 2014-11-26 13:53 xinetd.tar
# ll ./etc/
합계 4
drwxr-xr-x 2 root root 4096 2014-10-30 01:57 xinetd.d
# ll ./etc/xinetd.d/
합계 4
-rw-r--r-- 1 root root 332 2014-03-28 19:54 rsync
=> tar는 내가 지정해준 디렉터리 까지, 경로 자체를 보관한다.
=> 또한 풀 때에는 내가 있는 경로 기준으로 풀린다.
[문제]
/bin 디렉터리의 모든 파일을 gzip 압축 및 tar 로 묶어서
/home 디렉터리 안에 binlist.tar.gz 라는 파일로 생성
# tar cvf /home/binlist.tar /bin/
tar: Removing leading `/' from member names
/bin
...
/bin/zcat
# ll
합계 8696
-rw-r--r-- 1 root root 8888320 2014-11-26 13:58 binlist.tar
drwxr-xr-x 3 root root 4096 2014-11-26 13:54 etc
-rw-r--r-- 1 root root 10240 2014-11-26 13:53 xinetd.tar
# gzip /home/binlist.tar
# ll /home
합계 4019
drwx------ 4 badnom badnom 1024 2014-11-25 15:01 badnom
-rw-r--r-- 1 root root 4100186 2014-11-26 13:58 binlist.tar.gz
drwx------. 2 root root 12288 2014-10-30 01:51 lost+found
* # gzip /bin/* 해서 /bin/ 것이 다 날라간 경우
백업 해놓은 gzip 명령 파일을 일반 계정으로 ftp 통해 업로드한다.
하지만 업로드 한 압축파일은 실행파일이 아니기 때문에 GUI 환경 통해 해당 파일을 실행파일로 속성 변경이 필요하다.
만약 GUI로 고칠 수 없는 상황이면 복구가 불가능하다. (가장 기초적인 명령어들이 bin 에 있기 때문)
# ./gzip -d /bin/*
=> /bin 에 .gz 로 개별적으로 묶여있던 파일들이 압축 해제된다. */
위의 문제를 bzip2 로 똑같이 진행
# tar cvf /home/binlist.tar /bin/
tar: Removing leading `/' from member names
/bin/
...
/bin/rnano
# bzip2 /home/binlist.tar
# ll /home/
합계 7611
drwx------ 4 badnom badnom 1024 2014-11-25 15:01 badnom
-rw-r--r-- 1 root root 3677201 2014-11-26 14:22 binlist.tar.bz2
-rw-r--r-- 1 root root 4100186 2014-11-26 13:58 binlist.tar.gz
drwx------. 2 root root 12288 2014-10-30 01:51 lost+found
[정리]
- gzip, bzip2 (압축)
1. 용량 작아짐
2. 원본 삭제
3. 단일 파일만 가능
4. 큰 파일의 압축 효율은 bzip2가 더 좋다.
- tar (보관)
1. 용량 커짐
2. 원본 유지
3. 다중파일 가능
4. tar + 압축
tar로 묶으면서 동시에 압축하기
# tar cvfz filename.tar.gz source
# tar cvfj filename.tar.bz2 source
압축 해제까지 한꺼번에 하기
# tar xvfz filename.tar.gz
# tar xvfj filename.tar.bz2
2가지 방법으로 /bin/ 디렉터리를 압축하세요
# tar cvfz ./binlist.tar.gz /bin/
# tar cvfj ./binlist.tar.bz2 /bin/
# ll
합계 7688
-rw-r--r-- 1 root root 3677201 2014-11-26 14:38 binlist.tar.bz2
-rw-r--r-- 1 root root 4103268 2014-11-26 14:37 binlist.tar.gz
drwxr-xr-x 3 root root 4096 2014-11-26 13:54 etc
-rwxr-xr-x 1 samadal samadal 67500 2014-11-26 14:11 gzip
-rw-r--r-- 1 root root 10240 2014-11-26 13:53 xinetd.tar
[문제]
현재 디렉터리에 있는 binlist.tar.xx 파일을 경로이동 하지 말고
/home/ 디렉터리에 풀어보세요
# tar xvfzC ./binlist.tar.gz /home/
# tar xvfj ./binlist.tar.bz2 -C /home/
아래 방식이 햇갈리지 않고 편리한 것 같다.
* 도움말 보기
# tar --help
# man tar
'Study > CentOS' 카테고리의 다른 글
[17] rpm(2), yum (0) | 2015.03.28 |
---|---|
[16] rpm(1) (0) | 2015.03.28 |
[14] SETUID, SETGID, Stickybit, UMASK (0) | 2015.03.28 |
[13] 계정 복구, 계정 관련 Trouble Shooting, chown -R (0) | 2015.03.28 |
[12] 소유권, 허가권 실습, ftp 관련 권한 (0) | 2015.03.28 |
- 2014.11.25
p74
원래 소유주에게 권한을 빌려와서 실행할 때만 소유권을 가짐
SETUID 4777 r w s r w x r w x
SETGID 2777 r w x r w s r w x
Sticky bit 1777 r w x r w x r w t
S,s / T,t : x 권한의 유무에 따라 없으면 S(대문자), 있으면 s(소문자) 이다.
1. Sticky bit
[실습]
# mkdir /sb/
# useradd badnom
samadal 계정으로 /sb/ 디렉터리에 testfile 생성 위해 757 권한 부여
# chmod 757 /sb/
[samadal@samadal ~]$ touch /sb/testfile
badnom 이 해당 파일 삭제
[badnom@samadal ~]$ rm /sb/testfile
rm: remove write-protected 일반 빈 파일 `/sb/testfile'? y
관리자가 해당 사태를 보고 Sticky bit 를 진행.
# chmod 1777 /sb/
# ll -d /sb/
drwxrwxrwt 2 root root 4096 2014-11-25 13:06 /sb/
samadal 이 한번 더 올린다.
[samadal@samadal ~]$ touch /sb/testfile
badnom 이 한번 더 삭제를 시도하지만 실패
[badnom@samadal ~]$ rm /sb/testfile
rm: remove write-protected 일반 빈 파일 `/sb/testfile'? y
rm: cannot remove `/sb/testfile': 명령을 허용하지 않음
즉, Sticky bit 는 소유자만 삭제하게 할 수 있다. 공유폴더에 많이 쓰는 권한.
samadal로는 지워진다.
[samadal@samadal ~]$ rm /sb/testfile
[samadal@samadal ~]$ ll /sb/
합계 0
* /tmp/ 디렉터리가 대표적인 Sticky bit 를 사용하는 예
2. SetUID
[실습]
find 명령어 활용하여 오늘 쓴 명령어 중 SetUID 적용된 명령어 찾기
ex)
# find / -name chmod
passwd에 SetUID가 설정된 것을 확인
# find / -name passwd -exec ls -l {} \;
-rwsr-xr-x. 1 root root 25980 2012-02-22 20:44 /usr/bin/passwd
-rw-r--r--. 1 root root 1666 2014-11-25 12:57 /etc/passwd
-rw-r--r--. 1 root root 146 2012-02-22 20:44 /etc/pam.d/passwd
이 passwd 명령어에 SetUID 빼고 samadal로 passwd 변경을 다시 시도 해보자.
/usr/bin/passwd 명령어실행 p/w변경
4755
rwsr-xr-x O O
755
rwxr-xr-x O X
4750
rwsr-x--- X X
*
other의 실행 권한이 0이면 실행 자체도 안된다. 일반적으로 서버에서는 보안상 4750 권한을 준다.
*
/usr/bin/passwd 명령어 소스파일 자체 안에 root만 변경 가능하도록 되어있다.
(x 권한은 컴파일, 링커를 거쳐야지만 생성됨. 즉 일반 파일의 Max 권한은 666이라 할 수 있다.)
3. SetGID
[실습]
# cd ~samadal
# mkdir ./testdir/
# touch ./testdir/test
# chown .samadal ./testdir/
# ll
합계 4
-rwsr--r-- 1 root root 0 2014-11-25 12:53 test
drwxr-xr-x 2 root samadal 4096 2014-11-25 13:59 testdir
그룹 소유권이 samadal인 디렉터리에 test2 생성
# touch ./testdir/test1
# ll ./testdir
합계 0
-rw-r--r-- 1 root root 0 2014-11-25 13:59 test
-rw-r--r-- 1 root root 0 2014-11-25 13:59 test1
=> dir의 GID가 samadal이라 해도 파일을 생성하면 소유권은 root:root 이다.
SetGID 설정
# chmod 2755 ./testdir/
# ll
합계 4
-rwsr--r-- 1 root root 0 2014-11-25 12:53 test
drwxr-sr-x 2 root samadal 4096 2014-11-25 13:59 testdir
SetGID 설정 된 디렉터리에 test2 생성
# touch ./testdir/test2
# ll ./testdir/
합계 0
-rw-r--r-- 1 root root 0 2014-11-25 13:59 test
-rw-r--r-- 1 root root 0 2014-11-25 13:59 test1
-rw-r--r-- 1 root samadal 0 2014-11-25 14:00 test2
=> test2 그룹 소유자가 SetGID 디렉터리의 소유주를 따라감
SetGID : 해당 권한이 있는 디렉터리 안에 파일이나 디렉터리 생성되면 해당 소유주를 따라 소유주가 자동 변경.
[실습]
./testdir/ 을 4755 로 권한 변경
# chmod 4755 ./testdir/
# ll
합계 4
-rwsr--r-- 1 root root 0 2014-11-25 12:53 test
drwsr-sr-x 2 root samadal 4096 2014-11-25 14:00 testdir
=> GID의 s가 chmod 4755 명령어로는 바뀌지 않는다.
# chmod g-s ./testdir/
# ll
합계 4
-rwsr--r-- 1 root root 0 2014-11-25 12:53 test
drwsr-xr-x 2 root root 4096 2014-11-25 14:00 testdir
=> 변경 완료
[문제]
옵션을 찾아서 아래의 설명에 필요한 대로 각 한번의 명령어로 디렉터리를 생성한다.
1) /tmp/test/test1/test2/ 디렉터리 생성
2) /tmp/test 디렉터리는 Sticky bit, 모든 사용자가 모든 권한 가짐
3) /tmp/test/test1 디렉터리 소유자는 모든 권한을, 그룹은 읽기 및 실행권한, 다른 유저는 실행권한을 가진다.
4) /tmp/test/test1/test2/ 디렉터리는 소유자는 모든 권한을, 그룹은 읽기 권한을, 다른 유저는 아무런 권한 없음
# mkdir -p /tmp/test/test1/test2/
# chmod 1777 /tmp/test/
# chmod 751 /tmp/test/test1/
# chmod g-x,o-rx /tmp/test/test1/test2/
* SetUID 위험성
특정 소스파일을 실행 시 자동으로 root 권한 획득하는 프로그램 심어두고 해킹에 악용될 수 있다.
그렇기 때문에 서버관리자는 SetUID 적용된 리스트를 잘 관리해야 한다.
SetUID 적용된 파일 오류 제외하고 출력하라는 명령어
# find / -user root -perm +4000 2> /dev/null
4. UMASK
파일 및 디렉터리가 만들어질 때 기본적으로 설정될 사용권한을 결정
UMASK
Directory 관리자 d1 755 777 - 755 = 022
Max : 777 사용자 d2 775 777 - 775 = 002
File 관리자 f1 644 666 - 644 = 022
Max : 666 사용자 f2 664 666 - 664 = 002
1) UMASK 사용 예
# vi /etc/login.defs
57 # the permission mask will be initialized to 022.
58 UMASK 077
59
2) umask 확인
# umask
0022
[samadal@samadal ~]$ umask
0002
[umask 실습]
# umask 000
# umask
0000
# mkdir ./t1/
# touch ./t2
# ll
합계 7
drwxrwxrwx 2 root root 4096 2014-11-25 14:45 t1
-rw-rw-rw- 1 root root 0 2014-11-25 14:45 t2
=> t1과 t2의 권한이 최대로 되어있다.
# umask 123
# mkdir ./t3/
# ll
합계 11
drwxrwxrwx 2 root root 4096 2014-11-25 14:45 t1
-rw-rw-rw- 1 root root 0 2014-11-25 14:45 t2
drw-r-xr-- 2 root root 4096 2014-11-25 14:46 t3
=> 하지만 이렇게 변경된 umask 는 현재 열려있는 터미널에서만 먹힌다.(1회성)
이곳의 설정 값을 바꾸면 영구적인 변경이 가능하다.
# vi /etc/profile
58 # By default, we want umask to get set. This sets it for login shell
59 # Current threshold for system reserved uid/gids is 200
60 # You could check uidgid reservation validity in
61 # /usr/share/doc/setup-*/uidgid file
62 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
63 umask 002
64 else
65 umask 022
[문제]
473 이라는 허가권을 갖는 d3와 f3를 만들기 위한 umask 값은?
=> 304
256 이라는 허가권을 갖는 d4와 f4를 만들기 위한 umask 값은?
=> 521
'Study > CentOS' 카테고리의 다른 글
[16] rpm(1) (0) | 2015.03.28 |
---|---|
[15] gzip, bzip2, tar, man (0) | 2015.03.28 |
[13] 계정 복구, 계정 관련 Trouble Shooting, chown -R (0) | 2015.03.28 |
[12] 소유권, 허가권 실습, ftp 관련 권한 (0) | 2015.03.28 |
[11] 허가권, 소유권, chmod, chown, chgrp (0) | 2015.03.28 |
- 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 권한 있는지 확인
'Study > CentOS' 카테고리의 다른 글
[15] gzip, bzip2, tar, man (0) | 2015.03.28 |
---|---|
[14] SETUID, SETGID, Stickybit, UMASK (0) | 2015.03.28 |
[12] 소유권, 허가권 실습, ftp 관련 권한 (0) | 2015.03.28 |
[11] 허가권, 소유권, chmod, chown, chgrp (0) | 2015.03.28 |
[10] userdel, groupadd, groupdel, 계정 잠그기 (0) | 2015.03.27 |
- 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 권한만 있어도 해당 디렉터리에 접근 및 업로드가 가능하다.
'Study > CentOS' 카테고리의 다른 글
[14] SETUID, SETGID, Stickybit, UMASK (0) | 2015.03.28 |
---|---|
[13] 계정 복구, 계정 관련 Trouble Shooting, chown -R (0) | 2015.03.28 |
[11] 허가권, 소유권, chmod, chown, chgrp (0) | 2015.03.28 |
[10] userdel, groupadd, groupdel, 계정 잠그기 (0) | 2015.03.27 |
[09] useradd -D, usermod (0) | 2015.03.27 |
- 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
'Study > CentOS' 카테고리의 다른 글
[13] 계정 복구, 계정 관련 Trouble Shooting, chown -R (0) | 2015.03.28 |
---|---|
[12] 소유권, 허가권 실습, ftp 관련 권한 (0) | 2015.03.28 |
[10] userdel, groupadd, groupdel, 계정 잠그기 (0) | 2015.03.27 |
[09] useradd -D, usermod (0) | 2015.03.27 |
[08] passwd, shadow, group, gshadow, useradd, passwd, skel (0) | 2015.03.27 |