본문 바로가기

GroovyLock과 SBHTML의 권한수정 방법

사용자가 직접 다운받아 외부프로그램을 통해 넣은 'GroovyLock'과 'SBHTML' 테마의 경우 사용자(Owner) 권한만 쓰기가 활성화 되어있다. 이는 사용자가 직접 기기의 내부폴더로 진입하여 테마를 적용하였기에 발생하는 것인데, 사용자의 권한만으로는 설정기능을 제대로 활용할 수 없다.


일단 권한의 종류로는 '사용자', '그룹', '전체'가 있고 각각 '읽기', '쓰기', '실행'을 선택할 수 있다.

이를 표로 보자면 아래와 같다.

사용자(소유자) 그룹 전체 
읽기(R) 400 40 4
쓰기(W) 200 20 2
실행(D) 100 10 1

표 상의 숫자들은 퍼미션값을 숫자로 표현한 것이다.


만약 사용자와 그룹, 전체에 대해 읽기와 쓰기 권한만 있다고 할 경우 해당하는 숫자를 모두 더하면 된다.

사용자읽기(400) + 그룹읽기(40) + 전체읽기(4) + 사용자쓰기(200) + 그룹쓰기(20) + 전체쓰기(2) = 666

즉 사용자와 그룹, 전체에 대해 읽기와 쓰기 권한은 퍼미션값 666이다. 이는 0666이라고도 표현한다.


일반적으로 폴더의 경우 755의 권한을 파일의 경우 644의 권한을 갖는다.


여기까지 권한에 대한 아주 얕은 지식을 뽐내보았다.



테마 설정 후 저장시 왜 에러가 발생할까?

_

먼저 이 에러가 뜨기위한 조건으로는 사용자가 직접 iFunbox등의 외부프로그램을 통하여 테마를 직접 넣었거나, 테마의 최상위 폴더안에 Config.js라는 파일이 존재해야하며 테마폴더(테마의 이름이 되는 폴더)의 권한이 '777' 즉, 사용자 그룹 전체항목에 대한 읽기 쓰기 실행 권한이 없어야한다. 이를 달리 말하자면 테마의 최상위 폴더안에 Config.js파일이 없거나 테마폴더(테마의 이름이 되는 폴더)의 권한이 '777' 즉, 사용자 그룹 전체항목에 대한 읽기 쓰기 실행 권한이 모두 있으면 해결된다는 것이다. (사용자가 직접 외부프로그램을 통하여 넣은 테마가 아닌 Cydia를 통해 다운받은 테마들도 가끔 권한설정을 해줘야하는 경우가 있기에 논외로 치도록한다.)


하지만 처음의 Config.js항목의 이름을 변경하거나, 삭제한다면 또 그 나름대로의 불편함이 있을것이다.(기기의 설정에서 테마설정을 할 수 없다거나 테마에 에러가 발생하여 정상적으로 작동되지 않을 수 있다.)


결국은 귀찮더라도 설정기능(Config.js)을 갖고 있는 테마는 권한설정을 해줘야한다는 것이다.



권한이 설정되어있지 않으면 아래와 같은 팝업이 뜬다.

굳이... 해석하자면...


[팝업제목] 그루비락이에요


Config.js에 저장 할 수 없네요: 작업을 완료할 수 엄써요.

(빼에에에에에엑~ 코코아가 513번 에러를 뿜어요.)


꼬옥~ 테마폴더에 쓰기가 가능토록 해야해요. (이거슨 0777이에요.)





그럼 권한설정 어떻게 할 수 있을까?

_

권한을 설정하는 방법으로는 쉘을 이용하여 명령어를 입력하는 방법과 프로그램을 이용하여 사용자가 직접 체크하는 방법이 있다.


위 두가지 방식은 서로의 장단점을 가지고 있는데,

일단 쉘을 이용하는 방법은 사용자가 명령어를 알고있어야 하고, 모든것을 타이핑으로 해결해야 한다는 것이다. 즉 경로가 길고 복잡할수록 불편해진다. 그리고 폴더내 특정 폴더 및 파일에 대한 선택적인 접근이 힘들다. 하지만 작업했던 내용에 대해 History 기능을 가지고 있기에 한번만 작업해 놓는다면 몇번의 조작만으로 이 후의 작업들은 무척 쉬워진다. (한번만 작업해 놓았다면 상,하의 방향키와 엔터키만으로도 작업을 완료할 수 있다.)


프로그램을 이용한 방식은 윈도우 탐색기나, ftp프로그램과 같이 조작하기 쉽게 되어있다. 경로가 아무리 복잡해도 타이핑 실수로 인해 실패할 일이 없고, 특정 폴더의 다중선택이 간단하다. 일반적으로 많이 사용하는 방식이다. 하지만 History나 매크로 같은 기능이 없기에 동일한 작업을 하려할 때 이전과 똑같은 양의 작업을 해야한다는 점과 마우스 클릭질의 지루함이 단점이라 할 수 있다.



