Can't (i.e. don't know how to) see Linux from Windows

Despite having grown up in Brisbane myself, and giving Andrews’ well-regarded ‘Samba Howto’ a really intense scrute over the past few days, I can’t understand how to ‘see’ files and folders on my SuSE 11 configuration from any of the Win XP computers on my home network.

I can see the 2 key Win computers from OpenSuSE and can indeed write to one of them as well - but not the reverse. There’s also one Win computer that I can see but I’m told there are 0 items on it, which rather startles me, because I still use it every day until I get this Linux setup working completely. Then it will be ‘goodnight Microsoft’ on one computer at least.

In the meantime if anybody can tell me more about how to do it in the section in Swerdna’s How To labeled “The Suse/openSUSE Default Shares”, in the part that deals with the [homes] Users Roaming Shares, I would be most grateful. Specifically, I can’t follow the sentence: “You must be logged onto the client as a Samba user on the server to see these shares.”

  • How do I log onto a Windows Client as a Samba user? There is nothing in the Windows Help system about ths.

  • Should I be logged on to a client or a server - the sentence tells me to be both.

  • I’ve got a peer-to-peer network (a Windows workgroup). There is no client and no server - is there?

  • if there is, which is which? Is Linux the server? Why?

  • if I need to create user accounts on the Linux machine for each possible logon from a Windows machine, does that mean that a Windows users can see files which are in his ‘home’ directory only? That’s not what I want _ I want to be able to ‘see’ (create, read, update, delete) files between all the computers on my home network without limit.

  • if I have to create multiple user accounts on the Linux machine, I can’t use the same account name can I? But with my windows workgroup I can access any file on any computer using the one common userid I have on each of the windows machines. Can I replicate this on the Linux machine?

  • How many other dumb question am I allowed to ask before …aaarrrggghhhh

We could send swerdna over to your house to straighten you out on these things. :slight_smile:

No but seriously, have patience, it can be done.

In a peer network, computers can be both clients and servers. The client is the one connecting to ask for the resource, the server is the one er, serving it. Generally the one with the files.

Remember that Windows also has protections on exported shares.

You can create group shares on Samba, not just home shares.

Beep, ok that’s my limit for answering questions reached. Swerdna is the expert, trust me. He’ll be here any moment now.

I agree with Ken_Yap. … Swerdna has done a lot of working laying out guides to help newbies in this.

In the mean time, while waiting for him, taking a look at this very brief section:
Concepts - openSUSE

In essence, as a work around until you setup samba (which is nicely integrated with Windows LANs) you can use ssh/scp. For example, install “winscp” on your windows PCs, and open up port#22 on your Linux PC firewall, and you will be able to see your Linux PC drive from your Windows PCs (of course you also need to open the appropriate port in your Windows PC’s firewall). But ssh/scp is not as integrated as samba.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

s/SSH is not as integrated/SSH is not as integrated in windows-land/

Good luck.

