chmod명령어는 특정파일 또는 디렉토리의 퍼미션(permission)을 설정하는 명령어이다.
퍼미션이란, 특정파일이나 디렉토리에 대하여 읽기, 기록하기, 삭제하기 등의 권한을 설정해놓은 것으로 다중사용자 운영체제에서 파일의 접근권한과 보호등을 위하여 반드시 필요한것이다.
 
>> 파일과 디렉토리의 권한 확인하기 <<
ls -l 명령어를 이용하여 파일을 보면 가장 앞쪽에 7칸의 문자가 있다.
이 7개칸의 문자에 파일유형과 현재 설정된 권한을 알수 있다.
[root@os1 ~]# ls -l test.sh
-rwxr-x--x 1 root root 189 2013-01-08 21:56 test.sh
test.sh파일을 ls -l명령어로 보니 가장 앞쪽 7칸에 특정 문자들이 있다.
가장 첫번째 칸에 나오는 문자는 파일유형을 뜻하며 문자별로 유형은 아래와같다.
문자
파일형식
-
일반파일
b
블록구조의 특수파일(ex: /dev/sda)
c
입출력에 사용되는 특수파일(ex: /dev/console)
d
디렉토리(디렉토리도 하나의 특수파일로 취급됨)
l
심볼릭링크파일
p
파이프파일
s
소켓파일
즉, 가장 앞이 drwx-rx-rx일 경우 디렉토리라는 의미이다.
그다음에 오는 9개의 문자는 파일의 권한에 대한 표시이며, 각 자리별 의미는 아래와 같다.
파일소유자의 권한
-rwxr-xr-x
위 붉은색으로 표시된 부분은 파일소유자의 권한에 대한 부분이다.
파일소유그룹의 권한
-rwxr-xr-x
위 붉은색으로 표시된 부분은 파일소유그룹의 권한에 대한 부분이다.
일반사용자(파일소유자와, 소유그룹을 제외한 모두)의 권한
-rwxr-xr-x
위 붉은색으로 표시된 부분은 일반사용자의 권한에 대한 부분이다.
위와 같이 3칸의 문자씩 나누어 각각 구분하며, 각각의 문작 가지는 의미는 아래와 같다.
권한
일반적의미
파일
디렉토리
r
읽기권한(read)
파일읽기권한(cat명령어)
디렉토리내용보기(ls명령어)
w
쓰기권한(write)
파일저장,삭제(vi,rm명령어)
디렉토리에 파일저장, 디렉토리이름변경, 삭제등
x
실행권한(execution)
파일실행
디렉토리접근(cd명령어)
s
SetUID,SetGID권한
파일소유자(SetUID),그룹소유자(SetGID)의 권한으로 실행
t
Sticky Bit권한
공유디렉토리로 사용됨
위와 같이 같은 권한임에도 파일과 디렉토리에 대해서는 차이가 있으므로 확실히 파악하고 있어야 한다.
-. SetUID,SetGID,Stikybit
SetUID와 SetGID란?
일반적으로 특정 실행파일을 실행하였을 경우에는 그 파일을 실행시킨 실행자의 권한으로 실행된다
즉 root가 실행하면 root권한으로 실행되고 user1이 실행하면 user1의 권한으로 실행된다.
하지만 이 실행파일에 SetUID와 SetGID가 설정이 되면 약간 달라진다.
SetUID가 설정되어있는파일의 소유자가 root일 경우 user1이 실행하여도 root권한으로 실행이 된다.
SetGID역시 마찬가지로 파일의 소유그룹이 root일경우 user1이 실행하여도 root그룹권한으로 실행이 된다.
Stikybit란?
주로 공용디렉토리 사용되며 일반사용자의 실행권한부분에 "t"문자로 표시된다.
>stikybit를 설정했을때와 설정하지 않았을때의 차이점
/test 디렉토리에 아래와같은 권한설정이 되어있는경우 차이점
-rwxrwxrwx
/test디렉토리안에서 user1소유의 파일을 user2사용자가 수정할수 있음
-rwxrwxrwt
/test/디렉토리안에서 user1소유의 파일을 user2사용자가 수정할수 없음
위의 비교에서 보듯이, stikybit를 주지 않고 디렉토리에 777권한을 줄경우 user1이 생성한 문서를 user2가 얼마든지 수정할수있다. 또한 user2가 수정하면 파일소유자가 user2로 바뀌게 된다.
하지만 해당 파일이 들어있는 디렉토리에 777권한을 주고 stikybit를함께 주면 user1이 생성한 문서를 user2는 실행도 가능하고 읽을수도 있으나 수정을 불가하게 된다.
※ 권한의 대문자 표시
파일이 속성설정을 하다보면 SetUID,SetGID,Sticky Bit권한 자리의 알파벳이 소문자가 아닌 대문자로 설정되는것을 볼수 있는데, 아래의 예를 보면서 설명하겠다.
>SetUID문자의 대소문자 차이
SetUID문자가 대문자인경우 = -rwSr--r--
SetUID는 설정되었지만 파일소유자에게 실행권한(x)이 없는경우(SetUID유효하지 않음)
SetUID문자가 소문자인경우 = -rwsr--r--
SetUID가 설정되어있고 파일소유자에게 실행권한(x)도 있는경우 (정상적인 SetUID설정)
>SetGID문자의 대소문자 차이
SetGID문자가 대문자인경우 = -rw-r-Sr--
SetGID는 설정되어있지만 파일소유그룹의 실행권한(x)이 없는경우(SetGID유효하지 않음)
SetGID문자가 소문자인경우 = -rw-r-sr--
SetGID가 설정되어있고 파일소유그룹에게 실행권한(x)도 있는경우(정상적인 SetGID설정)
>Stiky bit문자의 대소문자 차이
Stiky bit문자가 대문자인경우 = -rw-r--r-T
Stikybit는 설정되어있지만 일반사용자에게 실행권한(x)이 없는경우(Stikybit유효하지 않음)
Stiky bit문자가 소문자인경우 = -rw-r--r-t
Stikybit가 설정되어있고 일반사용자에게 실행권한(x)도 있는경우(정상적인 Stikybit 설정)
SetUID,SetGID,Stikybit의 설정을 할때에는 대소문자를 잘 확인해야 할것이다.
>> 파일의 퍼미션을 설정하는 2가지 방법 <<
형식 chmod [권한] [파일명]
-. 첫번째, 8진수를 이용한 권한설정하기(절대모드)
형식 : chmod [n] [파일명]
8진수로 숫자를 지정하여 해당파일의 권한을 설정하는 방법이다.
8진수 7은 2진수로 111이며, 111은 각 해당하는 자리의 권한을 의미한다.
아래표를 참조하자
8진수
2진수
권한
의미
0
000
---
아무 권한 없음
1
001
--x
실행 권한만 있음
2
010
-w-
쓰기 권한만 있음
3
011
-wx
쓰기,실행 권한 있음
4
100
r--
읽기 권한만 있음
5
101
r-x
쓰기,실행 권한 있음
6
110
rw-
읽기,쓰기 권한 있음
7
111
rwx
모든 권한 있음
각 숫자는 2진수로 대입하여 각 자리의 권한을 의미한다.
즉, 777은 이진수로 111111111로서 rwxrwxrwx라는 의미로서 파일소유자,소유그룹,일반사용자에게
읽기,쓰기,실행의 모든 권한을 주는 설정이다.
>chmod 777 testfile [-rwxrwxrwx]
위와 같이 설정하면 testfile에 대해선 모든사용자가 파일을 맘대로 수정할수 있다.
>chmod 755 testfile [-rwxr-xr-x]
위와 같이 설정하면 testfile에 대해서 파일소유자는 읽기,쓰기,실행권한을 모두 가지지만 파일소유그룹과 일반사용자는 읽기와 실행만 가능하다.
>chmod 744 testfile [-rwxr--r--]
위와 같이 설정하면 testfile에 대해서 파일소유자는 읽기,쓰기,실행권한을 모두 가지지만 파일소유그룹과 일반사용자는 읽기만 가능하다.
>chmod 700 testfile [-rwx------]
위와 같이 설정하면 testfile에 대해서 파일소유자는 읽기,쓰기,실행권한을 모두 가지지만 파일소유자외에 모든 사용자에겐 아무런 권한도 주지 않는다.
주로 보안이 목적인 파일에 설정한다.
>chmod 644 testfile [-rw-r--r--]
위와 같이 설정하면 testfile에 대해서 파일소유자는 읽기,쓰기만 가능하며, 파일소유그룹과 일반사용자는 읽기만 가능하다.
주로 웹문서 파일에 설정된다.
>chmod 007 testfile 또는 chmod 7 testfile [-------rwx]
위와 같이 설정하면 testfile 에 대해서 소유자와 소유그룹에게는 아무런 권한을 주지 않고 일반사용자에 대해서만 읽기,쓰기,실행 권한을 주게된다.
위는 사용할일이 없는 퍼미션이지만 8진수를 표현하기 위하여 설명하였다.
즉, 007은 결국 7이므로 위와 같이 설정이 가능하다는 것이다.
>>SetUID,SetGID,Stikybit설정하기
기존에 설정하는 퍼미션앞에 숫자를 하나 더 붙여주면 된다.
1 = stikybit
2 = SetGID
4 = SetUID
를 뜻하며,
설정방법은 아래와 같다.
#chmod 4711 testfile [-rws--x--x] (SetUID설정)
위와 같이 설정하면 파일소유자에게는 읽기,쓰기,실행권한이 주어지며 파일소유그룹과 일반사용자에게는 실행권한만 주어진다. 또한, 파일의 SetUID가 설정되어 파일을 실행하는 사용자의 권한 아닌, 파일소유자의 권한으로 실행파일이 실행된다.
파일소유자에게 실행권한이 없으면 SetUID는 무효화된다. 즉, 4611로 권한이 설정되는경우 SetUID설정은 하지 않은것이나 다름없다.
#chmod 2711 testfile [-rwx--s--x] (SetGID설정)
위와 같이 설정하면 파일소유자에게는 읽기,쓰기,실행권한이 주어지며 파일소유그룹과 일반사용자에게는 실행권한만 주어진다. 또한 파일의 SetGID가 설정되어 파일을 실행하는 사용자의 권한이 아닌, 파일소유그룹의 권한으로 실행된다.
파일그룹에게 실행권한이 없으면 SetGID는 무효화된다. 즉, 2701로 권한이 설정되는경우 SetGID설정을 하지 않는것이나 다름없다.
#chmod 1777 /testdir [drwxrwxrwt] (Stikybit설정)
위와 같이 설정하면 해당디렉토리 내에 있는 파일에 대해서 stikybit가 적용되어, 파일의 소유자만이 해당파일을 수정하고 지울수 있다.
따라서 여러 사용자가 함께 사용하는 공용디렉토리에 주로 사용된다.
-. 두번째, 특정문자를 이용하여 권한설정하기(상대모드)
형식 : chmod [사용자][연산자][권한] [파일명]
8진수를 이용하여 퍼미션을 설정할수도 있으나 특정문자를 이용하여 퍼미션을 설정할수도 있다.
>사용자부분에 들어갈수 있는 문자
u : 파일소유자를 뜻함
g : 파일소유그룹을 뜻함
o : 일반사용자를 뜻함
a : 모든사용자를 뜻함
>연산자부분에 들어갈수 있는 문자
+ : 해당권한을 허용
- : 해당권한을 비허용
= : 해당권한으로 권한설정
>권한부분에 들어갈수 있는 문자
r : 읽기 권한
w : 쓰기 권한
x : 실행 권한
s : SetUID,SetGID 설정
파일소유자,파일소유그룹에만 사용됨
chmod u+s testfile : SetUID설정
chmod g+s testfile : SetGID설정
chmod o+s testfile : 아무런 변환없음
t : Stikybit 설정
일반사용자에게만 사용됨
chmod u+t testdir : 아무런 변화없음
chmod g+t testdir : 아무런 변화없음
chmod o+t testdir : Stikybit설정
X : 파일소유자에게 실행권한이 있는경우에만 소유그룹과 일반사용자에게 실행권한부여
파일소유자에게 실행권한이 있어야만 파일소유그룹또는 일반사용자에게 실행권한을 부여한다.
>파일소유자에게 실행권한이 있는경우
chmod u+X : 아무런 변화없음
chmod g+X : 파일소유그룹에게 실행권한부여
chmod o+X : 일반사용자에게 실행권한부여
이해를 돕도록 아래 몇가지 예를 보자
>모든사용자에게 읽기,쓰기권한 추가(a+rw)
[root@os1 /]# ls -l testfile
---------- 1 root root 0 2013-01-18 03:54 testfile
[root@os1 /]# chmod a+rw testfile
[root@os1 /]# ls -l testfile
-rw-rw-rw- 1 root root 0 2013-01-18 03:54 testfile
>파일소유자에게 실행권한 추가(u+x)
[root@os1 /]# ls -l testfile
-rw-rw-rw- 1 root root 0 2013-01-18 03:54 testfile
[root@os1 /]# chmod u+x testfile
[root@os1 /]# ls -l testfile
-rwxrw-rw- 1 root root 0 2013-01-18 03:54 testfile
>SetUID설정(u+s)
[root@os1 /]# ls -l testfile
-rwxrw-rw- 1 root root 0 2013-01-18 03:54 testfile
[root@os1 /]# chmod u+s testfile
[root@os1 /]# ls -l testfile
-rwsrw-rw- 1 root root 0 2013-01-18 03:54 testfil
>파일소유그룹과 일반사용자의 쓰기권한 비허용(go-w)
[root@os1 /]# ls -l testfile
-rwsrw-rw- 1 root root 0 2013-01-18 03:54 testfile
[root@os1 /]# chmod go-w testfile
[root@os1 /]# ls -l testfile
-rwsr--r-- 1 root root 0 2013-01-18 03:54 testfile
>파일소유그룹과 일반사용자에게 실행권한만 허용(go=x)
[root@os1 /]# ls -l testfile
-rwsr--r-- 1 root root 0 2013-01-18 03:54 testfile
[root@os1 /]# chmod go=x testfile
[root@os1 /]# ls -l testfile
-rws--x--x 1 root root 0 2013-01-18 03:54 testfile
위에서도 볼수 있듯이 내가 지정한 값에 대해서만 변경이 가능하기 때문에 권한이 일정하지 않은 많은 파일에 일괄적으로 특정 권한을 추가하거나 제거하고자 할때 사용하면 용이하다.
다만, 그런경우는 흔치 않기 때문에 대부분 문자를 이용한 권한변경보다는 8진수를 이용한 권한변경을 주로 사용한다.
-. chmod명령어의 주요 옵션
-c : 권한이 변경된 경우에만 권한변경 정보 출력하기
아래의 예를 보면 모든파일을 대상으로 파일소유자에게 실행권한을 추가하는 명령어를 사용했지만 file2 파일에는 이미 파일소유자게에 실행권한이 있어 권한이 변경되지 않았기때문에 아무런 출력도 하지 않고, file1에 대해서만 파일소유자에게 실행권한을 추가하였으므로 권한변경에 대한 정보를 출력한다.
[root@os1 /test]# ls -l
total 0
-rw-r--r-- 1 root root 0 2013-01-18 04:17 file1
-rwxr--r-- 1 root root 0 2013-01-18 04:17 file2
[root@os1 /test]# chmod -c u+x *
mode of 'file1' changed to 0744 (rwxr--r--)
[root@os1 /test]#
-v : 권한변경정보 출력하기
위의 예와 마찬가지로 모든파일에 실행권한을 추가하였다. 하지만 이번엔 권한이 변경되든 변경되지 않든 모두 메시지를 출력한다. 하지만 메시지의 문구는 약간다르다.
변경된 경우 changed를 변경되지 않는 경우 retained를 출력한다.
[root@os1 /test]# ls -l
total 0
-rw-r--r-- 1 root root 0 2013-01-18 04:17 file1
-rwxr--r-- 1 root root 0 2013-01-18 04:17 file2
[root@os1 /test]# chmod -v u+x *
mode of 'file1' changed to 0744 (rwxr--r--)
mode of 'file2' retained as 0744 (rwxr--r--)
-f : 에러메시지를 생략한다.
파일의 권한변경시 발생하는 에러메시지를 출력하지 않는다.
아래처럼 user1소유의 파일을 user2사용자가 권한을 변경하려 하는경우 에러메시지를 출력한다.
하지만 -f옵션을 주면 에러메시지는 출력되지 않는다.
[user2@os1 /test]$ ls -l
-rw-rw-r-- 1 user1 user1 0 Jan 18 04:25 user1
[user2@os1 /test]$ chmod 777 user1
chmod: changing permissions of 'user1': Operation not permitted
[user2@os1 /test]$ chmod 777 user1 -f
[user2@os1 /test]$ ls -l
-rw-rw-r-- 1 user1 user1 0 Jan 18 04:25 user1
-R : 서브디렉토리 및 폴더내 파일까지 일괄적으로 권한을 변경한다.
특정 디렉토리의 권한만이 아닌 디렉토리내에있는 모든 파일까지 권한을 일괄적으로 변경하고자 할때 사용된다.
[root@os1 /]# ls -lR /test
/test:
total 4
drwxr-xr-x 2 root root 4096 2013-01-18 04:30 dir1
-rw-r--r-- 1 root root 0 2013-01-18 04:29 file1
-rw-r--r-- 1 root root 0 2013-01-18 04:29 file2
/test/dir1:
total 0
-rw-r--r-- 1 root root 0 2013-01-18 04:30 file01
-rw-r--r-- 1 root root 0 2013-01-18 04:30 file02
[root@os1 /]# chmod -R 777 /test
[root@os1 /]# ls -lR /test
/test:
total 4
drwxrwxrwx 2 root root 4096 2013-01-18 04:30 dir1
-rwxrwxrwx 1 root root 0 2013-01-18 04:29 file1
-rwxrwxrwx 1 root root 0 2013-01-18 04:29 file2
/test/dir1:
total 0
-rwxrwxrwx 1 root root 0 2013-01-18 04:30 file01
-rwxrwxrwx 1 root root 0 2013-01-18 04:30 file02
참조 : 리눅스 서버관리 실무 바이블 3.0(박성수 저)
[출처] Linux, 파일과 디렉토리의 퍼미션(chmod명령어)|작성자 Youngjae

