센토라 FTP유저명과 DB 이름에 “계정ID” Prefix 없애기

  1. FTP 유저명

/etc/sentora/panel/modules/ftp_management/code 에 있는 controller.ext.php 파일의 186번째 라인을 수정

기존

  $username = $currentuser['username'] . '_' . $username;

 

을 이렇게 변경

  $username = $username;

 

 

 

2. DB 이름

/etc/sentora/panel/modules/mysql_databases/code 에 있는 controller.ext.php 파일의 101번째 라인 수정

 

기존

$db = $zdbh->mysqlRealEscapeString($currentuser['username'] . "_" . $databasename);

 

을 아래처럼 변경

$db = $zdbh->mysqlRealEscapeString($databasename);

 

이것만 변경하면 실제 DB명은 이름이 바뀌지만 패널에서는 아직도 유저명_DB명 형태로 보임. 추가적인 수정 필요

같은 파일 114번째 라인

$name = $currentuser['username'] . "_" . $databasename;

을 다음과 같이 수정

$name = $databasename;

하지만, 이렇게 입력하고 나면 패널에서 데이터베이스 생성후 이름이 제대로 보이긴 하지만 여전히 데이터베이스 이름 입력창에는 유저명_ 이 붙어 있음. 이부분을 수정해야함.

이번엔 /etc/sentora/panel/modules/mysql_databases/module.zpm 파일을 수정해야 함. 이 파일의 72번째 줄

<td nowrap="nowrap"><@ CurrentUserName @>_<input name="inDatabase" type="text" id="inDatabase" size="30" /></td>

의 내용중을 이렇게 수정함.

<td nowrap="nowrap"><input name="inDatabase" type="text" id="inDatabase" size="30" /></td>

 

 

sftp chroot 설정

1. 사용자 추가

adduser [유저명]

만약, ssh는 접근 못하게하고, sftp만 사용하고자 하는 경우에는 뒤에 -s /bin/false 이란 인수를 추가한다.

 

2. 홈 디렉터리 확인

일반적인 경우에 홈디렉터리는 /home/[유저명] 임. 하지만 chroot를 적용하기 위해서는 이 폴더의 소유자가 root 여야 정상적으로 chroot가 작동.

chown root /home/[유저명]

만약 홈디렉터리의 그룹이 [유저명]이 아니라면 다음과 같이 입력

chown root:[유저명] /home/[유저명]

그리고 권한 변경 (755또는 775또는 777)

chmod 775 /home/[유저명]

 

 

3. sshd_config 파일 편집

vi /etc/ssh/sshd_config

그리고 거의 하단에

Subsystem sftp /usr/lib/openssh/sftp-server

부분을 찾아서 앞에 #을 붙여 주석처리하고 다음과 같이 작성

# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

 

그리고 sshd_config 파일 가장 하단에 다음 내용을 추가

Match User [유저명]
     ChrootDirectory /home/[유저명]
     ForceCommand internal-sftp
     X11Forwarding no
     AllowTCPForwarding no

만약 지금처럼 유저명으로 진행하는 것이 아니라 그룹 전체로 한다면 다음과 같이 입력

 

Match Group [그룹명]
     ChrootDirectory %h
     ForceCommand internal-sftp
     X11Forwarding no
     AllowTCPForwarding no

참고로 %h는 홈디렉터리를 뜻함.(홈디렉터리를 대체함) 이 내용은 /etc/passwd에서 확인 및 수정가능

%u 는 인정된 유저를 뜻함.

 

4. ssh restart 하기

restart ssh

또는

service ssh restart

 

 

일단, 참고 http://askubuntu.com/questions/280894/changing-write-permissions-for-jailed-sftp-denies-login

 

 

해당 내용 추가함

만약 user 라는 유저명을 chroot로 /home/user 에 가둬두고 싶으면(이미 sshd_config에서는 /home/user로 해야함. 귀찬으면 %h 입력함) 퍼미션 조정이 더 필요함.

일단 /home/user 의 소유자는 root:user 그리고 퍼미션은 무조건 755로만 해야함.

chown root:user /home/user
chmod 755 /home/user

 

 

그리고 /home/user 디렉터리 안에 적어도 쓰기 가능한 폴더가 하나 존재해야 함. 그래야 접속이 됨.

서브 디렉터리로 www를 만들고 소유자는 root:user 그리고 권한은 775(777도 가능할지 모름)

mkdir www
chown root:user /home/user/www
chmod 775 /home/user/www

이렇게 하고 나면 정상적으로 choroot 작동함. 휴~

 

부팅시 the disk drive for /dev/mapper/cryptswap1 is not ready yet or not present 해결

I did the following: root 계정으로 로그인 한 상태에서 진행

vi /etc/fstab

다음 문장을 찾아서

/dev/mapper/cryptswap1 none swap sw 0 0

아래처럼 바꾼다.

/dev/mapper/cryptswap1 none swap sw,noauto 0 0

그리고

vi /etc/rc.local

이 파일에는 아래와 같은 한줄만 있을 텐데 그 내용을 변경한다.

exit 0

아래의 내용을 그대로 복사 > 붙여넣기

sleep 5
swapon /dev/mapper/cryptswap1

 

smb 유저 추가

이미 등록된 사용자를 기준으로

 

smbpasswd -a [유저명]

으로 유저를 추가할 수 있다.

참고로 -x 는 삭제

samba 서버 세팅

/etc/samba/smb.conf 파일 수정

가장 아래에 붙여 넣을것

[root]
comment = root
path = /
public = no
browseable = yes
writable = yes
write list = root
create mask = 0777
directory mask = 0777

 

php5 curl 활성화

apt-get install php5-curl

으로 제대로 설치를 했다면

/etc/php5/apache2/ 으로 이동하여 php.ini 파일 수정

제일 하단에 [curl]항목이 있는데, 그 중 아무데나 아래 입력 후 저장

extension=curl.so

그 후 apache2 재시작

service apache2 restart

 

Ajenti V 설치

먼저 Ajenti 부터 설치

 

wget -O- https://raw.github.com/Eugeny/ajenti/master/scripts/install-ubuntu.sh | sudo sh

 

그리고 Ajenti V 로 교체

 

apt-get remove apache2
apt-get install ajenti-v ajenti-v-nginx ajenti-v-mysql ajenti-v-php-fpm php5-mysql
service ajenti restart

pydio 한글 완벽 해결

일반적으로 한글문제는 윈도우 IIS 환경에서는 잘 일어나지 않음. Windows 서버 환경에서 인코딩을 잘 잡아주는 편이기 때문에 문제가 되었던 일은 거의 없음.

즉, pydio6의 문제가 아니란 이야기.

 

echo $LANG

 

명령어를 통해서 캐릭터 셋과 인코딩 확인.

현재 상황은 en_US.UTF-8 임.

 

pydio 메인 폴더에서  conf/bootstrap_conf.php 파일을 찾아서 변경

 

먼저 32번째 줄에 있는 내용을 변경

//define("AJXP_LOCALE", "en_EN.UTF-8");

 

이 내용에서 앞에 // 를 지워서 주석을 제거한뒤 인코딩을 “en_US.UTF-8″으로 변경

예시

define("AJXP_LOCALE", "en_US.UTF-8");

 

한글은 이걸로 해결가능함.