User Tools

Site Tools


archive_irods_prod

xen-create-image –hostname lipm-archive –role udev –ip 147.99.102.14 –passwd –extension '' –dist squeeze –fs=ext4 –lvm=archive

adduser irods –home_dir /usr/local/irods chgrp irods.irods /mnt/data21 /mnt/data20

edit contig/config.mk.in RUN_SERVER_AS_ROOT = 1 FILESYSTEM_META = 1 DIRECT_ACCESS_VAULT = 1

apt-get install perl gcc make g++ sudo unixodbc odbc-postgresql apt-get install postgresql-client ./irodssetup

Zone: INRA-Toulouse répertoire postgres: /usr/local/irods/postgres tout par défaut, mdp etc

pendant merdouilles j'ai mis irods@lipm-archive:~/iRODS$ more /etc/ld.so.conf include /etc/ld.so.conf.d/*.conf /usr/local/irods/postgres/pgsql/lib/

et je ne l'ai pas enlevé avant l'install post modif config.mk_in

ERROR: Saved password, but failed to connect to server localhost =⇒ interface lo non chargée

modif server/config/irodsHosts comme précédement

redemarrage pour prise en compte

irods@lipm-archive:~/iRODS$ ls -al /mnt/data20 /mnt/data21 /mnt/data20: drwxr-x— 2 irods irods 4096 Dec 10 13:34 . /mnt/data21: drwxr-x— 2 irods irods 4096 Dec 10 13:34 .

343  iadmin mkresc archive20 "direct access file system" cache lipm-archive.toulouse.inra.fr "/mnt/data20"
344  iadmin mkresc archive21 "direct access file system" cache lipm-archive.toulouse.inra.fr "/mnt/data21"
345  iadmin atrg lipm_archive archive20
346  iadmin atrg lipm_archive archive21


install lipm-archive-r, idem, penser /etc/hosts avec archive et archive-r

irodsHost 'lipm-archive.toulouse.inra.fr' irodsPort 1247 irodsZone 'INRA-Toulouse' irodsUserName 'irods' irodsHome '/usr/local/irods' irodsAuthFileName '/usr/local/irods/iRODS-config/.irodsA'

root export irodsEnvFile=/usr/local/irods/iRODS-config/irodsEnv.server ajout du chemin irods bin dans .bashrc iinit etc ⇒ /usr/local/irods/iRODS-config/.irodsA

odbc-postgresql unixodbc

root@bbric-archive-b:/mnt/archive# mkdir /mnt/archive/irods/INRA-Toulouse root@bbric-archive-b:/mnt/archive# chown irods.irods /mnt/archive/irods/INRA-Toulouse

iadmin mkresc archive1 “unix file system” cache bbric-archive-b.toulouse.inra.fr “/mnt/archive/irods/INRA-Toulouse”

acSetRescSchemeForCreate {msiSetDefaultResc(“archive1”,“prefered”); msiSetRescSortScheme(“random”); msiSetRescSortScheme(“byRescClass”); } acSetRescSchemeForRepl {msiSetDefaultResc(“archive1”,“null”); }

irods:x:1001:irods,www-data mkdir /.irods chown www-data /.irods iadmin mkuser www-data rodsuser iadmin moduser www-data password et-bin-ron

www-data@bbric-archive-b:~$ tail /etc/profile

PATH=/usr/local/irods/iRODS/clients/icommands/bin:$PATH export PATH

root@bbric-archive-b:/mnt/archive/irods# chgrp www-data INRA-Toulouse

cd /mnt/archive/irods chmod g+s INRA-Toulouse

Important: according to J. Floan “To let users have read access to its file on norstore, open file /iRODS/scripts/perl/irodsctl.pl, and set the umask from 77 to 27. Then make the following changes in file iRODS/lib/core/include/objInfo.h i :

#define DEFAULT_FILE_MODE 0640 #define DEFAULT_DIR_MODE 0750

20130403

dans /iRODS/scripts/perl/irodsctl.pl umask( 026 ); # 20130403 pour passer de 750 a 751 sur les repertoires

-- [drwxr-xr-x root     root    ]  ./archive
    |-- [drwxr-xr-x www-data archivef]  ./archive/incoming
    |   |-- [drwxr-sr-x www-data archivef]  ./archive/incoming/bbric
    |   |-- [drwxr-sr-x www-data archivef]  ./archive/incoming/sunrise
    |   `-- [drwxr-xr-x www-data www-data]  ./archive/incoming/tmp
    |-- [drwxr-xr-x root     root    ]  ./archive/irods
    |   `-- [drwxr-sr-x irods    www-data]  ./archive/irods/INRA-Toulouse
    |       |-- [drwxr-x--- irods    www-data]  ./archive/irods/INRA-Toulouse/sequence

proftpd

Les tests sont faits avec lftp et sftp (clients linux)

apt-get install proftpd-basic

(standalone car inetd n'est pas installé)

Configuration de proftpd pour:

  • Interdire ftp et forcer sftp sur le port 24 (pour laisser le ssh sur le port 22)
  • Interdire ipv6 et forcer ipv4
  • Travailler en chroot à l'intérieur du home directory
  • Interdire tout sauf le put

Ce qui suit montre les modifications par rapport à la configuration standard Fichier /etc/proftpd/proftpd.conf

UseIPv6				off

ServerName			"lipm-archive"

# Pas besoin de shell valide pour se connecter
RequireValidShell               off

# Interdire le serveur par defaut qui est en ftp
DefaultServer			off

# Interdire de s'echapper de son homedir (cf aussi le virtualhost)
DefaultRoot			~

# manu - SUPPRESSION DES ACCES ftp
DefaultAddress			127.0.0.1
<Limit LOGIN>
   DenyAll
</Limit>

# interdire d'ecraser un fichier existant
AllowOverwrite			off
 
#
# manu - Mise en place d'un serveur sftp sur le port 24
#
<VirtualHost 147.99.102.14>
  Port    24
 
  # On autorise le login depuis n'importe ou
  <Limit LOGIN>
    AllowAll
  </Limit>

  # On interdit tout, la seule commande autorisee est le put (mais PAS pour ecraser un fichier existant cf. plus haut)
  <Limit STAT CWD MKD RNFR RNTO DELE RMD RETR READ >
    Deny from all
  </Limit>
  DefaultRoot   ~
  SFTPEngine on
  SFTPHostKey /etc/ssh/ssh_host_dsa_key
</VirtualHost>

Configuration de sshd: Commenter une ligne dans le fichier /etc/ssh/sshd_config afin de supprimer le sftp server par défaut:

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

Fichier /etc/proftp/modules.conf

LoadModule mod_sql.c
LoadModule mod_sql_postgres.c
#LoadModule mod_sftp_pam.c

NOTE - La suppression du module mod_sftp_pam.c s'est révélée nécessaire pour que ça marche avec lftp…

Les modules mod_sql.c et mod_sql_postgres.c permettent l'authentification via une base de données postgresql

Il faut aussi installer le paquet proftpd-mod-pgsql

archive_irods_prod.txt · Last modified: 2013/04/03 16:14 by gouzy