Posted by w우주z
,

우분투12.04나 11.10 사용자 노트북 무선 네트워크 설정시 문제발생

하드웨어나 소프트웨어에서 차단 할 경우

1. 차단 확인 명령어

    rfkill list wlan 혹은    rfkill list all

   1) 소프트웨어 차단

    ~$ rfkill list all
    1: phy1: Wireless LAN
    Soft blocked: yes
    Hard blocked: no    

   2) 하드웨어 차단

~$ rfkill list all
1: phy1: Wireless LAN
Soft blocked: no
Hard blocked: yes

2.  차단 해제 명령어 (대부분 소프트 웨어경우)

    rfkill unblock wlan 혹은  rfkill unblock all

3.  네트워크 매니저 재시작

    sudo service network-manager restart


출처 : http://www.upubuntu.com/2012/09/solved-wireless-network-detected-but.html

'프로그래밍언어 > Linux' 카테고리의 다른 글

터미널 작업 변환, 백그라운드, 포그라운드  (0) 2013.08.09
chmod 권한 설정  (0) 2013.08.09
TFTP 설정  (0) 2013.07.03
vi 기본설정  (0) 2013.07.03
Ubuntu에서 USB 마운트 하기  (0) 2013.06.17
Posted by w우주z
,

 

24일(현지시간) 발표된 애플의 2분기 실적에 시장은 박수를 보냈다. 지난해 같은 기간 대비 이익이 20% 이상 하락했지만 워낙 기대치가 떨어져 있었기 때문이다.