oldcpu wrote:
| ken_yap;1830026 Wrote:
|> Swerdna is the expert, trust me. He’ll be here any moment now.I agree
with Ken_Yap. … Swerdna has done a lot of working laying out
| guides to help newbies in this.
|
| In the mean time, while waiting for him, taking a look at this very
| brief section:
| ‘Concepts - openSUSE’ (http://tinyurl.com/66h4rw)
|
| In essence, as a work around until you setup samba (which is nicely
| integrated with Windows LANs) you can use ssh/scp. For example,
| install “winscp” on your windows PCs, and open up port#22 on your Linux
| PC firewall, and you will be able to see your Linux PC drive from your
| Windows PCs (of course you also need to open the appropriate port in
| your Windows PC’s firewall). But ssh/scp is not as integrated as
| samba.
|
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIajrt3s42bA80+9kRAn38AJ9UwNuMP50SpwiKtyJhjQurEQ4+RQCfbJqz
MX+xkpYmdx0TXEsNewZbRa0=
=u5td
-----END PGP SIGNATURE-----

The method I described, using winscp to access a linux pc via ssh is a tried and proven method.

My wife uses this all the time from her winXP pc to access the openSUSE PC on our home lan.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Exactly. I was just making the point that SSH is integrated in every OS
I’ve ever used except windows, so it’s the exception (though a popular
one as far as consumers are concerned).

Good luck.

oldcpu wrote:
| ab@novell.com;1830117 Wrote:
|> s/SSH is not as integrated/SSH is not as integrated in windows-land/
| The method I described, using winscp to access a linux pc via ssh is a
| tried and proven method.
|
| My wife uses this all the time from her winXP pc to access the openSUSE
| PC on our home lan.
|
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIakV33s42bA80+9kRAjfuAJ4+UfnHG3a1Pt0P8cgcfH5I5+C//QCfdGRe
iitD0xkuVGSrIi8KnXWELh4=
=iw0Z
-----END PGP SIGNATURE-----

I looked at the bit you refereed to and it’s quite obscure. Thees things always make sense when I write tham but often make much less sense when I read them a year later.
OK I rewrote it – hope it’s clearer.

Client-server is a commercial analogy applied to networks. If you take a parcel over a counter from a shopkeeper you are the client and she is the server. Same thing with a file in a network. So in your case on a windows box getting a file from a Linux box, Linux serves the file up to a windows client.

What’s a Samba user? On Linux there are Linux users. They can access the machine by sitting in front of it and logging on. But they can’t access the networks (except as honoured guests) until they join the Samba users by entering their names in the Samba user database (and at the same time choosing a password to go into the database along with their name).

Some Linux shares are open to the world. Guests can access them.
Some Linux shares are open only to the members of the Samba user database and only members can access them by supplying a username and a password that matches an entry in the samba user database.

To enter e.g. hughie into the Samba user database on a server you enter this in a console:
smbpasswd -a hughie
and then supply a password when asked. Hughie must pre exist as a Linux user on the server before joining the Samba user database.

Phew – ask more questions if you need to.

Wow! I must have been asleep when the class covered the bit about defining a pre-existing Linux user to the SMB database. I remember reading a comment about the need for a pre-existing user, which I didn’t understand at the time, but don’t ever remember the seeing command to create a user entry in the Samba DB.

This is no big surprise of course: at my age you drift into and out of a comatose state regularly throughout the day. The only difficulty is in deciding which state you are in at a given time. Best really to rely on the judgment of others.

What’s that you say? Retired? Oh, oh, sorry, retarded, Yep, that must be it.

But I’ll give it a go. I must warn you however: there is no beginning to this man’s talent.

I’LL BE BACK (spoken with a slight German and Sarf London accent)

(with more dumb questions)

Oh Dear! That didn’t take long did it?

Copy of console dialog:

asquared@Dimension:~> smbpasswd -a xxxxxxx
When run by root:
smbpasswd [options] [username]
otherwise:
smbpasswd [options]

options:
-L local mode (must be first option)
-h print this usage message
-s use stdin for password prompt
-c smb.conf file Use the given path to the smb.conf file
-D LEVEL debug level
-r MACHINE remote machine
-U USER remote username
extra options when run by root or in local mode:
-a add user
-d disable user
-e enable user
-i interdomain trust account
-m machine trust account
-n set no password
-W use stdin ldap admin password
-w PASSWORD ldap admin password
-x delete user
-R ORDER name resolve order

Aha, clearly I’m not root, so I am in the ‘other wise’ category. So:

(again, copy of console dialog):

asquared@Dimension:~> smbpasswd -a
When run by root:
smbpasswd [options] [username]
otherwise:
smbpasswd [options]

options:
-L local mode (must be first option)
-h print this usage message
-s use stdin for password prompt
-c smb.conf file Use the given path to the smb.conf file
-D LEVEL debug level
-r MACHINE remote machine
-U USER remote username
extra options when run by root or in local mode:
-a add user
-d disable user
-e enable user
-i interdomain trust account
-m machine trust account
-n set no password
-W use stdin ldap admin password
-w PASSWORD ldap admin password
-x delete user
-R ORDER name resolve order

Doesn’t seem to do much does it? It certainly doesn’t ask for a password.

Moreover, this is only going to (fail to) define a user on the Linux machine as a Samba user. But, already I find that I am able to see my windows machines from Linux and do CRUD operatons on the files on one of those machines at least, from Linux.

The bigger problem I have is in not beeing able to get at the files on the Linux machine from the Windows machines. Surely I need to be doing something in Windows and not in Linux to solve this? If not, how can the Windows machines ever know what users I have defined on the Linux machines, unless they can ‘see’ Linux in the first place? In which case I don’t need to define Windows users in the Samba database!

This is a Catch-22 that is worthy of the name - surely?

You need to supply the username you’re trying to add when typing smbpasswd -a, the reason you’re getting all that other info is because you’re giving an incomplete command

Swerdna used hughie in his example: smbpasswd -a hughie

Once you supply the username as above it will ask you for a password, the password you enter is up to you, doesn’t have to be the same as the user’s linux password

Once you’ve succesfully added a user that way you should be able to browse the linux shares from xp by using my network places, when asked for the username and password enter those you supplied when you ran smbpasswd -a [user]

Be aware that the files and folders you can access from xp will depend on the file/folder permissions, if the linux user can access them, then logging in as the corresponding samba user from xp should allow the same access

You will also need to add any files/folders outside of home directories as samba shares, this is fairly simple to do using Yast

I have a partition mapped as /shares and all the files that are available to other machines on my lan are placed in folders on that partition

Helps to keep things tidy having all ‘global’ shares in the same place, and means I only have to define the one samba share i.e added /shares as a samba share in Yast and set the permissions on /shares as read/write to both the owner and group (the group being users)

Any files a user on my lan wants to keep private they place in their own home folder instead of in /shares

Hope that helps and doesn’t confuse ya too much :wink:

Yes, that’s what I did do: look back at the first example I gave.

It doesn’t work, does it? (on my computer here, at least. And that’s the only one I can use).

The reason it doesn’t work is that I have to become root first, don’t I? (A concept that doesn’t appear in the Windows world). Now, nobody actually said anything about that. ("Oh, didn’t we tell you about the need for a parachute when you step out of the plane? Sorry, we thought you knew…)

Yes, I can do this now, having set myself as root and created a user. It seems very simple when you know what to do.

In my experience, as a newbie, NOTHING is easy to do in Linux. The expression “That’s easy for you to say” springs to mind. I’ve looked at Yast - I mean I have really seriously looked at, in a threatening tone of voice indeed. It still isn’t going to tell me how to ‘add any files/folders outside of home directories as samba shares’. For me, right now, my capability to do this is about the same as my capability to conjugate Latin verbs while swimming underwater on my back (an ability which you did acquire if you grew up in Moreton Bay 50 years ago).

That sounds exactly like the sort of organisation I want to achieve. Come on, give us a clue: how is it done?

Finally, through Network Places in XP I can see 3 other Samba-related items: users, groups and profiles. What are these for and how do I use them?

@XEyedBear

Just to add to Ecky’s ClearEyed explanation: You originally asked about a so-called “Roaming Share” where the entire home directory of, for example, asquared, is available over the network to asquared from every workstation. It is not supposed to be automatically visible to all people browsing the network because it’s a share of all the file on the Linux machine under
/home/asquared.
So don’t sweat it if you can’t see it, just know it’s there and connect to it with the addressing
\servername\asquared from a windows client
or
smb://servername/asquared from a Linux client.

These last 2 command strings are most helpful - thanks.

Yes, my original comment did centre on the ‘roaming shares’ because that’s how far I was able to understand your ‘Howto’ guide - and I didn’t see any other guidance which was relevant to the configuration I am wanting to realise (“didn’t see” is, of course, not necessarily the same thing as “wasn’t there”).

Anyway, I am now able to see my Linux files from the Win/XP machines and may even be able to get those same machines to talk fully to each other. So the day of being able to do all that I want to on one particular computer, under a GPL, rather than with ‘My Bloat Inc.’ software is geting closer.

Glad it’s progressing for you

If you go Yast, Network Services, Samba Server, you are presented with the Samba Configuration dialog at the Shares tab

Click the Add button to add a new share, in the box that pops up give it a name and a description (description is optional if I remember rightly), either type the path to the folder you wish to share or use the Browse button

The groups and profiles you asked about I don’t think you’ll use from what you’ve said you’re trying to do and they can be turned off under the Shares tab if you wish

To disable a share, select it from the list and click the Toggle Status button so the share says Disabled in the Status column

When you’re done editing your shares click Finish

The Users share you’re seeing will be the home folders for the linux users you have configured

As for setting up partitions I don’t think a network thread is the right place for a how-to on that, plenty already exist, and I’d hate to think someone tooled their system following something I said!

If you’re not familiar with and confident about fooling around with partitions you’d probably be better off just making a folder at /shares (or whatever you wanna call it), doesn’t matter what folder you make or where, just as long as you add it to the samba shares as explained above and set the permissions on it appropriately so that those you wish to allow access to it can get into it