I created this tutorial how to page because I had trouble accessing my Ubuntu PC from my Windows based Network (Windows Vista, Windows XP) in my home. I have 4 PC’s (wired and wireless) connected to a router – which is the how they get out the Internet. All the PC’s (including the Ubuntu one) have the same network “workgroup” name. In addition this tutorial assumes you alread have “Samba” installed, and if you don’t run this first in terminal:
sudo apt-get install samba
Next, stop samba while you make the required changes by running this in terminal:
sudo /etc/init.d/samba stop
Now you need to edit the samba config file, which is located here:
/etc/samba/smb.conf
You can open it in a text editor to make changes by running this in terminal:
sudo gedit /etc/samba/smb.conf
Copy and poast the following into smb.conf:
[global]
; General server settings
netbios name = YOUR_HOSTNAME
server string =
workgroup = YOUR_WORKGROUP
announce version = 5.0
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192
passdb backend = tdbsam
security = user
null passwords = true
username map = /etc/samba/smbusers
name resolve order = hosts wins bcast
wins support = yes
printing = CUPS
printcap name = CUPS
syslog = 1
syslog only = yes
; NOTE: If you need access to the user home directories uncomment the
; lines below and adjust the settings to your hearts content.
;[homes]
;valid users = %S
;create mode = 0600
;directory mode = 0755
;browseable = no
;read only = no
;veto files = /*.{*}/.*/mail/bin/
; NOTE: Only needed if you run samba as a primary domain controller.
; Not needed as this config doesn't cover that matter.
;[netlogon]
;path = /var/lib/samba/netlogon
;admin users = Administrator
;valid users = %U
;read only = no
; NOTE: Again - only needed if you're running a primary domain controller.
;[Profiles]
;path = /var/lib/samba/profiles
;valid users = %U
;create mode = 0600
;directory mode = 0700
;writeable = yes
;browseable = no
; NOTE: Inside this place you may build a printer driver repository for
; Windows - I'll cover this topic in another HOWTO.
[print$]
path = /var/lib/samba/printers
browseable = yes
guest ok = yes
read only = yes
write list = root
create mask = 0664
directory mask = 0775
[printers]
path = /tmp
printable = yes
guest ok = yes
browseable = no
; Uncomment if you need to share your CD-/DVD-ROM Drive
;[DVD-ROM Drive]
;path = /media/cdrom
;browseable = yes
;read only = yes
;guest ok = yes
[MyFiles]
path = /media/samba/
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0755
force user = YOUR_USERNAME
force group = YOUR_USERGROUP
Next, you're going to want to edit the appropriate values:
netbios name = name_of_your_computer_will_be_on_the_network
workgroup = same_name_all_computers_in_house_use_as_workgroup
wins suypport = yes
force user = YOUR_USERNAME
force group = YOUR_USERGROUP
you can edit anything else you want, but in most cases at least those 5 things are required. Now, start samba back up:
sudo /etc/init.d/samba start
Next, you need to actually ADD THE USERS MANUALLY INTO SAMBA (this is why mine was failing - I never did this part). Run these commands in terminal:
sudo smbpasswd -L -a your_username
sudo smbpasswd -L -e your_username
You will be asked for a password after running the first one, BE SURE to use your LOGIN password and username for Ubuntu! That's it! You should now be able to see and access the Ubuntu box on the Windows based network, and login from another PC using your main Ubuntu username and password. Any files or folders you right click and "share" on the Ubuntu box will appear on the PC's now when you go to "Network" and the name of your Ubuntu box.
If you get stuck or need more info, view this page for reference.
Thanks, this was as real help for my local network.