그러나 애플 실적에 대한 시장의 환영은 길게 가지 않을 것으로 보인다. 프리미엄 스마트폰 시장의 포화, 혁신 제품 부재 등 우려가 눈앞에 와 있다.

프리미엄 스마트폰 시장의 위축이 앞으로 IT기업 실적에 영향을 미칠 것이라는 분석이 나오면서 2분기 호실적을 낸 국내 IT주들 주가가 지지부진한 상황이다.

애플은 지난 2분기 전년 대비 순이익이 22% 감소한 69억달러(주당 순익 7.47달러)를 기록했다고 밝혔다. 시장에서는 주당 순익 7.32달러의 사상 최악 실적을 예상했던 만큼 시간 외 주가는 4.76% 상승했다.

국내에서도 24일 LG이노텍이 전년 동기 대비 영업이익이 110.6% 상승해 기대보다 높은 실적을 발표했다. LG전자 역시 시장 기대에 크게 어긋나지 않은 실적을 냈다. 앞서 실적을 공시한 LG디스플레이는 영업이익이 52% 이상 늘었고, 25일 발표 예정인 SK하이닉스와 삼성전기는 '어닝 서프라이즈'가 예견되고 있다. 삼성전자의 경우에도 숫자상으로 2분기 사상 최대 실적을 낸 바 있다.

