Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:solaris:10:junior:l121 [2020/01/17 14:27] – admin | elearning:workbooks:solaris:10:junior:l121 [2020/01/30 03:28] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 965: | Ligne 965: | ||
Constatez l' | Constatez l' | ||
- | |||
< | < | ||
Ligne 993: | Ligne 992: | ||
</ | </ | ||
- | =====Le Serveur FTP===== | + | =====LAB #3 - Installation et Configuration du Serveur FTP===== |
- | ==== Installation | + | ====Introduction==== |
- | Sous **Solaris**, un serveur | + | Solaris |
- | < | + | ====installation==== |
- | # svcs -a | grep ftp | + | |
- | online | + | |
- | online | + | |
- | </ | + | |
- | Le serveur FTP de Sun ne peut pas être configuré et n'est pas dans un **chroot**. Désactivez | + | Vérifiez |
< | < | ||
- | # svcadm disable svc:/ | + | # svcs ftp |
- | # svcs -a | grep ftp | + | STATE STIME FMRI |
- | disabled | + | online |
- | online | + | |
</ | </ | ||
- | Le paquet | + | Le serveur FTP est géré par inetd. Consultez donc sa configuration en utilisant la commande |
< | < | ||
- | # /opt/csw/bin/pkgutil | + | # inetadm -l svc:/network/ftp: |
- | ... | + | SCOPE NAME=VALUE |
- | L' | + | |
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
</ | </ | ||
- | ====Configuration de base==== | + | <WRAP center round important 60%> |
+ | **Important** - L' | ||
+ | </ | ||
- | Le fichier / | + | ====Configuration de la Journalisation==== |
- | # cp / | + | Pour rendre la journalisation plus détaillé il faut passé la valeur de la directive |
- | + | ||
- | / | + | |
- | + | ||
- | Ouvrez le fichier | + | |
< | < | ||
- | # cat /opt/csw/etc/proftpd.conf | + | # inetadm -m svc:/network/ftp:default tcp_trace=TRUE |
- | # This is a basic ProFTPD configuration file (rename it to | + | # inetadm -l svc:/network/ftp |
- | # ' | + | SCOPE NAME=VALUE |
- | # and a single anonymous login. | + | name="ftp" |
- | # "nobody" | + | |
- | + | proto="tcp6" | |
- | ServerName | + | isrpc=FALSE |
- | ServerType | + | wait=FALSE |
- | DefaultServer | + | exec="/ |
- | + | | |
- | # Port 21 is the standard FTP port. | + | default |
- | Port 21 | + | default |
- | + | default | |
- | # Don't use IPv6 support by default. | + | default |
- | UseIPv6 | + | default |
- | + | default | |
- | # Umask 022 is a good standard umask to prevent new dirs and files | + | default |
- | # from being group and world writable. | + | default |
- | Umask 022 | + | default |
- | + | tcp_trace=TRUE | |
- | # To prevent DoS attacks, set the maximum number of child processes | + | default |
- | # to 30. If you need to allow more than 30 concurrent connections | + | default |
- | # at once, simply increase this value. | + | |
- | # in standalone mode, in inetd mode you should use an inetd server | + | |
- | # that allows you to limit maximum number of processes per service | + | |
- | # (such as xinetd). | + | |
- | MaxInstances | + | |
- | + | ||
- | # Set the user and group under which the server will run. | + | |
- | User nobody | + | |
- | Group | + | |
- | + | ||
- | # To cause every FTP user to be "jailed" | + | |
- | # directory, uncomment this line. | + | |
- | # | + | |
- | + | ||
- | # Normally, we want files to be overwriteable. | + | |
- | AllowOverwrite | + | |
- | + | ||
- | # Bar use of SITE CHMOD by default | + | |
- | <Limit SITE_CHMOD> | + | |
- | DenyAll | + | |
- | </ | + | |
- | + | ||
- | # A basic anonymous configuration, | + | |
- | # want anonymous users, simply delete this entire < | + | |
- | < | + | |
- | User ftp | + | |
- | Group ftp | + | |
- | + | ||
- | # We want clients to be able to login with "anonymous" | + | |
- | | + | |
- | + | ||
- | | + | |
- | | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | | + | |
- | | + | |
- | DenyAll | + | |
- | </ | + | |
- | </ | + | |
</ | </ | ||
- | |||
- | Dans ce fichier, la directive suivante contient le nom de votre serveur FTP: | ||
- | |||
- | < | ||
- | ServerName | ||
- | </ | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | **Important** - Ce nom sera visible au client ftp utilisé pour la connexion. Vous pouvez modifier ce nom. | + | **Important** - Notez la directive **tcp_trace=TRUE**. |
</ | </ | ||
- | La directive suivante définit que le processus proftpd ne dépendra pas de xinetd: | + | Consulte maintenant |
- | <file> | + | <code> |
- | ServerType | + | # cat / |
- | </file> | + | # ident " |
+ | # | ||
+ | # FTP server configuration | ||
+ | # | ||
- | <WRAP center round important 60%> | + | class |
- | **Important** - Cette directive est importante dans la mesure où les directives de sécurité détaillées ci-dessous ne fonctionne **pas** en mode inetd. | + | class |
- | </ | + | class |
- | La directive suivante indique que vous utilisez le serveur par défaut: | + | loginfails |
+ | passwd-check | ||
+ | private | ||
+ | shutdown | ||
+ | # email | ||
+ | # guestuser | ||
+ | # rhostlookup | ||
- | < | + | keepalive |
- | DefaultServer | + | recvbuf |
- | </file> | + | sendbuf |
+ | # flush-wait | ||
+ | # passive | ||
+ | # timeout | ||
+ | # timeout | ||
- | <WRAP center round important 60%> | + | banner |
- | **Important** - En effet, proftpd est capable de gérer, tout comme apache, des serveurs virtuels. | + | greeting |
- | </ | + | message |
+ | message | ||
+ | readme | ||
+ | readme | ||
+ | # quota-info | ||
- | La directive suivante stipule le port d' | + | chmod |
+ | delete | ||
+ | overwrite | ||
+ | rename | ||
+ | umask | ||
- | < | + | compress |
- | Port 21 | + | tar |
- | </ | + | |
- | <WRAP center round important 60%> | + | path-filter |
- | **Important** | + | |
- | </ | + | |
- | La directive suivante indique que les nouveaux fichiers seront créés avec un mask de 0644 et les nouveaux répertoires avec un mask de 0755: | + | noretrieve |
+ | allow-retrieve | ||
- | < | + | upload |
- | Umask 022 | + | # upload |
- | </file> | + | |
- | La directive suivante stipule que chaque utilisateur ayant un compte système valide, sauf les membres du groupe **adm**, | + | # log |
+ | # log | ||
+ | # log | ||
+ | # xferlog | ||
- | < | + | # limit-time anonymous |
- | #DefaultRoot ~ | + | # limit |
- | </ | + | # limit |
- | + | ||
- | <WRAP center round important 60%> | + | |
- | **Important** | + | |
- | </ | + | |
- | + | ||
- | La directive suivante ne fonctione qu'en mode **standalone**. Sa fonction est d' | + | |
- | + | ||
- | < | + | |
- | MaxInstances | + | |
- | </ | + | |
- | + | ||
- | Les directives suivantes indiquent l' | + | |
- | + | ||
- | < | + | |
- | User | + | |
- | Group nogroup | + | |
- | </ | + | |
- | + | ||
- | La directive **%%AllowOverwrite%%** indique qu'un fichier déjà présent peut être écrasé lors du téléversement d'un fichier du **même nom** : | + | |
- | + | ||
- | < | + | |
- | AllowOverwrite | + | |
- | </ | + | |
- | + | ||
- | La directive **<Limit SITE_CHMOD> | + | |
- | + | ||
- | < | + | |
- | # Bar use of SITE CHMOD by default | + | |
- | <Limit SITE_CHMOD> | + | |
- | DenyAll | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | Editez le fichier /opt/csw/etc/proftpd.conf et otez le caractère **#** devant la directive **DefaultRoot ~** : | + | |
- | + | ||
- | < | + | |
- | DefaultRoot ~ | + | |
- | </file> | + | |
- | + | ||
- | Ensuite ajoutez les deux directives **AllowRetrieveRestart** et **AllowStoreRestart** **avant** la section suivante : | + | |
- | + | ||
- | < | + | |
- | # A basic anonymous configuration, | + | |
- | # want anonymous users, simply delete this entire < | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | AllowRetrieveRestart offre la possibilité aux clients de continuer un téléchargement suite à une coupure de la connexion avec celui-ci sans avoir à tout recommencer : | + | |
- | + | ||
- | < | + | |
- | AllowRetrieveRestart | + | |
- | </file> | + | |
- | + | ||
- | AllowStoreRestart offre la possibilité aux clients de continuer un téléversement suite à une coupure de la connexion avec celui-ci sans avoir à tout recommencer. | + | |
- | + | ||
- | < | + | |
- | AllowStoreRestart | + | |
- | </file> | + | |
- | + | ||
- | Sauvegardez votre fichier et démarrez ensuite le serveur proftpd : | + | |
- | + | ||
- | # /opt/ | + | |
- | + | ||
- | Connectez-vous à votre serveur proftpd en tant qu' | + | |
- | + | ||
- | < | + | |
- | # ftp localhost | + | |
- | Connected to localhost. | + | |
- | 220 ProFTPD 1.3.5b Server (ProFTPD Default Installation) [127.0.0.1] | + | |
- | Name (localhost: | + | |
- | 331 Password required for user2 | + | |
- | Password: | + | |
- | 230 User user2 logged in | + | |
- | Remote system type is UNIX. | + | |
- | Using binary mode to transfer files. | + | |
- | ftp> ls | + | |
- | 200 PORT command successful | + | |
- | 150 Opening ASCII mode data connection for file list | + | |
- | local.cshrc | + | |
- | local.login | + | |
- | local.profile | + | |
- | 226 Transfer complete | + | |
- | 41 bytes received in 0.00053 seconds (75.31 Kbytes/s) | + | |
</ | </ | ||
- | <WRAP center round important 60%> | + | Pour activer la journalisation il convient |
- | **Important** - Lors de votre connexion en utilisant un compte de votre système, vous devez arriver dans le dossier **home** de cet utilisateur. | + | |
- | </ | + | |
- | + | ||
- | ====Serveur proftpd Anonyme==== | + | |
- | + | ||
- | ===Créer l' | + | |
- | + | ||
- | Créez un groupe **ftp** dont le GID est, par exemple, 3000 : | + | |
< | < | ||
- | # groupadd -g 3000 ftp | + | # vi / |
+ | # cat / | ||
+ | ... | ||
+ | log | ||
+ | xferlog | ||
+ | ... | ||
</ | </ | ||
- | Créez ensuite | + | Ajoutez maintenant les options **-l**, **-L**, **-X** |
< | < | ||
- | # useradd | + | # svccfg |
+ | svc:> select ftp | ||
+ | svc:/ | ||
+ | svc:/network/ftp> listprop | ||
+ | general | ||
+ | general/entity_stability | ||
+ | general/restarter | ||
+ | inetd framework | ||
+ | inetd/ | ||
+ | inetd/ | ||
+ | inetd/ | ||
+ | inetd/ | ||
+ | inetd/ | ||
+ | inetd/ | ||
+ | inetd_start | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_disable | ||
+ | inetd_disable/ | ||
+ | inetd_disable/ | ||
+ | inetd_disable/ | ||
+ | tm_common_name | ||
+ | tm_common_name/ | ||
+ | tm_man_in_ftpd | ||
+ | tm_man_in_ftpd/ | ||
+ | tm_man_in_ftpd/ | ||
+ | tm_man_in_ftpd/ | ||
+ | tm_man_ftpd | ||
+ | tm_man_ftpd/ | ||
+ | tm_man_ftpd/ | ||
+ | tm_man_ftpd/ | ||
+ | svc:/ | ||
</ | </ | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | **Important** - Notez que le shell de l'utilisateur est **/bin/false**. | + | **Important** - L' |
</ | </ | ||
- | Editez ensuite | + | Le serveur FTP envoie des traces à syslog en utilisant le Sélecteur **daemon.info**. Modifiez donc le fichier **/etc/syslog** afin que syslog envoie les traces dans le fichier |
- | + | ||
- | < | + | |
- | ftp: | + | |
- | </ | + | |
- | + | ||
- | Dernièrement, | + | |
< | < | ||
- | # mkdir /var/ftp | + | # vi /etc/syslog |
- | # chown ftp: | + | # cat /etc/syslog |
- | </ | + | ... |
- | + | *.err; | |
- | ===Configuration=== | + | *.err; |
- | + | daemon.info | |
- | La configuration de votre serveur anonyme se trouve dans la suite du fichier **/opt/csw/etc/proftpd.conf** : | + | |
- | + | ||
- | < | + | |
... | ... | ||
- | # A basic anonymous configuration, | ||
- | # want anonymous users, simply delete this entire < | ||
- | < | ||
- | User ftp | ||
- | Group ftp | ||
- | |||
- | # We want clients to be able to login with " | ||
- | UserAlias | ||
- | |||
- | # Limit the maximum number of anonymous logins | ||
- | MaxClients | ||
- | |||
- | # We want ' | ||
- | # in each newly chdired directory. | ||
- | DisplayLogin | ||
- | DisplayFirstChdir | ||
- | |||
- | # Limit WRITE everywhere in the anonymous chroot | ||
- | <Limit WRITE> | ||
- | DenyAll | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | |||
- | Vérifiez votre fichier de configuration grâce à l' | ||
- | |||
- | < | ||
- | # / | ||
- | Checking syntax of configuration file | ||
- | Syntax check complete. | ||
</ | </ | ||
- | Redémarrez votre serveur proftpd | + | Créez le fichier **/ |
< | < | ||
- | # svcs -a | grep ftp | + | # touch /var/adm/ftplog |
- | disabled | + | # svcadm restart inetd |
- | disabled | + | # svcadm |
- | online | + | # svcadm restart system-log |
- | # ps -ef | grep proftp | + | |
- | nobody | + | |
- | root 2607 | + | |
- | # kill 2557 | + | |
- | # ps -ef | grep proftp | + | |
- | root 2609 | + | |
- | # svcadm | + | |
- | # svcs -a | grep ftp | + | |
- | disabled | + | |
- | online | + | |
- | online | + | |
</ | </ | ||
- | Testez ensuite votre serveur ftp anonyme. Lors de votre connexion anonyme, | + | Connectez-vous maintenant au serveur FTP en tant qu'user1 et tapez quelques commandes |
< | < | ||
# ftp localhost | # ftp localhost | ||
Connected to localhost. | Connected to localhost. | ||
- | 220 ProFTPD 1.3.0 Server (ProFTPD Default Installation) [127.0.0.1] | + | 220 solaris.i2tch.loc FTP server ready. |
- | Name (localhost: | + | Name (localhost: |
- | 331 Anonymous login ok, send your complete email address as your password. | + | 331 Password required for user1. |
Password: | Password: | ||
- | 230 Anonymous access granted, restrictions apply. | + | 230 User user1 logged in. |
Remote system type is UNIX. | Remote system type is UNIX. | ||
Using binary mode to transfer files. | Using binary mode to transfer files. | ||
+ | ftp> pwd | ||
+ | 257 "/ | ||
+ | ftp> ls | ||
+ | 200 PORT command successful. | ||
+ | 150 Opening ASCII mode data connection for file list. | ||
+ | local.cshrc | ||
+ | local.login | ||
+ | local.profile | ||
+ | 226 Transfer complete. | ||
+ | 41 bytes received in 0.0016 seconds (25.43 Kbytes/s) | ||
ftp> quit | ftp> quit | ||
+ | 221-You have transferred 0 bytes in 0 files. | ||
+ | 221-Total traffic for this session was 512 bytes in 1 transfers. | ||
+ | 221-Thank you for using the FTP service on solaris.i2tch.loc. | ||
221 Goodbye. | 221 Goodbye. | ||
</ | </ | ||
- | ====Serveur proftpd et Hôtes Virtuels==== | + | Connectez-vous maintenant au serveur FTP en tant qu' |
- | + | ||
- | ===Introduction=== | + | |
- | + | ||
- | Le serveur proftpd peut gérer des hôtes virtuels. Les hôtes virtuels sont des couples **adresse IP/site** hébergés sur la même machine physique ou virtuelle. | + | |
- | + | ||
- | ===Configuration=== | + | |
- | + | ||
- | Pour configurer des hôtes virtuels, il convient de créer un fichier de configuration à part, appelé **proftpd-vhosts.conf** | + | |
< | < | ||
- | # touch /opt/csw/etc/proftpd-vhosts.conf | + | # ftp localhost |
+ | Connected to localhost. | ||
+ | 220 solaris.i2tch.loc FTP server ready. | ||
+ | Name (localhost: | ||
+ | 331 Guest login ok, send your complete e-mail address as password. | ||
+ | Password: | ||
+ | 230-The response ' | ||
+ | 230-Next time please use your e-mail address as your password | ||
+ | 230- for example: joe@localhost.network | ||
+ | 230 Guest login ok, access restrictions apply. | ||
+ | Remote system type is UNIX. | ||
+ | Using binary mode to transfer files. | ||
+ | ftp> pwd | ||
+ | 257 "/" is current directory. | ||
+ | ftp> !pwd | ||
+ | / | ||
+ | ftp> !touch test | ||
+ | ftp> !ls | ||
+ | Desktop | ||
+ | Documents | ||
+ | bin | ||
+ | boot | ||
+ | core export | ||
+ | ftp> put test | ||
+ | 200 PORT command successful. | ||
+ | 553 test: Permission denied on server. (Upload) | ||
+ | ftp> quit | ||
+ | 221-You have transferred 0 bytes in 1 files. | ||
+ | 221-Total traffic for this session was 745 bytes in 1 transfers. | ||
+ | 221-Thank you for using the FTP service on solaris.i2tch.loc. | ||
+ | 221 Goodbye. | ||
</ | </ | ||
- | Modifiez ensuite les permissions sur ce fichier : | + | Consultez le fichier |
< | < | ||
- | # chmod 600 /opt/csw/etc/ | + | # cat /var/adm/ftplog |
+ | Jan 18 16:50:16 solaris.i2tch.loc inetd[1421]: | ||
+ | Jan 18 16:59:38 solaris.i2tch.loc in.ftpd[1660]: | ||
+ | Jan 18 16:59:38 solaris.i2tch.loc inetd[1421]: | ||
+ | Jan 18 16:59:42 solaris.i2tch.loc ftpd[1660]: [ID 165209 daemon.info] USER user1 | ||
+ | Jan 18 16:59:47 solaris.i2tch.loc ftpd[1660]: [ID 125383 daemon.info] PASS password | ||
+ | Jan 18 16:59:47 solaris.i2tch.loc ftpd[1660]: [ID 124999 daemon.info] FTP LOGIN FROM localhost [127.0.0.1], | ||
+ | Jan 18 16:59:47 solaris.i2tch.loc ftpd[1660]: [ID 470890 daemon.info] SYST | ||
+ | Jan 18 16:59:47 solaris.i2tch.loc ftpd[1660]: [ID 307055 daemon.info] TYPE Image | ||
+ | Jan 18 16:59:50 solaris.i2tch.loc ftpd[1660]: [ID 924372 daemon.info] PWD | ||
+ | Jan 18 16:59:52 solaris.i2tch.loc ftpd[1660]: [ID 313182 daemon.info] PORT | ||
+ | Jan 18 16:59:52 solaris.i2tch.loc ftpd[1660]: [ID 307055 daemon.info] TYPE ASCII | ||
+ | Jan 18 16:59:52 solaris.i2tch.loc ftpd[1660]: [ID 188419 daemon.info] NLST | ||
+ | Jan 18 16:59:52 solaris.i2tch.loc ftpd[1660]: [ID 307055 daemon.info] TYPE Image | ||
+ | Jan 18 16:59:55 solaris.i2tch.loc ftpd[1660]: [ID 225560 daemon.info] QUIT | ||
+ | Jan 18 16:59:55 solaris.i2tch.loc ftpd[1660]: [ID 528697 daemon.info] FTP session closed | ||
+ | Jan 18 17:00:01 solaris.i2tch.loc in.ftpd[1664]: | ||
+ | Jan 18 17:00:01 solaris.i2tch.loc inetd[1421]: | ||
+ | Jan 18 17:00:04 solaris.i2tch.loc ftpd[1664]: [ID 165209 daemon.info] USER anonymous | ||
+ | Jan 18 17:00:06 solaris.i2tch.loc ftpd[1664]: [ID 351301 daemon.info] PASS dfghj | ||
+ | Jan 18 17:00:06 solaris.i2tch.loc ftpd[1664]: [ID 210975 daemon.info] ANONYMOUS FTP LOGIN FROM localhost [127.0.0.1], | ||
+ | Jan 18 17:00:06 solaris.i2tch.loc ftpd[1664]: [ID 470890 daemon.info] SYST | ||
+ | Jan 18 17:00:06 solaris.i2tch.loc ftpd[1664]: [ID 307055 daemon.info] TYPE Image | ||
+ | Jan 18 17:00:08 solaris.i2tch.loc ftpd[1664]: [ID 924372 daemon.info] PWD | ||
+ | Jan 18 17:00:43 solaris.i2tch.loc ftpd[1664]: [ID 313182 daemon.info] PORT | ||
+ | Jan 18 17:00:43 solaris.i2tch.loc ftpd[1664]: [ID 206289 daemon.info] STOR test | ||
+ | Jan 18 17:00:59 solaris.i2tch.loc ftpd[1664]: [ID 225560 daemon.info] QUIT | ||
+ | Jan 18 17:00:59 solaris.i2tch.loc ftpd[1664]: [ID 528697 daemon.info] FTP session closed | ||
</ | </ | ||
- | Ensuite il faut ajouter une ligne au fichier **/ | + | ====Configuration des Connexions Anonymes==== |
- | < | + | Solaris 10 contient un script dénommé |
- | Include | + | |
- | </ | + | |
- | + | ||
- | Le fichier | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | ... | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | où x.x.x.x représente un numéro IP. | + | |
- | + | ||
- | ===Hôte virtuel par adresse IP=== | + | |
- | + | ||
- | Vous allez maintenant procéder à la création d'un site anonyme sur un hôte virtuel par adresse IP. Normalement, | + | |
- | + | ||
- | Saisissez donc les commandes suivantes dans une fenêtre de console en tant que root : | + | |
< | < | ||
- | # echo " | + | # ftpconfig |
- | # ifconfig e1000g0:1 plumb | + | Updating user ftp |
- | # ifconfig e1000g0:1 192.168.1.1 | + | Creating directory / |
- | # ifconfig e1000g0:1 netmask 255.255.255.0 | + | Updating directory / |
- | # ifconfig e1000g0:1 up | + | |
- | # ifconfig -a | + | |
- | lo0: flags=2001000849< | + | |
- | inet 127.0.0.1 netmask ff000000 | + | |
- | e1000g0: flags=1004843< | + | |
- | inet 10.0.2.15 netmask ffffff00 broadcast 10.0.2.255 | + | |
- | ether 8: | + | |
- | e1000g0:1: flags=1000843< | + | |
- | inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 | + | |
</ | </ | ||
- | Créez maintenant | + | Consultez |
- | + | ||
- | < | + | |
- | # mkdir -p /ftp/site2 | + | |
- | </code> | + | |
- | + | ||
- | Créez un fichier de test: | + | |
< | < | ||
- | # touch /ftp/site2/site2.txt | + | # ls -l /export/home/ftp_pub |
+ | total 12 | ||
+ | lrwxrwxrwx | ||
+ | d--x--x--x | ||
+ | d--x--x--x | ||
+ | d--x--x--x | ||
+ | drwxr-xr-x | ||
+ | d--x--x--x | ||
</ | </ | ||
- | Editez maintenant | + | Pour activer |
< | < | ||
- | # vi /opt/csw/etc/ | + | # vi /etc/ftpd/ftpaccess |
- | # cat /opt/csw/etc/ | + | # cat /etc/ftpd/ftpaccess |
- | < | + | ... |
- | | + | upload |
- | DefaultRoot | + | # upload |
- | | + | # upload |
- | < | + | ... |
- | User ftp | + | |
- | Group | + | |
- | UserAlias | + | |
- | RequireValidShell | + | |
- | DisplayLogin | + | |
- | DisplayFirstChdir | + | |
- | | + | |
- | AllowAll | + | |
- | </Limit> | + | |
- | </ | + | |
- | </ | + | |
</ | </ | ||
- | Redémarrez | + | Modifiez |
< | < | ||
- | # svcadm restart svc:/network/cswproftpd: | + | # chmod 777 /export/home/ |
</ | </ | ||
- | Testez votre serveur ftp : | + | Postionnez-vous dans le répertoire **/tmp** et créez le fichier **ftptest** |
< | < | ||
- | # ftp 192.168.1.1 | + | # cd /tmp |
- | Connected to 192.168.1.1. | + | # touch ftptest |
- | 220 ProFTPD 1.3.0 Server (Hote Virtuel sur 192.168.1.99) [192.168.1.1] | + | # ls |
- | Name (192.168.1.1: | + | ftptest |
- | 331 Anonymous login ok, send your complete email address as your password. | + | |
- | Password: | + | |
- | 230 Anonymous access granted, restrictions apply. | + | |
- | Remote system type is UNIX. | + | |
- | Using binary mode to transfer files. | + | |
- | ftp> | + | |
- | 200 PORT command successful | + | |
- | 150 Opening ASCII mode data connection for file list | + | |
- | site2.txt | + | |
- | 226 Transfer complete. | + | |
- | 11 bytes received in 0,00049 seconds (21,73 Kbytes/s) | + | |
</ | </ | ||
- | ==Hôte virtuel par port== | + | Connectez-vous |
- | + | ||
- | Proftpd gère aussi les hôtes virtuels par port. Cette capacité est possible grâce à la directive **port**. | + | |
- | + | ||
- | Afin de tester ceci, ajoutez la ligne suivante | + | |
- | + | ||
- | < | + | |
- | Port | + | |
- | </ | + | |
- | + | ||
- | Votre fichier **/ | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | Port 2121 | + | |
- | ServerName | + | |
- | DefaultRoot | + | |
- | MaxClients | + | |
- | < | + | |
- | User ftp | + | |
- | Group ftp | + | |
- | UserAlias | + | |
- | RequireValidShell | + | |
- | DisplayLogin | + | |
- | DisplayFirstChdir | + | |
- | <Limit LOGIN> | + | |
- | AllowAll | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | Créez un fichier de test: | + | |
- | + | ||
- | #touch / | + | |
- | + | ||
- | Redémarrez le serveur proftpd. | + | |
- | + | ||
- | Essayez maintenant de vous connecter au hôte virtuel 192.168.1.1 sur le port 21: | + | |
< | < | ||
- | # ftp 192.168.1.1 | + | # ftp localhost |
- | Connected to 192.168.1.1. | + | Connected to localhost. |
- | 220 ProFTPD 1.3.0 Server (ProFTPD Default Installation) [192.168.1.1] | + | 220 solaris.i2tch.loc FTP server ready. |
- | Name (192.168.1.1: | + | Name (localhost: |
- | 331 Anonymous | + | 331 Guest login ok, send your complete |
Password: | Password: | ||
- | 230 Anonymous access granted, restrictions apply. | + | 230-The response ' |
+ | 230-Next time please use your e-mail address as your password | ||
+ | 230- for example: joe@localhost.network | ||
+ | 230 Guest login ok, access | ||
Remote system type is UNIX. | Remote system type is UNIX. | ||
Using binary mode to transfer files. | Using binary mode to transfer files. | ||
ftp> ls | ftp> ls | ||
- | 200 PORT command successful | + | 200 PORT command successful. |
- | 150 Opening ASCII mode data connection for file list | + | 150 Opening ASCII mode data connection for file list. |
- | uploads | + | bin |
+ | dev | ||
+ | etc | ||
+ | lib | ||
+ | pub | ||
+ | usr | ||
+ | 226 Transfer complete. | ||
+ | 30 bytes received in 0.00016 seconds (180.11 Kbytes/s) | ||
+ | ftp> cd /pub | ||
+ | 250 CWD command successful. | ||
+ | ftp> !ls | ||
+ | ftptest | ||
+ | ftp> put ftptest | ||
+ | 200 PORT command successful. | ||
+ | 150 Opening BINARY mode data connection for ftptest. | ||
226 Transfer complete. | 226 Transfer complete. | ||
- | 9 bytes received in 0,0013 seconds (6,55 Kbytes/s) | ||
- | </ | ||
- | |||
- | Vous constaterez que le serveur vous retourne le contenu du site par défaut, à savoir le répertoire /var/ftp. | ||
- | |||
- | Essayez maintenant de vous connecter au hôte virtuel 192.168.1.99 sur le port **2121**: | ||
- | |||
- | < | ||
- | # ftp 192.168.1.1 2121 | ||
- | Connected to 192.168.1.1. | ||
- | 220 ProFTPD 1.3.0 Server (Hote Virtuel sur 192.168.1.1) [192.168.1.1] | ||
- | Name (192.168.1.1: | ||
- | 331 Anonymous login ok, send your complete email address as your password. | ||
- | Password: | ||
- | 230 Anonymous access granted, restrictions apply. | ||
- | Remote system type is UNIX. | ||
- | Using binary mode to transfer files. | ||
ftp> ls | ftp> ls | ||
- | 200 PORT command successful | + | 200 PORT command successful. |
- | 150 Opening ASCII mode data connection for file list | + | 150 Opening ASCII mode data connection for file list. |
- | site2.txt | + | ftptest |
- | port2121.txt | + | |
226 Transfer complete. | 226 Transfer complete. | ||
- | 25 bytes received in 0,0015 seconds (16,54 Kbytes/s) | + | 9 bytes received in 0.00012 |
</ | </ | ||
- | Vous constaterez que le serveur vous retourne le contenu de l' | + | ====Sécurisation du Serveur FTP==== |
- | ==Importer proftpd dans SMF== | + | Afin de sécuriser le serveur FTP, insérez les noms de tous les comptes système |
- | + | ||
- | Il est nécessaire | + | |
< | < | ||
- | # echo " | + | # cat /etc/ftpd/ftpusers |
- | # cat /inetd.proftpd | + | # ident " |
- | ftp | + | # |
- | # inetconv | + | # List of users denied access to the FTP server, see ftpusers(4). |
- | ftp -> / | + | # |
- | Importation de ftp-tcp.xml ...Terminé | + | root |
+ | daemon | ||
+ | bin | ||
+ | sys | ||
+ | adm | ||
+ | lp | ||
+ | uucp | ||
+ | nuucp | ||
+ | smmsp | ||
+ | listen | ||
+ | gdm | ||
+ | webservd | ||
+ | unknown | ||
+ | nobody | ||
+ | noaccess | ||
+ | nobody4 | ||
</ | </ | ||
- | A l' | + | =====LAB #4 - Installation |
- | < | + | ====Introduction==== |
- | # cat / | + | |
- | <?xml version=' | + | |
- | < | + | |
- | <!-- | + | |
- | Service manifest for the ftp service. | + | |
- | + | ||
- | Generated by inetconv(1M) from inetd.conf(4). | + | |
- | --> | + | |
- | + | ||
- | < | + | |
- | + | ||
- | < | + | |
- | name=' | + | |
- | type=' | + | |
- | version=' | + | |
- | + | ||
- | < | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | <!-- | + | |
- | Set a timeout of 0 to signify to inetd that we don't want to | + | |
- | timeout this service, since the forked process is the one that | + | |
- | does the service' | + | |
- | inetd services; for services written to take advantage of SMF | + | |
- | capabilities, | + | |
- | handle the request and return a success code. | + | |
- | --> | + | |
- | < | + | |
- | type=' | + | |
- | name=' | + | |
- | exec='/ | + | |
- | timeout_seconds=' | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | <!-- | + | |
- | Use inetd' | + | |
- | --> | + | |
- | < | + | |
- | type=' | + | |
- | name=' | + | |
- | exec=': | + | |
- | timeout_seconds=' | + | |
- | </ | + | |
- | + | ||
- | <!-- | + | |
- | This property group is used to record information about | + | |
- | how this manifest was created. | + | |
- | detail which should not be modified or deleted. | + | |
- | --> | + | |
- | < | + | |
- | <propval name=' | + | |
- | <propval name=' | + | |
- | <propval name=' | + | |
- | 'ftp stream tcp nowait root / | + | |
- | /> | + | |
- | </ | + | |
- | + | ||
- | < | + | |
- | <propval name=' | + | |
- | <propval name=' | + | |
- | <propval name=' | + | |
- | <propval name=' | + | |
- | <propval name=' | + | |
- | </ | + | |
- | + | ||
- | < | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | <loctext xml: | + | |
- | ftp | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | </ | + | |
- | </ | + | |
- | + | ||
- | Activez maintenant le service proftp au sein d' | + | |
- | + | ||
- | < | + | |
- | # inetadm -e svc: | + | |
- | </ | + | |
- | + | ||
- | et constatez ses propriétés : | + | |
- | + | ||
- | < | + | |
- | # inetadm -l svc: | + | |
- | SCOPE NAME=VALUE | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | default | + | |
- | default | + | |
- | default | + | |
- | default | + | |
- | default | + | |
- | default | + | |
- | default | + | |
- | default | + | |
- | default | + | |
- | default | + | |
- | default | + | |
- | default | + | |
- | </ | + | |
- | + | ||
- | <WRAP center round important 60%> | + | |
- | Réamorcez votre machine virtuel. | + | |
- | </ | + | |
- | + | ||
- | ===Le Serveur DHCP=== | + | |
- | + | ||
- | ==Introduction== | + | |
Un serveur DHCP (**Dynamic Host Configuration Protocol**) est un ordinateur exécutant un logiciel serveur DHCP. L’avantage de la présence d’un serveur DHCP sur le réseau local est que celui-ci permet de spécifier à un niveau central les paramètres TCP/ | Un serveur DHCP (**Dynamic Host Configuration Protocol**) est un ordinateur exécutant un logiciel serveur DHCP. L’avantage de la présence d’un serveur DHCP sur le réseau local est que celui-ci permet de spécifier à un niveau central les paramètres TCP/ | ||
- | + | ====Installation==== | |
- | ==Installation== | + | |
Sous **Solaris** le serveur DHCP est installé par défaut mais il n'est pas activé : | Sous **Solaris** le serveur DHCP est installé par défaut mais il n'est pas activé : | ||
Ligne 1699: | Ligne 1449: | ||
< | < | ||
# svcs -a | grep dhcp | # svcs -a | grep dhcp | ||
- | disabled | + | disabled |
</ | </ | ||
Ligne 1707: | Ligne 1457: | ||
# svcadm enable svc:/ | # svcadm enable svc:/ | ||
# svcs -a | grep dhcp | # svcs -a | grep dhcp | ||
- | offline | + | offline |
</ | </ | ||
- | Notez que le statut du service passe de //disabled// à //offline//. Commençons par cannaître la raison de ce statut : | + | Notez que le statut du service passe de ***disabled** à **offline**. Commençons par cannaître la raison de ce statut : |
< | < | ||
# svcs -l svc:/ | # svcs -l svc:/ | ||
fmri | fmri | ||
- | nom | + | name DHCP server |
- | activé | + | enabled |
- | état offline | + | state |
next_state | next_state | ||
- | state_time | + | state_time |
- | redémarreur | + | restarter |
dependency | dependency | ||
dependency | dependency | ||
Ligne 1726: | Ligne 1476: | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | La sortie nous informe que la raison du statut | + | **Important** - La sortie nous informe que la raison du statut |
</ | </ | ||
- | ==LAB #5== | + | ====Configuration==== |
- | <WRAP center round important 60%> | + | ===Création |
- | La procédure de configuration | + | |
- | </ | + | Pour créer le fichier **/ |
< | < | ||
# / | # / | ||
- | Le fichier de configuration | + | Created |
- | dhcptab | + | Created |
- | La macro " | + | Added " |
- | La macro serveur a été ajoutée à dhcptab - solaris. | + | Added server |
- | Serveur | + | DHCP server started. |
</ | </ | ||
+ | |||
+ | Consultez le contenu du fichier **/ | ||
< | < | ||
Ligne 1753: | Ligne 1505: | ||
</ | </ | ||
- | <file> | + | Il est possible d' |
+ | |||
+ | <code> | ||
+ | # vi / | ||
+ | # cat / | ||
+ | DAEMON_ENABLED=TRUE | ||
+ | RESOURCE=SUNWfiles | ||
+ | RUN_MODE=server | ||
+ | PATH=/ | ||
+ | CONVER=1 | ||
INTERFACES=e1000g0 | INTERFACES=e1000g0 | ||
- | </file> | + | </code> |
+ | |||
+ | ===Création de la Table de Réseau=== | ||
+ | |||
+ | Configurez maintenant une table réseau pour le serveur DHCP en utilisant l' | ||
< | < | ||
# / | # / | ||
- | La macro réseau a été ajoutée à dhcptab - 10.0.2.0. | + | Added network |
- | La table réseau a été créée. | + | Created network |
</ | </ | ||
+ | |||
+ | Listez les tables réseau du serveur DHCP : | ||
< | < | ||
Ligne 1767: | Ligne 1534: | ||
10.0.2.0 | 10.0.2.0 | ||
</ | </ | ||
+ | |||
+ | La table réseau prend la forme d'un fichier nommé **SUNWfiles1_10_0_2_0** dans le répertoire **/ | ||
< | < | ||
Ligne 1778: | Ligne 1547: | ||
# | # | ||
</ | </ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **Important** - Notez que la table est actuelleemnt vide. | ||
+ | </ | ||
+ | |||
+ | Consultez les informations concernant la table réseau : | ||
< | < | ||
# dhtadm -P | # dhtadm -P | ||
- | Nom Type | + | Name Type |
================================================== | ================================================== | ||
- | 10.0.2.0 | + | 10.0.2.0 |
- | solaris | + | solaris |
- | Locale | + | Locale |
</ | </ | ||
+ | |||
+ | Ajoutez une entrée à la table **10.0.2.0** de la machine **solaris** en utilisant l' | ||
< | < | ||
# pntadm -A 10.0.2.50 -m solaris 10.0.2.0 | # pntadm -A 10.0.2.50 -m solaris 10.0.2.0 | ||
# pntadm -P 10.0.2.50 | # pntadm -P 10.0.2.50 | ||
- | ID Client | + | Client |
- | 00 00 10.0.2.50 | + | 00 00 10.0.2.50 10.0.2.15 Zero solaris |
</ | </ | ||
+ | |||
+ | Consultez le contenu du fichier **/ | ||
< | < | ||
Ligne 1804: | Ligne 1583: | ||
10.0.2.50|00|00|10.0.2.15|0|4338936765994762241|solaris| | 10.0.2.50|00|00|10.0.2.15|0|4338936765994762241|solaris| | ||
</ | </ | ||
+ | |||
+ | Ajoutez neuf autres entrées : | ||
< | < | ||
Ligne 1816: | Ligne 1597: | ||
# pntadm -A 10.0.2.59 -m solaris 10.0.2.0 | # pntadm -A 10.0.2.59 -m solaris 10.0.2.0 | ||
</ | </ | ||
+ | |||
+ | Vérifez maintenant le contenu du fichier **/ | ||
< | < | ||
Ligne 1823: | Ligne 1606: | ||
# Do NOT edit this file by hand -- use pntadm(1M) or dhcpmgr(1M) instead | # Do NOT edit this file by hand -- use pntadm(1M) or dhcpmgr(1M) instead | ||
# | # | ||
- | 10.0.2.50|00|00|10.0.2.15|0|4338936765994762241|solaris| | + | 10.0.2.50|00|00|10.0.2.15|0|2945917106253725697|solaris| |
- | 10.0.2.51|00|00|10.0.2.15|0|8997066155579408385|solaris| | + | 10.0.2.51|00|00|10.0.2.15|0|5726608401178296321|solaris| |
- | 10.0.2.52|00|00|10.0.2.15|0|15856329863041384449|solaris| | + | 10.0.2.52|00|00|10.0.2.15|0|92886742314516481|solaris| |
- | 10.0.2.53|00|00|10.0.2.15|0|8651977834132144129|solaris| | + | 10.0.2.53|00|00|10.0.2.15|0|251075679225905153|solaris| |
- | 10.0.2.54|00|00|10.0.2.15|0|5386868104288534529|solaris| | + | 10.0.2.54|00|00|10.0.2.15|0|14762799578520485889|solaris| |
- | 10.0.2.55|00|00|10.0.2.15|0|2835860390359859201|solaris| | + | 10.0.2.55|00|00|10.0.2.15|0|14206886499516940289|solaris| |
- | 10.0.2.56|00|00|10.0.2.15|0|2934376632208588801|solaris| | + | 10.0.2.56|00|00|10.0.2.15|0|18410996751667298305|solaris| |
- | 10.0.2.57|00|00|10.0.2.15|0|8219632269904576513|solaris| | + | 10.0.2.57|00|00|10.0.2.15|0|6406933419887951873|solaris| |
- | 10.0.2.58|00|00|10.0.2.15|0|12797259816149975041|solaris| | + | 10.0.2.58|00|00|10.0.2.15|0|12357877377504641025|solaris| |
- | 10.0.2.59|00|00|10.0.2.15|0|6448873191417839617|solaris| | + | 10.0.2.59|00|00|10.0.2.15|0|12228117413241028609|solaris| |
</ | </ | ||
- | |||
- | ==LAB #6== | ||
- | |||
- | <WRAP center round todo 60%> | ||
- | Testez votre serveur DHCP afin de vous assurer que ce dernier soit bien configuré. | ||
- | </ | ||
----- | ----- | ||
< | < | ||
<div align=" | <div align=" | ||
- | Copyright © 2019 Hugh Norris. | + | Copyright © 2020 Hugh Norris. |
</ | </ | ||