Server IP : 127.0.0.2 / Your IP : 18.219.250.4 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/augeas/lenses/dist/ |
Upload File : |
(* Module: Sshd Parses /etc/ssh/sshd_config Author: David Lutterkort lutter@redhat.com Dominique Dumont dominique.dumont@hp.com About: Reference sshd_config man page. See http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5 About: License This file is licensed under the LGPL v2+. About: Lens Usage Sample usage of this lens in augtool: * Get your current setup > print /files/etc/ssh/sshd_config ... * Set X11Forwarding to "no" > set /files/etc/ssh/sshd_config/X11Forwarding "no" More advanced usage: * Set a Match section > set /files/etc/ssh/sshd_config/Match[1]/Condition/User "foo" > set /files/etc/ssh/sshd_config/Match[1]/Settings/X11Forwarding "yes" Saving your file: > save About: CAVEATS In sshd_config, Match blocks must be located at the end of the file. This means that any new "global" parameters (i.e. outside of a Match block) must be written before the first Match block. By default, Augeas will write new parameters at the end of the file. I.e. if you have a Match section and no ChrootDirectory parameter, this command: > set /files/etc/ssh/sshd_config/ChrootDirectory "foo" will be stored in a new node after the Match section and Augeas will refuse to save sshd_config file. To create a new parameter as the right place, you must first create a new Augeas node before the Match section: > ins ChrootDirectory before /files/etc/ssh/sshd_config/Match Then, you can set the parameter > set /files/etc/ssh/sshd_config/ChrootDirectory "foo" About: Configuration files This lens applies to /etc/ssh/sshd_config *) module Sshd = autoload xfm let eol = del /[ \t]*\n/ "\n" let sep = Util.del_ws_spc let indent = del /[ \t]*/ " " let key_re = /[A-Za-z0-9]+/ - /MACs|Match|AcceptEnv|Subsystem|Ciphers|KexAlgorithms|(Allow|Deny)(Groups|Users)/i let comment = Util.comment let comment_noindent = Util.comment_noindent let empty = Util.empty let array_entry (kw:regexp) (sq:string) = let value = store /[^ \t\n]+/ in [ key kw . [ sep . seq sq . value]* . eol ] let other_entry = let value = store /[^ \t\n]+([ \t]+[^ \t\n]+)*/ in [ key key_re . sep . value . eol ] let accept_env = array_entry /AcceptEnv/i "AcceptEnv" let allow_groups = array_entry /AllowGroups/i "AllowGroups" let allow_users = array_entry /AllowUsers/i "AllowUsers" let deny_groups = array_entry /DenyGroups/i "DenyGroups" let deny_users = array_entry /DenyUsers/i "DenyUsers" let subsystemvalue = let value = store (/[^ \t\n](.*[^ \t\n])?/) in [ key /[A-Za-z0-9\-]+/ . sep . value . eol ] let subsystem = [ key /Subsystem/i . sep . subsystemvalue ] let list (kw:regexp) (sq:string) = let value = store /[^, \t\n]+/ in [ key kw . sep . [ seq sq . value ] . ([ seq sq . Util.del_str "," . value])* . eol ] let macs = list /MACs/i "MACs" let ciphers = list /Ciphers/i "Ciphers" let kexalgorithms = list /KexAlgorithms/i "KexAlgorithms" let entry = accept_env | allow_groups | allow_users | deny_groups | subsystem | deny_users | macs | ciphers | kexalgorithms | other_entry let condition_entry = let value = store /[^ \t\n]+/ in [ sep . key /[A-Za-z0-9]+/ . sep . value ] let match_cond = [ label "Condition" . condition_entry+ . eol ] let match_entry = indent . (entry | comment_noindent) | empty let match = [ key /Match/i . match_cond . [ label "Settings" . match_entry+ ] ] let lns = (entry | comment | empty)* . match* let xfm = transform lns (incl "/etc/ssh/sshd_config") (* Local Variables: *) (* mode: caml *) (* End: *)