전반적으로 대형 IT기업 2분기 실적은 나쁘지 않았지만 걱정은 그 이후다. 고가 스마트폰 시장 축소로 인한 후폭풍이 3분기 본격화할 전망이다.

실제 애플 아이폰 판매는 전년과 비교해 20% 이상 늘었지만 최신작인 아이폰5가 아니라 가격을 내린 아이폰4와 아이폰4S 수요가 많았다. 컨슈머인텔리전스리서치파트너스(CIRP) 자료에 따르면 지난 4~6월 전체 아이폰 판매량 가운데 아이폰5가 52%에 해당하고 나머지는 4S와 4가 차지했다. 이들 아이폰 구형 제품들은 2년 약정에 공짜이거나 100달러 이하의 저가폰에 해당했다.

전체 판매량도 고점을 찍고 하락세로 돌아섰다. 지난해 4분기 4779만대에서 올 1분기 3743만대, 2분기 3124만대로 줄고 있다. 프리미엄 스마트폰 대명사인 아이폰의 판매량 하락은 고가 스마트폰 시장의 성장 정체를 단적으로 보여준다.

애플은 3분기 매출을 340억~370억달러로 내놔 370억달러를 예상한 시장 전망보다 낮춰 잡았다.

이날 발표된 LG전자 역시 전체 실적은 시장 추정치에 맞았지만 스마트폰 사업을 총괄하는 MC사업부 2분기 영업이익(612억원)은 전분기 1328억원 대비 반 토막이 났다. 스마트폰 판매량이 사상 최대치를 기록한 와중에 이익이 급감했다는 것은 보급형 제품 위주로 팔렸다는 의미다.

