{"id":1219,"date":"2017-10-31T03:11:40","date_gmt":"2017-10-31T01:11:40","guid":{"rendered":"https:\/\/community.virtono.com\/?p=1219"},"modified":"2020-06-10T16:42:33","modified_gmt":"2020-06-10T13:42:33","slug":"samba-server-security","status":"publish","type":"post","link":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/samba-server-security\/","title":{"rendered":"Samba server security"},"content":{"rendered":"<p>This article gives an\u00a0<b>overview<\/b>\u00a0of the possibilities of some\u00a0<b>security settings of<\/b>\u00a0a Samba server.\u00a0With regard to security, of course, there are always different options, some of which lead to the same goal.\u00a0This article shows those configuration parameters that can sometimes be used to take simple but effective security measures.\u00a0The settings were all\u00a0tested\u00a0on an\u00a0<b>Ubuntu 16<\/b>\u00a0with Samba version 3.4.7.<\/p>\n<p>Of course, the listed security measures are not complete, as there are an immense number of\u00a0<b>configuration options<\/b>\u00a0.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_73 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/samba-server-security\/#Network_Access\" title=\"Network Access\">Network Access<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/samba-server-security\/#user_access\" title=\"user access\">user access<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/samba-server-security\/#file_system\" title=\"file system\">file system<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/samba-server-security\/#User_defined_shares\" title=\"User defined shares\">User defined shares<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Network_Access\"><\/span><span id=\"Netzwerkzugriff\" class=\"mw-headline\">Network Access<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Samba uses the &#8220;Primary Interface&#8221; for sending data by default.\u00a0Therefore, with multiple NICs, Samba must be configured so that the server listens to the correct interface and sends data:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre><span class=\"nv\">interfaces <\/span> <span class=\"o\">=<\/span> 127.0.0.1, 192.168.0.252\/24\r\n <span class=\"nb\">bind<\/span> interfaces <span class=\"nv\">only <\/span> <span class=\"o\">=<\/span> yes\r\n<\/pre>\n<\/div>\n<p>The first line specifies the address range in which the server should listen (a loopback interface and the address &#8220;192.168.0.252&#8221;, as well as the specification that it is a Class C network).\u00a0The second line binds the server to the previously specified interfaces.Additionally, hosts can be explicitly allowed and blocked:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>hosts <span class=\"nv\">allow <\/span> <span class=\"o\">=<\/span> localhost 192.168.0.\r\nhosts <span class=\"nv\">deny <\/span> <span class=\"o\">=<\/span> 192.168.0.2\r\n<\/pre>\n<\/div>\n<p>Further settings and detailed examples can also be found in the\u00a0Samba openbook, Sect. 4.6\u00a0(oreilly.com).<\/p>\n<h2><span class=\"ez-toc-section\" id=\"user_access\"><\/span><span id=\"Benutzerzugriff\" class=\"mw-headline\">user access<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>Add an smb user<\/li>\n<\/ul>\n<p>An smb user must always be a valid user on the server system.\u00a0In other words, in order to be able to create an smb user, a normal user must first be created.\u00a0If the user does not have access to the system, but can only use Samba, a user can be created without a password and login shell:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>sudo useradd -s \/ bin \/ false smbaccess\r\n<\/pre>\n<\/div>\n<p>Here no password is assigned (the user can not log in) and the login shell is &#8220;\/ bin \/ false&#8221;.\u00a0The user does not have a home directory.\u00a0Despite everything, an smb password can be assigned:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>sudo smbpasswd -a smbaccess\r\n<\/pre>\n<\/div>\n<p>Then the user can use &#8220;smbaccess&#8221; shares shared with him.\u00a0To delete the user can<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>smbpasswd -x smbaccess\r\n<\/pre>\n<\/div>\n<p>be used.<\/p>\n<ul>\n<li>Deactivation of guest user accounts<\/li>\n<\/ul>\n<p>By using the guest account, those users who have not authenticated can access the server.\u00a0Normally, Samba will go back to the user &#8220;nobody&#8221; without setting and offers several settings that can be made.\u00a0If the guest account is to be deactivated completely, the following must be set (smb.conf, section [global]):<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>map to <span class=\"nv\">guest <\/span> <span class=\"o\">=<\/span> never\r\n<\/pre>\n<\/div>\n<p>A failed login attempt with a nonexistent Samba user can also be &#8220;mapped&#8221; to a guest account.\u00a0The following lines are used:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>map to <span class=\"nv\">guest <\/span> <span class=\"o\">=<\/span> Bad User\r\nguest <span class=\"nv\">account <\/span> <span class=\"o\">=<\/span> nobody\r\n<\/pre>\n<\/div>\n<p>By means of &#8220;Bad User&#8221;, login attempts without a valid Samba user are automatically assigned to the Guest account.\u00a0The parameter &#8220;guest account&#8221; indicates the account that is used for it.\u00a0In the sections that are to be accessible to the guests, then the parameter for the guest account access is inserted:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>guest <span class=\"nv\">ok <\/span> <span class=\"o\">=<\/span> yes\r\n<\/pre>\n<\/div>\n<p>Likewise, of course, &#8221;\u00a0<b>guest ok = no<\/b>\u00a0&#8221; can be used.\u00a0The settings defined in the [global] section then apply to this section.<\/p>\n<ul>\n<li>writes<\/li>\n<\/ul>\n<p>Write accesses or read-only access can be achieved by the following parameters:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre><span class=\"nb\">read <\/span> <span class=\"nv\">only <\/span> <span class=\"o\">=<\/span> yes\r\n<\/pre>\n<\/div>\n<p>For write accesses can<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre><span class=\"nv\">writable <\/span> <span class=\"o\">=<\/span> yes\r\n<\/pre>\n<\/div>\n<p>be used.\u00a0Finally, a coherent example that restricts access to a directory to the user &#8220;tktest&#8221;:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre><span class=\"o\">[<\/span> shares <span class=\"o\">]<\/span> \r\n valid <span class=\"nv\">users <\/span> <span class=\"o\">=<\/span> tktest\r\n  <span class=\"nv\">path <\/span> <span class=\"o\">=<\/span> \/ home \/ tktest \/ shares\r\n  <span class=\"nb\">read <\/span> <span class=\"nv\">only <\/span> <span class=\"o\">=<\/span> yes\r\n guest <span class=\"nv\">ok <\/span> <span class=\"o\">=<\/span> no\r\n<\/pre>\n<\/div>\n<p>The line<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre><span class=\"nv\">browsable <\/span> <span class=\"o\">=<\/span> no\r\n<\/pre>\n<\/div>\n<p>also prevents the share from being listed when browsing the network shares.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"file_system\"><\/span><span id=\"Dateisystem\" class=\"mw-headline\">file system<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Special consideration for the integration of Windows and Linux clients is the handling of file rights.\u00a0The files created under Windows must be assigned according to the Linux users and their associated rights.\u00a0For this purpose, there are some parameters in smb.conf for configuring the rights when creating files:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>create <span class=\"nv\">mask <\/span> <span class=\"o\">=<\/span> 0644\r\ndirectory <span class=\"nv\">mask <\/span> <span class=\"o\">=<\/span> 0755\r\n<\/pre>\n<\/div>\n<p>These two lines specify the rights that files and folders receive when they are created on the share.\u00a0The numerical values are similar to the octal values used in the &#8220;chmod&#8221; command.\u00a0These default rights can be used to ensure that the files and folders receive the rights they want to create.<\/p>\n<p>For restricting a share to individual groups can<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>valid <span class=\"nv\">users <\/span> <span class=\"o\">=<\/span> @smbusers\r\n<\/pre>\n<\/div>\n<p>be used.\u00a0Now only more members of the group &#8220;smbusers&#8221; can access the share.<\/p>\n<p>It is important that ultimately always the appropriate Linux file permissions on the server come into play.\u00a0This means that a corresponding configuration of the user rights directly on the server is certainly the best security measure, since the file permissions can not be bypassed by a Samba configuration.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"User_defined_shares\"><\/span><span id=\"User_defined_Shares\" class=\"mw-headline\">User defined shares<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Since version 3.0.23 there is the possibility for users to add, change and delete their own shares (even for those without root privileges).\u00a0This possibility of &#8220;Usershares&#8221; can be activated in the smb.conf in the global sector.\u00a0The shares are not configured in the smb.conf, but under &#8220;\/ var \/ lib \/ samba \/ usershares&#8221;.\u00a0All users of the &#8220;sambashare&#8221; group can create, delete and modify shares without root privileges.<\/p>\n<p>In the global sector of smb.conf the parameters of the usershares are set:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>usershare max <span class=\"nv\">shares <\/span> <span class=\"o\">=<\/span> 5\r\nusershare allow <span class=\"nv\">guests <\/span> <span class=\"o\">=<\/span> no\r\n<\/pre>\n<\/div>\n<p>through<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>net usershare add test_share \/ home \/ tktest \/ test_share \/ <span class=\"s2\">\"Usershare\"<\/span> tktest: f\r\n<\/pre>\n<\/div>\n<p>For example, the user &#8220;tktest&#8221; can create his own share without &#8220;sudo&#8221; (root rights).\u00a0The parameter &#8220;tktest: f&#8221; specifies that the user &#8220;tktest&#8221; gets full access to the share.\u00a0To get information about a share, just use the following command:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>net usershare info <span class=\"nb\">test<\/span>\r\n<\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This article gives an\u00a0overview\u00a0of the possibilities of some\u00a0security settings of\u00a0a Samba server.\u00a0With regard to security, of course, there are always different options, some of which lead to the same goal.\u00a0This article shows those configuration parameters that can sometimes be used to take simple but effective security measures.\u00a0The settings were all\u00a0tested\u00a0on<\/p>\n","protected":false},"author":4,"featured_media":1220,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3],"tags":[],"class_list":["post-1219","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial-how-to"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/sam.0602.gif?fit=502%2C177&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7ISfL-jF","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":1216,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/samba-server-basics\/","url_meta":{"origin":1219,"position":0},"title":"Samba server basics","author":"Shreyash Sharma","date":"October 31, 2017","format":false,"excerpt":"A\u00a0Samba server\u00a0supports the integration of\u00a0Windows and Unix \/ Linux computers\u00a0.\u00a0For example,\u00a0files can be\u00a0exchanged or\u00a0printers can be\u00a0shared.\u00a0The name Samba originates from the\u00a0Server Message Block\u00a0(SMB) protocol\u00a0, which is used in Windows for network-based data exchange.\u00a0Currently, instead of SMB again and again from the \"\u00a0Common Internet File System\u00a0\" (CIFS) spoken.\u00a0CIFS is an evolution\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/samba-6.jpg?fit=804%2C541&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/samba-6.jpg?fit=804%2C541&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/samba-6.jpg?fit=804%2C541&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/samba-6.jpg?fit=804%2C541&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1345,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/samba-sharing-with-authentication\/","url_meta":{"origin":1219,"position":1},"title":"Samba sharing with authentication","author":"Shreyash Sharma","date":"February 22, 2018","format":false,"excerpt":"Complementing a simple Samba release, this article shows how to\u00a0create a username and password based Samba share\u00a0using a\u00a0Debian\u00a08 based system.\u00a0Ubuntu\u00a016.04 and Windows 10 are used\u00a0as client software for testing the connection\u00a0. \u00a0 Installation and configuration on the Debian server These following sections show the necessary configuration steps on the Debian\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/02\/Samba-Schema.gif?fit=450%2C300&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1198,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/do-not-start-samba-automatically-on-ubuntu\/","url_meta":{"origin":1219,"position":2},"title":"Do not start Samba automatically on Ubuntu","author":"Shreyash Sharma","date":"October 27, 2017","format":false,"excerpt":"Samba - the server service for providing Windows file and print sharing - automatically launches after each Ubuntu 10.10 installation.\u00a0However, if you need the Samba Server on your Ubuntu Desktop system only sporadically, you can\u00a0disable\u00a0the\u00a0automatic startup of Samba\u00a0. Upstart configuration Samba starts in Ubuntu 10.10 via Upstart when booting the\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/sambahero.jpg?fit=770%2C602&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/sambahero.jpg?fit=770%2C602&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/sambahero.jpg?fit=770%2C602&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/sambahero.jpg?fit=770%2C602&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":3947,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-install-configserver-security-firewall-csf-on-almalinux\/","url_meta":{"origin":1219,"position":3},"title":"How to install ConfigServer Security &#038; Firewall -CSF on Almalinux","author":"George B.","date":"September 28, 2023","format":false,"excerpt":"In this guide, we will walk you through the step-by-step process of installing CSF on AlmaLinux, ensuring that your system is fortified against potential threats. Every system administrator has a responsibility to protect their server from potential attacks and vulnerabilities. ConfigServer Security & Firewall (CSF) is a strong tool that\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/09\/How-to-install-CSF-on-Almalinux.png?fit=360%2C240&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1299,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/network-configuration-in-debian\/","url_meta":{"origin":1219,"position":4},"title":"Network configuration in Debian","author":"Daniel Draga","date":"January 8, 2018","format":false,"excerpt":"This article gives an overview of how the\u00a0network\u00a0configuration in\u00a0Debian\u00a0can be stored and modified\u00a0in the configuration file\u00a0\/ etc \/ network \/ interfaces\u00a0. Automatic activation at startup In order for certain interfaces to be activated automatically during the boot process, these must be entered with the auto parameter in the configuration file.The\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/01\/debian7_xfce4_desktop.png?fit=1200%2C682&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/01\/debian7_xfce4_desktop.png?fit=1200%2C682&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/01\/debian7_xfce4_desktop.png?fit=1200%2C682&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/01\/debian7_xfce4_desktop.png?fit=1200%2C682&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/01\/debian7_xfce4_desktop.png?fit=1200%2C682&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3238,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/install-redis-on-linux\/","url_meta":{"origin":1219,"position":5},"title":"Install Redis on Linux","author":"George B.","date":"April 14, 2023","format":false,"excerpt":"This article aims to provide you with a full guide on how to install Redis on Linux, an open-source, in-memory data structure store that can be used as a database, cache, and message broker. We will walk you through the step-by-step process of installation and setup, as well as provide\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/04\/Install-Redis-on-Linux.png?fit=600%2C330&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/04\/Install-Redis-on-Linux.png?fit=600%2C330&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/04\/Install-Redis-on-Linux.png?fit=600%2C330&ssl=1&resize=525%2C300 1.5x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/1219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/comments?post=1219"}],"version-history":[{"count":1,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/1219\/revisions"}],"predecessor-version":[{"id":1221,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/1219\/revisions\/1221"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/media\/1220"}],"wp:attachment":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/media?parent=1219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/categories?post=1219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/tags?post=1219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}