NFS (Network File System) to protokół sieciowy, który umożliwia współdzielenie plików pomiędzy maszynami Linux i Unix przez sieć. To usługa oparta na architekturze klient/serwer, dzięki której klient ma dostęp do plików, katalogów i całego systemu plików na zdalnej maszynie tak jakby były zamontowane na lokalnie. Proces udostępniania zasobów na serwerze NFS klientowi nazywany jest eksportowaniem.
Komendy związane z usługą NFS przedstawia tabela poniżej.
Komenda | Opis |
exportfs |
Eksportuje zasoby wylistowane w pliku /etc/exports i katalogu /etc/exports.d . Wyświetla także wyeksportowane zasoby wylistowane w plikach /var/lib/nfs/etab i /proc/fs/nfs/exports. |
nfsiostat |
Statystyki I/O z pliku /proc/self/mountstats zamontowanych zasobów NFS. |
nfsstat |
Statystyki NFS i RPC z plików: /proc/net/rpc/nfsd (serwer) i /proc/net/rpc/nfs (klient). |
mountstats |
Komenda klienta wyświetlającą statystyki z pliku /proc/self/mountstats . |
showmount |
Wraz z opcją -e server_nfs wyświetla zasoby NFS wyeksportowane przez serwer. |
mount |
Montowanie zdalnych zasobów NFS i nie tylko. |
NFS czyta dane konfiguracyjne z wielu plików, pliki te opisane są w tabeli poniżej.
Plik | Opis |
/etc/sysconfig/nfs |
Startowy plik konfiguracyjny NFS. |
/etc/exports |
Definicje zasobów do wyeksportowania. |
/var/lib/nfs/etab |
Wpisy dla eksportowanych zasobów. |
/etc/nfsmount.conf |
Plik klienta, który zawiera opcje używane podczas montowania zasobów. |
/etc/fstab |
Plik klienta, który zawiera zasoby dyskowe do podmontowania manualnie lub automatycznie po restarcie systemu. |
/etc/mtab |
Plik klienta, który zawiera listę podmontowanych zasobów dyskowych. |
Więcej informacji o NFS można znaleźć w dokumentacji systemowej, jest tego naprawdę dużo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# man -k nfs confstr (3) - get configuration dependent string variables blkmapd (8) - pNFS block layout mapping daemon confstr (3p) - get configurable variables exportfs (8) - maintain table of exported NFS file systems exports (5) - NFS server export table filesystems (5) - Linux file-system types: minix, ext, ext2, ext3, ext4, Reiserfs, XFS, JFS, xia, msdos, umsdos, vfat, ntf... fs (5) - Linux file-system types: minix, ext, ext2, ext3, ext4, Reiserfs, XFS, JFS, xia, msdos, umsdos, vfat, ntf... idmapd (8) - NFSv4 ID <-> Name Mapper idmapd.conf (5) - configuration file for libnfsidmap ipa-client-automount (1) - Configure automount and NFS for IPA mount.nfs (8) - mount a Network File System mountd (8) - NFS mount daemon mountstats (8) - Displays various NFS client per-mount statistics nfs (5) - fstab format and options for the nfs file systems nfs4_acl (5) - NFSv4 Access Control Lists nfs4_editfacl (1) - manipulate NFSv4 file/directory access control lists nfs4_uid_to_name (3) - ID mapping routines used for NFSv4 nfs4_getfacl (1) - get NFSv4 file/directory access control lists nfs4_setfacl (1) - manipulate NFSv4 file/directory access control lists nfsd (7) - special filesystem for controlling Linux NFS server nfsd (8) - NFS server process nfsdcltrack (8) - NFSv4 Client Tracking Callout Program nfsidmap (8) - The NFS idmapper upcall program nfsiostat (8) - Emulate iostat for NFS mount points using /proc/self/mountstats nfsiostat-sysstat (1) - (temat nieznany) nfsmount.conf (5) - Configuration file for NFS mounts nfsservctl (2) - syscall interface to kernel nfs daemon nfsstat (8) - list NFS statistics rpc.idmapd (8) - NFSv4 ID <-> Name Mapper rpc.mountd (8) - NFS mount daemon rpc.nfsd (8) - NFS server process rpc.sm-notify (8) - send reboot notifications to NFS peers rpcdebug (8) - set and clear NFS and RPC kernel debug flags showmount (8) - show mount information for an NFS server sm-notify (8) - send reboot notifications to NFS peers umount.nfs (8) - unmount a Network File System |
SELinux a NFS.
Jakikolwiek katalog lub system plików, który ma być udostępniony przez NFS musi mieć ustawiony kontekst public_content_ro
(odczyt) lub public_content_rw
(zapis). Wymagane jest to tylko wtedy gdy dany zasób udostępniony jest nie tylko przez NFS ale również przez inną usługę, np. FTP czy CIFS (Samba). Polityka SELinux zawiera także wiele zmiennych boolean związanych z NFS:
1 2 3 4 5 |
# getsebool –a | egrep ‘^nfs|^use_nfs’ nfs_export_all_ro --> on nfs_export_all_rw --> on nfsd_anon_write --> off use_nfs_home_dirs --> off |
Zmienna boolean | Przeznaczenie |
nfs_export_all_ro |
Eksportowanie zasobu tylko w trybie do odczytu. |
nfs_export_all_rw |
Eksportowanie zasobu w trybie do zapisu. |
nfsd_anon_write |
Zezwala/zabrania na anonimowy zapis do zasobu NFS. |
use_nfs_home_dirs |
Zezwala/zabrania klientom NFS na montowanie katalogów domowych użytkowników. |
Ćwiczenie 1. Udostępnianie zasobów NFS i podmontowanie na kliencie.
Strona serwera.
1. Instalacja pakietu nfs.
1 2 3 |
# yum –y install nfs-utils Package 1:nfs-utils-1.3.0-0.el7.x86_64 already installed and latest version Nothing to do |
2. Utworzenie katalogów /common
i /nfsrhcsa
:
1 |
# mkdir /common /nfsrhcsa |
3. Aktywacja zmiennych SELinux booleans aby zezwolić na export zasobów NFS w trybie tylko do odczytu i do zapisu.
1 2 3 4 |
# setsebool –P nfs_export_all_ro=1 nfs_export_all_rw=1 # getsebool –a | grep nfs_export nfs_export_all_ro --> on nfs_export_all_rw --> on |
4. Odblokowanie usługi NFS na firewallu:
1 2 3 |
# firewall-cmd --permanent --add-service nfs; firewall-cmd --reload success success |
5. Autostart, start i status usług rpcbind i NFS:
1 2 3 |
# systemctl enable rpcbind nfs-server # systemctl start rpcbind nfs-server # systemctl status rpcbind nfs-server |
6. Edycj pliku /etc/exports
:
1 2 3 |
# vim /etc/exports /common server2.example.com(rw) /nfsrhcsa server2.example.com(sync) |
Najlepiej aby była co najmniej jedna opcja przy każdym wpisie.
7. Wyeksportowanie zasobów:
1 2 3 |
# exportfs –avr exporting server2.example.com:/common exporting server2.example.com:/nfsrhcsa |
8. Wyświetlenie zawartości pliku /var/lib/nfs/etab:
1 2 3 4 5 |
# cat /var/lib/nfs/etab /common server2.example.com(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys) /nfsrhcsa server2.example.com(ro,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys) |
Oba powyższe zasoby są teraz wyeksportowane. Istnieje jednak możliwość cofnięcia eksportu opcją -u:
1 |
# exportfs –u server2.example.com:/common |
Potwierdzamy cofnięcie exportu:
1 |
# exportfs –v | grep common |
Ponowny eksport zasobu można wykonać w sposób następujący:
1 |
# exportfs –avr |
Strona klienta.
1. Instalacja nfs-utils:
1 2 3 |
# yum –y install nfs-utils Package 1:nfs-utils-1.3.0-0.el7.x86_64 already installed and latest version Nothing to do |
2. Utworzenie punktu montowania /nfsrhcemnt:
1 |
# mkdir /nfsrhcemnt |
3. Start, autostart i status rpcbind:
1 2 3 |
# systemctl enable rpcbind # systemctl start rpcbind # systemctl status rpcbind |
4. Edycja pliku /etc/fstab:
1 2 |
# vim /etc/fstab server1.example.com:/common /nfsrhcemnt nfs _netdev,rw 0 0 |
5. Podmontowanie zasobu NFS:
1 2 |
# mount /nfsrhcemnt # mount –t nfs –o rw server1:/common /nfsrhcemnt |
lub
1 |
# mount -a |
6. Weryfikacja:
1 2 |
# mount | grep nfsrhcemnt # df -h |
7. Utworzenie pliku nfsrhcetest
w katalogu /nfsrhcemnt
na kliencie i weryfikacja po stronie serwera:
1 2 |
[server]# touch /nfsrhcemnt/nfsrhcetest [client]# ll /common |
Ćwiczenie 2. Udostępnienie zasobu NFS do pracy grupowej.
Strona serwera NFS.
1. Utworzenie grupy z GID 7777:
1 |
# groupadd –g 7777 nfssdatagrp |
2. Dodanie użytkowników do tej grupy:
1 2 |
# usermod –G nfssdatagrp user3 # usermod –G nfssdatagrp user4 |
3. Utworzenie katalogu /nfssdata:
1 |
# mkdir /nfssdata |
4. Ustawienie własności dla katalogu:
1 |
# chown nfsnobody:nfssdatagrp /nfssdata |
5. Ustawienie bitu setgid dla /nfssdata:
1 |
# chmod 2770 /nfssdata |
6. Weryfikacja nowych uprawnień do katalogu /nfssdata:
1 2 |
# ll –d /nfssdata drwxrws---. 2 nfsnobody nfssdatagrp 6 Jan 27 14:54 /nfssdata |
7. Instalacja pakietu nfs.
1 2 3 |
# yum –y install nfs-utils Package 1:nfs-utils-1.3.0-0.el7.x86_64 already installed and latest version Nothing to do |
8. Aktywacja zmiennych SELinux booleans aby zezwolić na export zasobów NFS w trybie tylko do odczytu i do zapisu.
1 2 3 4 |
# setsebool –P nfs_export_all_ro=1 nfs_export_all_rw=1 # getsebool –a | grep nfs_export nfs_export_all_ro --> on nfs_export_all_rw --> on |
9. Odblokowanie usługi NFS na firewallu:
1 2 3 |
# firewall-cmd --permanent --add-service nfs; firewall-cmd --reload success success |
10. Autostart, start i status usług rpcbind i NFS:
1 2 3 |
# systemctl enable rpcbind nfs-server # systemctl start rpcbind nfs-server # systemctl status rpcbind nfs-server |
11. Edycja pliku /etc/exports:
1 2 |
# vim /etc/exports /nfssdata server2.example.com(rw,no_root_squash) |
Opcja no_root_squash
zabezpiecza udostępniany na serwerze NFS zasób przed uzyskaniem na komputerze klienta uprawnień superużytkownika do zasobu. Root na kliencie mapowany jest na konto nfsnobody z UID 65534.
12. Wyeksportowanie zasobów:
1 2 |
# exportfs –avr exporting server2.example.com:/nfssdata |
13. Wyświetlenie zawartości pliku /var/lib/nfs/etab:
1 2 3 |
# cat /var/lib/nfs/etab | grep nfssdata /nfssdata server2.example.com(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,secure,no_root_squash,no_all_squash) |
Strona klienta NFS.
14. Utworzenie grupy nfssdatagrp z GID 7777:
1 |
# groupadd –g 7777 nfssdatagrp |
15. Utworzenie kont user3 i user4, należy zwrócić uwagę na to aby UID był ten sam jak na serwerze NFS:
1 2 |
# useradd user3 ; useradd user4 # passwd user3l passwd user4 |
16. Dodanie użytkowników user3 and user4 do grupy nfssdatagrp:
1 2 |
# usermod –G nfssdatagrp user3 # usermod –G nfssdatagrp user4 |
17. Dodanie zasobu do pliku /etc/fstab:
1 |
server1.example.com:/nfsdata /nfsdatamnt nfs _netdev,rw 0 0 |
18. Utworzenie punktu montowania /nfssdatamnt:
1 |
# mkdir /nfssdatamnt |
19. Podmontowanie zasobów NFS:
1 2 |
# mount /nfssdatamnt # mount –t nfs –o rw server1:/nfssdata /nfssdatamnt |
20. Weryfikacja:
1 2 3 4 5 |
# mount | grep nfssdata server1.example.com:/nfssdata on /nfssdatamnt type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.120,local_lock=none,addr=192.168.0.110) # df –h | grep nfssdata server1.example.com:/nfssdata 8.8G 3.4G 5.4G 39% /nfssdatamnt |
21. Weryfikacja uprawnień katalogu /nfssdatamnt:
1 2 |
# ll –d /nfssdatamnt drwxrws---. 2 nfsnobody nfssdatagrp 6 Jan 28 06:54 /nfssdatamnt |
22. Weryfikacja możliwości zapisu:
1 2 3 4 5 6 7 8 |
# su – user3 $ touch /nfssdatamnt/nfssdatatest3 ; exit # su – user4 $ touch /nfssdatamnt/nfssdatatest4 ; exit # ll /nfssdatamnt -rw-rw-r--. 1 user3 nfssdatagrp 0 Jan 28 08:38 nfssdatatest3 -rw-rw-r--. 1 user4 nfssdatagrp 0 Jan 28 08:38 nfssdatatest4 |
Ćwiczenie 5. Bezpieczne udostępnianie zasobów NFS przy wykorzystaniu Kerberos. Wymaga skonfigurowanego serwera kerberos KDC wg opisu:
http://miroslaw.borodziuk.eu/index.php/2017/07/15/kerberos/
Strona serwera NFS – server.example.com.
1 2 |
# yum install -y nfs-utils sssd authconfig krb5-workstation # mkdir /nfskrb |
Użytkownik user01 musi mieć takie samo uid na maszynach kdc, server i client.
1 2 3 |
# useradd -u 3001 user01 # passwd user01 # chown user01 /nfskrb |
Zawartość pliku /etc/hosts
:
1 2 3 |
192.168.1.1 kdc.example.com kdc 192.168.1.2 server.example.com server 192.168.1.3 client.example.com client |
SElinux:
1 2 |
# semanage fcontext -a -t public_content_rw_t "/nfskrb(/.*)?" # restorecon -R /nfskrb |
Odblokowanie odpowiednich portów na firewallu:
1 2 |
# firewall-cmd --permanent --add-service={nfs,mountd,rpc-bind} # firewall-cmd --reload |
Edycia pliku /etc/exports
1 2 |
# vim /etc/exports /nfskrb client.example.com(rw,sec=krb5p) |
Opcja sec akceptuje cztery różne wartości:
- sec=sys (bez używania Kerberosa), wymaga uruchomienia:
# setsebool -P nfsd_anon_write 1
- sec=krb5 (Kerberos user authentication only),
- sec=krb5i (Kerberos user authentication and integrity checking),
- sec=krb5p (Kerberos user authentication, integrity checking and NFS traffic encryption).
Im wyższy poziom tym większe zużycie mocy obliczeniowej serwera NFS.
Eksport zasobów NFS:
1 2 |
# exportfs -avr exporting client.example.com:/nfskrb |
Aktywacja nfs-secure
1 |
# systemctl start nfs-secure; systemctl enable nfs-secure; systemctl status nfs-secure |
Aktywacja nfs-secure-server (tylko na RHEL 7.0):
1 |
# systemctl start nfs-secure-server; systemctl enable nfs-secure-server; systemctl status nfs-secure-server |
Usługa nfs-secure-server wymagana jest tylko w RHEL7.0 i CentOS7.0. W RHEL7.2 i CentOS7.2 wystarczy tylko nfs-secure. Dlatego w RHEL 7.2 usługa nfs-secure-server w statusie zgłasza że nie działa, ale wszystko jest w porządku.
1 2 3 4 5 6 |
# systemctl status nfs-secure-server.service ? rpc-svcgssd.service - RPC security service for NFS server Loaded: loaded (/usr/lib/systemd/system/rpc-svcgssd.service; static; vendor preset: disabled) Active: inactive (dead) Condition: start condition failed at Sat 2017-02-18 13:22:05 CET; 2min 12s ago none of the trigger conditions were met |
Edycja pliku /etc/krb5.conf:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# vim krb5.conf Configuration snippets may be placed in this directory as well includedir /etc/krb5.conf.d/ [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] dns_lookup_realm = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true rdns = false default_realm = EXAMPLE.COM default_ccache_name = KEYRING:persistent:%{uid} [realms] EXAMPLE.COM = { kdc = kdc.example.com admin_server = kdc.example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM |
Powyższy plik można też skopiować z serwera KDC kerberos bo jego zawartość jest identyczna:
1 |
# scp kdc.example.com:/etc/krb5.conf /etc/krb5.conf |
Edycja pliku /etc/ssh/ssh_config
i dodanie/odkomentowanie linii:
1 2 |
GSSAPIAuthentication yes GSSAPIDelegateCredentials yes |
Przeładowanie demona ssh:
1 |
# systemctl reload sshd |
Konfiguracja komponentu PAM z linii komend:
1 |
# authconfig --enablekrb5 --update |
Jeżeli mamy skąd pobrać plik /etc/krb5.keytab
to go pobieramy. Zdarza się jednak, że pobranie pliku nie pomaga i należy i tak go wygenerować.
Jeżeli nie mamy skąd pobrać /etc/krb5.keytab
to musimy go wygenerować. W tym celu logujemy się do Kerberosa:
1 2 3 |
# kadmin Authenticating as principal root/admin@EXAMPLE.COM with password. Password for root/admin@EXAMPLE.COM: kerberos |
Dodanie principal o ile jej jeszcze nie ma w bazie kerberosa:
1 2 3 |
kadmin: addprinc -randkey nfs/server.example.com WARNING: no policy specified for host/server.example.com@EXAMPLE.COM; defaulting to no policy Principal "host/server.example.com@EXAMPLE.COM" created. |
Utworzenie lokalnej kopii bazy w pliku /etc/krb5.keytab
:
1 2 3 4 5 6 7 8 9 10 |
kadmin: ktadd nfs/server.example.com Entry for principal host/server.example.com with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/server.example.com with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/server.example.com with kvno 2, encryption type des3-cbc-sha1 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/server.example.com with kvno 2, encryption type arcfour-hmac added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/server.example.com with kvno 2, encryption type camellia256-cts-cmac added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/server.example.com with kvno 2, encryption type camellia128-cts-cmac added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/server.example.com with kvno 2, encryption type des-hmac-sha1 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/server.example.com with kvno 2, encryption type des-cbc-md5 added to keytab WRFILE:/etc/krb5.keytab. kadmin: quit |
Wyświetlenie zawartości /etc/krb5.keytab
:
1 |
# klist -k |
lub
1 |
# strings /etc/krb5.keytab |
Strona klienta NFS – client.example.com
1 |
# yum install -y nfs-utils krb5-workstation pam_krb5 |
Użytkownik user01 musi mieć takie samo uid na maszynach kdc, server i client.
1 2 |
# useradd -u 3001 user01 # passwd user01 |
Zawartość pliku /etc/hosts:
1 2 3 |
192.168.1.1 kdc.example.com kdc 192.168.1.2 server.example.com server 192.168.1.3 client.example.com client |
Wyświetlenie zasobów serwera o skróconej nazwie (wg /etc/hosts) server dostępnych do montowania:
1 2 |
# showmount -e server /nfskrb client.example.com |
Teraz:
1 2 3 4 |
# mkdir /mnt/nfskrb # vim /etc/fstab server.example.com:/nfskrb /mnt/nfskrb nfs _netdev,sec=krb5p 0 0 # mount -a |
Zapis do udostępnionego zasobu na razie nie jest możliwy:
1 2 |
# echo „read” > /mnt/nfskrb/new Read only file system |
Skopiowanie pliku /etc/krb5.conf
z serwera NFS (server.example.com):
1 |
scp root@server.example.com:/etc/krb5.conf /etc/krb5.conf |
Aktywacja klienta NFS:
1 2 |
# systemctl enable nfs-secure && systemctl start nfs-secure # systemctl enable nfs-client && systemctl start nfs-client |
Edycja pliku /etc/ssh/ssh_config file i dodanie/odkomentowanie linii:
1 2 |
GSSAPIAuthentication yes GSSAPIDelegateCredentials yes |
Przeładowanie demona ssh:
1 |
# systemctl reload sshd |
Konfiguracja komponentu PAM z linii komend:
1 |
# authconfig --enablekrb5 --update |
Jeżeli mamy skąd pobrać plik /etc/krb5.keytab
to go pobieramy. Zdarza się jednak, że pobranie pliku nie pomaga i należy i tak go wygenerować ponieważ przy próbie podmontowania zasobu nfs w trybie krb5 (krb5p) będzie pojawiał się komunikat:
1 2 |
# mount server.example.com:/nfskrb mount.nfs: access denied by server while mounting server.example.com:/nfskrb |
Jeżeli nie mamy skąd pobrać /etc/krb5.keytab
to musimy go wygenerować. W tym celu logujemy się do Kerberosa:
1 2 3 |
# kadmin Authenticating as principal root/admin@EXAMPLE.COM with password. Password for root/admin@EXAMPLE.COM: kerberos |
Dodanie principal dla hosta o ile jeszcze nie dodane:
1 2 3 |
kadmin: addprinc -randkey host/client.example.com WARNING: no policy specified for host/client.example.com@EXAMPLE.COM; defaulting to no policy Principal "host/client.example.com@EXAMPLE.COM" created. |
Wylistowanie wszystkich principal:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
kadmin: list_principals K/M@EXAMPLE.COM host/server.example.com@EXAMPLE.COM host/client.example.com@EXAMPLE.COM kadmin/admin@EXAMPLE.COM kadmin/changepw@EXAMPLE.COM kadmin/server.example.com@EXAMPLE.COM kiprop/server.example.com@EXAMPLE.COM krbtgt/EXAMPLE.COM@EXAMPLE.COM nfs/server.example.com@EXAMPLE.COM root/admin@EXAMPLE.COM user01@EXAMPLE.COM user02@EXAMPLE.COM |
Dodanie klienta nfs do bazy kerberosa:
1 2 3 4 5 6 7 8 9 |
kadmin: ktadd host/client.example.com Entry for principal host/client.example.com with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/client.example.com with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/client.example.com with kvno 2, encryption type des3-cbc-sha1 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/client.example.com with kvno 2, encryption type arcfour-hmac added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/client.example.com with kvno 2, encryption type camellia256-cts-cmac added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/client.example.com with kvno 2, encryption type camellia128-cts-cmac added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/client.example.com with kvno 2, encryption type des-hmac-sha1 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/client.example.com with kvno 2, encryption type des-cbc-md5 added to keytab WRFILE:/etc/krb5.keytab. |
Wyświetlenie zawartości /etc/krb5.keytab
:
1 |
# klist -k |
lub
1 |
# strings /etc/krb5.keytab |
Teraz zapis do katalogu /nfskrb będzie możliwy:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# su user01@localhost $ echo „write” > /mnt/nfskrb/new Read only file system $ klist -l Principal name Cache name -------------- ---------- [ldapuser1@desktop1 ~]$ kinit Password for ldapuser1@EXAMPLE.COM: user01 [ldapuser1@desktop1 ~]$ klist -l Principal name Cache name -------------- ---------- ldapuser1@EXAMPLE.COM KEYRING:persistent:3001:3001 $ echo „write” > /mnt/nfskrb/new Plik utworzono $ kdestroy $ exit |
Great delivery. Outstanding arguments. Keep up the great effort.
Fantastic website. Lots of helpful info here. I’m sending it to some buddies
ans also sharing in delicious. And certainly, thank you to your effort!