아이폰으로 권한 설정하기

_

1. Terminal 어플을 통한 권한 설정(명령어를 이용한 방법)

NOEUL:~ mobile$ su root
Password: 사용자 root 비밀번호(최초 실행시 alpine)
NOEUL: /var/mobile root# chmod -R 777 /var/mobile/Library/GroovyLock


위의 오렌지 색상이 사용자가 직접 입력해야하는 부분이다.
처음 su root는 root권한을 획득하기 위한 절차인데 su root라고 입력 후 엔터를 누르면 root계정의 비밀번호를 묻게된다. 만약 사용자가 탈옥 후 터미널을 한번도 실행하지 않았거나, 비밀번호를 변경한 기억이 없다면 비밀번호는 기본적으로 'alpine' 이다. 그리고 비밀번호 입력시에 입력되는 글자는 화면에 표시되지 않는다.(이는 정상이다.)


위 과정으로 root계정을 얻게되었다면 '사용자명:~ mobile$' 라는 부분이 '사용자명 : 현재 경로'로 변경된다.
이때 chmod라는 명령어를 통하여 권한을 수정해주도록 하자.


GroovyLock 테마 폴더 권한 설정

chmod -R 777 /var/mobile/Library/GroovyLock


chmod : 권한 설정을 위한 명령어

-R 옵션 : 해당 경로를 포함한 내부의 모든 파일 및 폴더

777 : '사용자', '그룹', '전체'의 권한을 '읽기', '쓰기', '실행' 할 수 있게 해준다

/var/mobile/Library/GroovyLock : 테마가 있는 설치되어있는 경로


이것을 이용하여 SBHTML폴더도 권한수정을 해보도록 한다.


SBHTML 테마 폴더 권한 설정

chmod -R 777 /var/mobile/Library/SBHTML


이렇게 두줄만 입력하면 GroovyLock과 SBHTML의 테마 설정을 이용할 수 있다.



2. 프로그램(어플)을 이용한 방법

이 방법은 'iFile'이나 'Filza'라는 Cydia 어플을 통해 권한 설정을 한다.

둘 중 어떠한 프로그램을 써도 무관하며 해당 경로만 잘 찾아들어간다면 90% 이상 성공한 것이다.


## iFile 이용하기

  • GroovyLock과 SBHTML 폴더가 있는 경로에 찾아간다. 경로 : /var/mobile/Library/

  • 위의 Library 경로에 들어간 뒤, GroovyLock 또는 SBHTML폴더의 우측에 있는 ⓘ 를 터치한다.

  • 파일 속성에서 아래로 조금만 내리면 접근 허가라는 섹션이 있고 그 아래에 사용자, 그룹, 전체 보일것이다. 이 사용자, 그룹, 전체의 우측에 모두 읽기, 쓰기, 실행이라고 적혀있는지 확인해보고 만약 읽기, 쓰기, 실행중 하나라도 적혀있지 않다면 그 항목을 터치해서 읽기, 쓰기, 실행 중 비활성화 되어있는 목록을 체크토록 한다.

  • 위의 세번째 과정을 완료 후 다시 스크롤을 위쪽으로 이동하여 '계층 적용'을 '체크'하고 우측 상단에 있는 완료를 터치하면 모든과정이 종료된다.



## Filza 이용하기

  • GroovyLock과 SBHTML 폴더가 있는 경로에 찾아간다. 경로 : /var/mobile/Library/

  • 위의 Library 경로에 들어간 뒤, GroovyLock 또는 SBHTML폴더의 우측에 있는 ⓘ 를 터치한다.

  • 접근 권한의 스티키(Sticky bit)소유자, 그룹, 기타중 아무 항목이나 들어간다.(모두 동일한 위치로 이동됨)

  • 소유자, 그룹, 기타의 항목에 읽기, 쓰기, 실행체크되어있는지 확인하고 체크가 안되어 있는 항목을 모두 체크하도록 한다. 만약 모두 체크가 되어있거나 모두 체크를 하였다면 제일 하단에 있는 '하위 항목에도 적용'체크 후 우측 상단의 '저장'을 누른다.

tip) Filza에서는 접근 권한에 마스크(Mask)라는 항목이 있고 0777값이 적혀있는데 본문글의 상단에 설명하였듯 모든 권한이 활성화 되어있을 경우 0777이라고 적히게 된다.


위의 과정이 완료되면 설정 > GroovyLock > Theme > 사용자가 지정한 테마 > 테마설정 을 정상적으로 이용할 수 있다.

단, 테마설정은 Config.js파일이 존재하는 테마만 가능하다.