Fedora 20 includes special software that is enabled by default in order to protect the system from various security risks. That is, SELinux and the firewalld.service
Some tutorials on Internet (I have seen) suggest to disable SELinux in order to enable sharing through samba protocol, but this is completely wrong. Also it is dangerous too, for system security.
First you have to install the required packages for samba and samba configuration
sudo yum install samba samba-common samba-client cups-lib system-config-samba
Create the directory you want to share. We assume here that the directory doesn't exist.
mkdir /srv/shared
Now you have to configure SELinux in order to give read/write access to samba in this directory (and any files inside this directory).
sudo semanage fcontext -a -t samba_share_t "/srv/shared(/.*)?"
sudo restorecon -R -v /srv/shared/
Now run the following command to add the directory and configure the sharing permissions
sudo system-config-samba
Click on add (+) and select the folder we created before. Then configure the permissions on this folder and click OK.

Now configure the firewall in order to open the ports for samba and samba-client
sudo firewall-config
Change the Default Zone to home. By default Fedora has the Public zone enabled. That is, very "restricted". Firewall behaves as if you are using your PC in a public place.
If you want the changes to be permanent change from Runtime to Permanent. If you don't then the changes will be lost in next reboot.
Click on Options and Change Default Zone. Select home.

Then scroll down and check if samba and samba-client are selected. If not, the select them.

You can always change the default Zone (to public) for the Runtime. For example if you go to a public place with your Laptop. Runtime options take place immediately, but Permanent changes need the service to be restarted, so...
...lets start(and restart) some services now
sudo systemctl start smb.service
sudo systemctl start nmb.service
sudo systemctl restart firewalld.service
Now you should be able to see the workgroup, "MYGROUP" is the default name, and the directory "shared" under your local network from any machine that is connected to it.
Don't forget to enable smb.service and nmb.service permanently
sudo systemctl enable smb.service
sudo systemctl enable nmb.service
Tip: If you configured the directory to be accessed by you only, (not public I mean) then you have to create a new samba password for the user (your user).
sudo smbpasswd -a username
where username replace it with your actual username.
Hi,
Thanks for a very throughout answer! My problem is that my server isn't connected to the Internet. How can I download the needed packages with a connected one and then transfer and install them to the server?
Ben Gt
Hi and welcome to ask.fedoraproject. Please open a new question about your query, as this one has already an accepted answer. As a tip, you can use the
yum --downloadonly --downloaddir=directory
.