LG디스플레이도 3분기 매출액 감소가 예상된다. IT기업 성장성에 대한 의심이 커지면서 거래소 전기전자 업종지수는 6월 초 1만1811에서 24일 1만321로 12.6% 떨어졌다. 같은 기간 코스피는 2000에서 1912로 4.4% 조정됐다.

한 펀드매니저는 "프리미엄 스마트폰 시장은 포화상태인 데다 수요를 창출할 만한 추가 혁신도 단기간에 나오기 어려운 상황"이라며 "플렉시블 디스플레이 등이 적용된 완전히 다른 제품이 나올 때까지는 프리미엄 스마트폰 시장에 기대를 걸기 어렵다"고 분석했다. 프리미엄 스마트폰 시장은 구조적으로 성장하기 어려운 상황이라는 것이다.

이렇게 되면 고가 스마트폰 관련 부품주들도 영향을 받을 수밖에 없다. 스마트폰에는 반도체부터 디스플레이 패널, 카메라 등과 힌지, 액세서리까지 다양한 IT 기업이 관련돼 있다.

3분기까지는 IT주에 대해 크게 기대하기가 어렵다는 게 중론이다. 전문가들은 중국과 미국 소비가 확대된다는 신호가 나와야 기관과 외국인이 IT주에 손을 내밀 것이라고 보고 있다. 김지산 키움증권 애널리스트는 "2분기 IT 기업 실적은 좋다고 할 수 있지만 하반기 실적 둔화에 대한 우려가 개별 종목 발목을 잡고 있다"며 "삼성전자 실적 발표로 촉발된 프리미엄 스마트폰 시장에 대한 우려가 쉽게 해소되기는 어렵다"고 말했다.

[황지혜 기자]

 

 





From 매일경제 for iPad

Posted by w우주z
,