How to setup a samba file system first make sure that samba is installed on your machine rpm -qa | grep samba failing to return anything urpmq --fuzzy samba it will return samba-client and samba-server now type urpmi samba-client urpmi samba-server (really only client is necessary to have windows view linux, but you need both to have two way communication) With that done we have to go on to edit /etc/samba/smb.conf cat /etc/samba/smb.conf # Global Parameters workgroup = mhd_fluid_systems # name of the network to be found from windows netbios name = MHD2 # some name, can be blank for all it matters encrypt passwords = yes # in the world today encryption is necessary printcap name = cups # allow printer access via this network printing = cups # more allowing access to a printer security = user # users must login to use the system [printers] # all of these allow printer access browseable = yes printable = yes public = yes create mode = 0700 guest only = yes use client driver = yes guest account = smbprint # this is a user on mhd2 path = /home/smbprint # the home address for smbprint on mhd2 [homes] read only = no # a user once logged on can view home directories browseable = no # otherwise outsiders see nothing [music] path = /home/user/music # a particular directory to share browseable = yes # users can view contents write list = user, user1 # this is the list of allowed users to view NOTE: the shared files must have at a minimum wrx permissions for the "user" and "others" and rx permissions for "group" Now the config file is ready to use, we need to setup samba users and something else I cannot think of right now To add a samba user: For an non-existant user you must add the user to your linux box (usual useradd...) for the existing user type 'smbpasswd -a user' and create a password for 'user' repeat this for all users that require access to the windows box. With these users added we need to restart samba service smb restart Now your machine is accessible from a windows box. You can setup your machine as a primary domain controler (ie windows accesses the internet via your linux box) but I have not done that yet, so I will leave this here. Further, to allow linux to view your windows directories, first you must change the permissions on your windows files to allow sharing (including the directory in which these files are located) and set all passwords etc... (Vista is a huge pain in the ass here, so damn secure this small project was painful) ------------------------------------------------------------------------------- The following is not essential, and is a prelude to Primary Domain Controling ------------------------------------------------------------------------------- With that done, we can add a computer to the smb server useradd -s /bin/false -d /dev/null windows_box\$ this adds a machine (which is why it must end in \$) as a user in your linux box. with this added smbpasswd -a -m windows_box The -m indicates to samba that this is a machine not a user so it will take the windows password. now restart samba ------------------------------------------------------------------------------- To permanently add a windows networked device open /etc/fstab and add the line //kdl2/Public /d/kdl2/vista smbfs ro,credentials=/home/linux_user/.smbpasswd,uid=linux_user,gid=users 0 0 the first is a way of pointing to a windows machine called kdl2 and we want to share the Public directory (actually called that on windows) the second is the mount point in linux (this mount point must be empty and exist) the third is the filesystem (short for samba file system) the rest is options for fstab (read-only and then the password file, user to logon as, and in windows the group id is always users) then 0 o (read man fstab for specifics) with this done perform a 'service netfs restart' in principle the windows machine (well Public directory anyways) is mounted as read only in linux. The user is allows to make the windows mount a rw but this can cause trouble if a critical system file is erased. NOTE: the file /home/linux_user/.smbpasswd must contain username=windows_user password='actual user password on windows' Note: yes, your windows password is in plain text and is exposed to the world if it is seen. If you are clever, you will hide this file somewhere nobody expects (unless they read your /etc/fstab in which case they know where it is...) Note: This file must have have permissions set to 600 chmod 600 .smbpasswd