Access computer running Ubuntu from a WinXP computer

Asked by Ramakrishna Mission Ashrama

I just recently installed Ubuntu feisty, made my computer dual-boot and was even able to permanently access the NTFS partition used by winXP from Ubuntu. But I am not able to make other WinXP computers log on to the computer running Ubuntu. Samba seems to have been already installed.

I am a newbie to this linux stuff and any help from your side will be very much appreciated. Thanks in advance.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Solved by:
Rouben
Solved:
Last query:
Last reply:
Revision history for this message
Craig Huffstetler (xq) said :
#1

Do you have your Windows computers on the same domain and "workgroup" (under Network Settings and/or Computer Properties [Control Panel > System]?

Make sure the workgroups are all of the same (in Linux and Windows) and also check the local domain.

Samba should recognize them. Windows Vista/XP will require a reboot after changing the workgroup and/or domain name.

Revision history for this message
Ramakrishna Mission Ashrama (rkma) said :
#2

Thank you for trying to help me.

All the winXP computers (3 nos) are on the same workgroup namely MSHOME
whereas their domain is undeclared. Should I have to declare their domain?

How do I find the domain and the workgroup that the Ubuntu computer is on?

btw, one WinXP computer connects all (3 WinXPs & 1 Ubuntu) to the internet
and acts ( I think) as the DNS server (192.168.0.1). When I go to
System-->Administrator-->Network Settings-->DNS tab shows me 192.168.0.1

Thank you very much.

On 4/23/07, xq <email address hidden> wrote:
>
> Your question #5486 on Ubuntu changed:
> https://answers.launchpad.net/ubuntu/+question/5486
>
> Status: Open => Answered
>
> xq proposed the following answer:
> Do you have your Windows computers on the same domain and "workgroup"
> (under Network Settings and/or Computer Properties [Control Panel >
> System]?
>
> Make sure the workgroups are all of the same (in Linux and Windows) and
> also check the local domain.
>
> Samba should recognize them. Windows Vista/XP will require a reboot
> after changing the workgroup and/or domain name.
>
> _______________________________________________________________________
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/ubuntu/+question/5486/+confirm?answer_id=0
>
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/ubuntu/+question/5486
>

Revision history for this message
Sam Cater (wraund-deactivatedaccount) said :
#3

hmm, well i link my machines up by both machines running ftp, or better, ssh

a good ftp server is vsftp

a good ssh server is openssh

Revision history for this message
Rouben (rouben) said :
#4

Don't worry about the domain, you don't want that. :)

Can you please paste your /etc/samba/smb.conf here?

Also, can you see if pgrep returns something when you look for smbd and nmbd (paste the output as well, please). Something like this:
rouben@rouben:/etc/samba$ pgrep -l smb
4982 smbd
5005 smbd
24838 smbd
32448 smbd
rouben@rouben:/etc/samba$ pgrep -l nmb
4980 nmbd

Revision history for this message
Ramakrishna Mission Ashrama (rkma) said :
#5

Thanks Rouben: Just would like to add another thing:
The computers running winXP see the ubuntu computer but I am unable to logon
from them.
Thanks a lot for your involvement.

PASTING PGREP SMB & NMB:

rkmission@Thakur:~$ pgrep -l smb
5147 smbd
5189 smbd
rkmission@Thakur:~$

rkmission@Thakur:~$ pgrep -l nmb
5132 nmbd

PASTING /ETC/SAMBA/SMB.CONF (pretty long)

#
# Sample configuration file for the Samba suite for Debian GNU/Linux.
#
#
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options most of which
# are not shown in this example
#
# Any line which starts with a ; (semi-colon) or a # (hash)
# is a comment and is ignored. In this example we will use a #
# for commentary and a ; for parts of the config file that you
# may wish to enable
#
# NOTE: Whenever you modify this file you should run the command
# "testparm" to check that you have not made any basic syntactic
# errors.
#

#======================= Global Settings =======================

[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = MSHOME

# server string is the equivalent of the NT Description field
   server string = %h server (Samba, Ubuntu)

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
; wins support = no

# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
; wins server = w.x.y.z

# This will prevent nmbd to search for NetBIOS names through DNS.
   dns proxy = no

# What naming service and in what order should we use to resolve host names
# to IP addresses
; name resolve order = lmhosts host wins bcast

#### Networking ####

# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
; interfaces = 127.0.0.0/8 eth0

# Only bind to the named interfaces and/or networks; you must use the
# 'interfaces' option above to use this.
# It is recommended that you enable this feature if your Samba machine is
# not protected by a firewall or is a firewall itself. However, this
# option cannot handle dynamic or non-broadcast interfaces correctly.
; bind interfaces only = true

#### Debugging/Accounting ####

# This tells Samba to use a separate log file for each machine
# that connects
   log file = /var/log/samba/log.%m

# Put a capping on the size of the log files (in Kb).
   max log size = 1000

# If you want Samba to only log through syslog then set the following
# parameter to 'yes'.
; syslog only = no

# We want Samba to log a minimum amount of information to syslog. Everything
# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
# through syslog you should set the following parameter to something higher.
   syslog = 0

# Do something sensible when Samba crashes: mail the admin a backtrace
   panic action = /usr/share/samba/panic-action %d

####### Authentication #######

# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
; security = user

# You may wish to use password encryption. See the section on
# 'encrypt passwords' in the smb.conf(5) manpage before enabling.
   encrypt passwords = true

# If you are using encrypted passwords, Samba will need to know what
# password database type you are using.
   passdb backend = tdbsam

   obey pam restrictions = yes

; guest account = nobody
   invalid users = root

# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
; unix password sync = no

# For Unix password sync to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Ian Kahan <<
<email address hidden>> for
# sending the correct chat script for the passwd program in Debian Sarge).
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\sUNIX\spassword:* %n\n
*Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .

# This boolean controls whether PAM will be used for password changes
# when requested by an SMB client instead of the program listed in
# 'passwd program'. The default is 'no'.
; pam password change = no

########## Domains ###########

# Is this machine able to authenticate users. Both PDC and BDC
# must have this setting enabled. If you are the BDC you must
# change the 'domain master' setting to no
#
; domain logons = yes
#
# The following setting only takes effect if 'domain logons' is set
# It specifies the location of the user's profile directory
# from the client point of view)
# The following required a [profiles] share to be setup on the
# samba server (see below)
; logon path = \\%N\profiles\%U
# Another common choice is storing the profile in the user's home directory
; logon path = \\%N\%U\profile

# The following setting only takes effect if 'domain logons' is set
# It specifies the location of a user's home directory (from the client
# point of view)
; logon drive = H:
; logon home = \\%N\%U

# The following setting only takes effect if 'domain logons' is set
# It specifies the script to run during logon. The script must be stored
# in the [netlogon] share
# NOTE: Must be store in 'DOS' file format convention
; logon script = logon.cmd

# This allows Unix users to be created on the domain controller via the SAMR
# RPC pipe. The example command creates a user account with a disabled Unix
# password; please adapt to your needs
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos ""
%u

########## Printing ##########

# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
; load printers = yes

# lpr(ng) printing. You may wish to override the location of the
# printcap file
; printing = bsd
; printcap name = /etc/printcap

# CUPS printing. See also the cupsaddsmb(8) manpage in the
# cupsys-client package.
; printing = cups
; printcap name = cups

# When using [print$], root is implicitly a 'printer admin', but you can
# also give this right to other users to add drivers and set printer
# properties
; printer admin = @lpadmin

############ Misc ############

# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
; include = /home/samba/etc/smb.conf.%m

# Most people will find that this option gives better performance.
# See smb.conf(5) and
/usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/speed.html
# for details
# You may want to add the following on a Linux system:
# SO_RCVBUF=8192 SO_SNDBUF=8192
   socket options = TCP_NODELAY

# The following parameter is useful only if you have the linpopup package
# installed. The samba maintainer and the linpopup maintainer are
# working to ease installation and configuration of linpopup and samba.
; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &

# Domain Master specifies Samba to be the Domain Master Browser. If this
# machine will be configured as a BDC (a secondary logon server), you
# must set this to 'no'; otherwise, the default behavior is recommended.
; domain master = auto

# Some defaults for winbind (make sure you're not using the ranges
# for something else.)
; idmap uid = 10000-20000
; idmap gid = 10000-20000
; template shell = /bin/bash

#======================= Share Definitions =======================

# Un-comment the following (and tweak the other settings below to suit)
# to enable the default home directory shares. This will share each
# user's home directory as \\server\username
;[homes]
; comment = Home Directories
; browseable = no

# By default, \\server\username shares can be connected to by anyone
# with access to the samba server. Un-comment the following parameter
# to make sure that only "username" can connect to \\server\username
; valid users = %S

# By default, the home directories are exported read-only. Change next
# parameter to 'yes' if you want to be able to write to them.
; writable = no

# File creation mask is set to 0600 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0664.
; create mask = 0600

# Directory creation mask is set to 0700 for security reasons. If you want
to
# create dirs. with group=rw permissions, set next parameter to 0775.
; directory mask = 0700

# Un-comment the following and create the netlogon directory for Domain
Logons
# (you need to configure Samba to act as a domain controller too.)
;[netlogon]
; comment = Network Logon Service
; path = /home/samba/netlogon
; guest ok = yes
; writable = no
; share modes = no

# Un-comment the following and create the profiles directory to store
# users profiles (see the "logon path" option above)
# (you need to configure Samba to act as a domain controller too.)
# The path below should be writable by all users so that their
# profile directory may be created the first time they log on
;[profiles]
; comment = Users profiles
; path = /home/samba/profiles
; guest ok = no
; browseable = no
; create mask = 0600
; directory mask = 0700

wins support = no
[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   public = no
   writable = no
   create mode = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
# Uncomment to allow remote administration of Windows print drivers.
# Replace 'ntadmin' with the name of the group your admin users are
# members of.
; write list = root, @ntadmin

# A sample share for sharing your CD-ROM with others.
;[cdrom]
; comment = Samba server's CD-ROM
; writable = no
; locking = no
; path = /cdrom
; public = yes

# The next two parameters show how to auto-mount a CD-ROM when the
# cdrom share is accesed. For this to work /etc/fstab must contain
# an entry like this:
#
# /dev/scd0 /cdrom iso9660 defaults,noauto,ro,user 0 0
#
# The CD-ROM gets unmounted automatically after the connection to the
#
# If you don't want to use auto-mounting/unmounting make sure the CD
# is mounted on /cdrom
#
; preexec = /bin/mount /cdrom
; postexec = /bin/umount /cdrom

[Contents]
path = /media/NTFS/Contents
available = yes
browsable = yes
public = yes
writable = yes

[rkmission]
path = /home/rkmission
available = yes
browsable = yes
public = yes
writable = yes

On 4/24/07, Rouben <email address hidden> wrote:
>
> Your question #5486 on Ubuntu changed:
> https://answers.launchpad.net/ubuntu/+question/5486
>
> Rouben requested for more information:
> Don't worry about the domain, you don't want that. :)
>
> Can you please paste your /etc/samba/smb.conf here?
>
> Also, can you see if pgrep returns something when you look for smbd and
> nmbd (paste the output as well, please). Something like this:
> rouben@rouben:/etc/samba$ pgrep -l smb
> 4982 smbd
> 5005 smbd
> 24838 smbd
> 32448 smbd
> rouben@rouben:/etc/samba$ pgrep -l nmb
> 4980 nmbd
>
> _______________________________________________________________________
> To answer this request for more information, you can either reply to
> this email or enter your reply at the following page:
> https://answers.launchpad.net/ubuntu/+question/5486
>

Revision history for this message
Best Rouben (rouben) said :
#6

Oh, OK, I was under the impression that this was a Network Places browsing issue. If your Windows machines can see the Ubuntu box, that's allready half the battle.

Did you set up a SAMBA password for your account? You see, Windows and UNIX use incompatible password storage mechanisms, so unfortunately you need to maintain two sets of passwords, one for the Linux logins, and one for SAMBA logins. There are ways around that, but they are somewhat complicated...

To set your SAMBA password, you need to run the smbpasswd command as yourself and any other user you want to be able to log on to the Ubuntu machine. Chances are you haven't done that yet, so go ahead and create a SAMBA account for yourself:

sudo smbpasswd -a rkmission

The -a option means "add user to the password file". The username you're adding is supposed to be a valid UNIX username (i.e. must have an account on the Ubuntu server). Also do the same for all the other accounts you want to allow access to your Ubuntu server. Later on, when these SAMBA passwords are already established, and you want to change then for some reason, you can simply run "smbpasswd" as the user you want to change the password for. You will have to provide the old SAMBA password for this to work, just like the regular UNIX password changing command "passwd", the idea is the same.

Please make a copy of your /etc/samba/smb.conf file before you try anything else!!!

Next step would be to remove the share you added for your home directory. SAMBA has a way of sharing everyone's home directories automatically. That way you don't have to explicitly add those home directories every time you make a new user. Just remove the [rkmission] share (or add a line to it that says "available = no") and uncomment the section on home directories like this:
-------------------------
[homes]
comment = Home Directories
browseable = no

# By default, \\server\username shares can be connected to by anyone
# with access to the samba server. Un-comment the following parameter
# to make sure that only "username" can connect to \\server\username
valid users = %S

# By default, the home directories are exported read-only. Change next
# parameter to 'yes' if you want to be able to write to them.
writable = yes

# File creation mask is set to 0600 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0664.
create mask = 0600

# Directory creation mask is set to 0700 for security reasons. If you want
to
# create dirs. with group=rw permissions, set next parameter to 0775.
directory mask = 0700
-------------------------

Now the [Contents] share... I'm assuming this is some sort of public area on your Windows disk that you want all the users on your server to have read-write access to... If so, you may need to tweak that share definition a bit (I added comments to explain what each option does):
-------------------------
[Contents]
# UNIX path to the directory you want to share with SAMBA
path = /media/NTFS/Contents

# If you ever need to turn off this share without commenting
# it out, or deleting it from the file, simply set this to "no"
available = yes

# This shows up in the My Network Places as the description.
# Really doesn't matter what you put here.
comment = Shared Files Public Area

# When someone opens this server from My Network Places,
# they can see this shared folder. Set to "no" if you want
# users to type in the name directly into Explorer, like
# \servername\contents with no other way to access this.
browsable = yes

# This is the same as "guest ok" and basically is not very secure.
public = no

# Allow logged in users to write to this share.
writable = yes

# List of users allowed to access this share. Separate multiple
# entries with spaces. You can add a group of users by prefixing
# it with the @ symbol, for example:
# valid users = root @users fred joe
valid users = rkmission
-------------------------

When you're done editing your /etc/samba/smb.conf, run

sudo testparm

to make sure there are no problems with the file. If all looks well, cross your fingers and try

sudo /etc/init.d/samba restart

If all looks good, then try the final test before attempting to connect to your Ubuntu server with a Windows box:

smbclient //thakur/rkmission

It should prompt you for the password you entered when you set up a SAMBA account for yourself. Enter that password and hit ENTER. If it looks like this, then you have succeeded, congratulations!

rkmission@Thakur:~$ smbclient //thakur/rkmission
Password: <enter your SAMBA password here and press ENTER>
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.0.22]
smb: \> exit
rkmission@Thakur:~$

If you see something like this:
session setup failed: NT_STATUS_LOGON_FAILURE
then it's probably a password probem and you need to reset it (see the "sudo smbpasswd -a rkmission" above).

That should do it, I think! I was writing all this from memory, so it may not be 100% correct... Please let me know how it goes!

Revision history for this message
Ramakrishna Mission Ashrama (rkma) said :
#7

Thanks a lot Rouben, I just typed
sudo smbpasswd -a rkmission
and lo! was able to browse from other winXP computers. Thank you once again
for your swift replies.
I will do the second part a bit later. Thanks.

On 4/24/07, Rouben <email address hidden> wrote:
>
> Your question #5486 on Ubuntu changed:
> https://answers.launchpad.net/ubuntu/+question/5486
>
> Status: Open => Answered
>
> Rouben proposed the following answer:
> Oh, OK, I was under the impression that this was a Network Places
> browsing issue. If your Windows machines can see the Ubuntu box, that's
> allready half the battle.
>
> Did you set up a SAMBA password for your account? You see, Windows and
> UNIX use incompatible password storage mechanisms, so unfortunately you
> need to maintain two sets of passwords, one for the Linux logins, and
> one for SAMBA logins. There are ways around that, but they are somewhat
> complicated...
>
> To set your SAMBA password, you need to run the smbpasswd command as
> yourself and any other user you want to be able to log on to the Ubuntu
> machine. Chances are you haven't done that yet, so go ahead and create a
> SAMBA account for yourself:
>
> sudo smbpasswd -a rkmission
>
> The -a option means "add user to the password file". The username you're
> adding is supposed to be a valid UNIX username (i.e. must have an
> account on the Ubuntu server). Also do the same for all the other
> accounts you want to allow access to your Ubuntu server. Later on, when
> these SAMBA passwords are already established, and you want to change
> then for some reason, you can simply run "smbpasswd" as the user you
> want to change the password for. You will have to provide the old SAMBA
> password for this to work, just like the regular UNIX password changing
> command "passwd", the idea is the same.
>
> Please make a copy of your /etc/samba/smb.conf file before you try
> anything else!!!
>
> Next step would be to remove the share you added for your home directory.
> SAMBA has a way of sharing everyone's home directories automatically. That
> way you don't have to explicitly add those home directories every time you
> make a new user. Just remove the [rkmission] share (or add a line to it that
> says "available = no") and uncomment the section on home directories like
> this:
> -------------------------
> [homes]
> comment = Home Directories
> browseable = no
>
> # By default, \\server\username shares can be connected to by anyone
> # with access to the samba server. Un-comment the following parameter
> # to make sure that only "username" can connect to \\server\username
> valid users = %S
>
> # By default, the home directories are exported read-only. Change next
> # parameter to 'yes' if you want to be able to write to them.
> writable = yes
>
> # File creation mask is set to 0600 for security reasons. If you want to
> # create files with group=rw permissions, set next parameter to 0664.
> create mask = 0600
>
> # Directory creation mask is set to 0700 for security reasons. If you want
> to
> # create dirs. with group=rw permissions, set next parameter to 0775.
> directory mask = 0700
> -------------------------
>
> Now the [Contents] share... I'm assuming this is some sort of public area
> on your Windows disk that you want all the users on your server to have
> read-write access to... If so, you may need to tweak that share definition a
> bit (I added comments to explain what each option does):
> -------------------------
> [Contents]
> # UNIX path to the directory you want to share with SAMBA
> path = /media/NTFS/Contents
>
> # If you ever need to turn off this share without commenting
> # it out, or deleting it from the file, simply set this to "no"
> available = yes
>
> # This shows up in the My Network Places as the description.
> # Really doesn't matter what you put here.
> comment = Shared Files Public Area
>
> # When someone opens this server from My Network Places,
> # they can see this shared folder. Set to "no" if you want
> # users to type in the name directly into Explorer, like
> # \servername\contents with no other way to access this.
> browsable = yes
>
> # This is the same as "guest ok" and basically is not very secure.
> public = no
>
> # Allow logged in users to write to this share.
> writable = yes
>
> # List of users allowed to access this share. Separate multiple
> # entries with spaces. You can add a group of users by prefixing
> # it with the @ symbol, for example:
> # valid users = root @users fred joe
> valid users = rkmission
> -------------------------
>
> When you're done editing your /etc/samba/smb.conf, run
>
> sudo testparm
>
> to make sure there are no problems with the file. If all looks well,
> cross your fingers and try
>
> sudo /etc/init.d/samba restart
>
> If all looks good, then try the final test before attempting to connect
> to your Ubuntu server with a Windows box:
>
> smbclient //thakur/rkmission
>
> It should prompt you for the password you entered when you set up a
> SAMBA account for yourself. Enter that password and hit ENTER. If it
> looks like this, then you have succeeded, congratulations!
>
> rkmission@Thakur:~$ smbclient //thakur/rkmission
> Password: <enter your SAMBA password here and press ENTER>
> Domain=[MSHOME] OS=[Unix] Server=[Samba 3.0.22]
> smb: \> exit
> rkmission@Thakur:~$
>
> If you see something like this:
> session setup failed: NT_STATUS_LOGON_FAILURE
> then it's probably a password probem and you need to reset it (see the
> "sudo smbpasswd -a rkmission" above).
>
> That should do it, I think! I was writing all this from memory, so it
> may not be 100% correct... Please let me know how it goes!
>
> _______________________________________________________________________
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/ubuntu/+question/5486/+confirm?answer_id=5
>
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/ubuntu/+question/5486
>

Revision history for this message
Ramakrishna Mission Ashrama (rkma) said :
#8

Thanks a lot Rouben, I just typed
sudo smbpasswd -a rkmission
and lo! was able to browse from other winXP computers. Thank you once again for your swift replies.
I will do the second part a bit later. Thanks.