Difference between revisions of "R-Pi NAS"

From eLinux.org
Jump to: navigation, search
(Started new page)
 
(Added useful text from a Debian example)
Line 31: Line 31:
  
  
 +
=Useful text=
 +
Copied from http://www.howtoforge.com/debian-squeeze-samba-standalone-server-with-tdbsam-backend
  
 +
1 Preliminary Note
 +
I'm using a Debian Squeeze system here with the hostname server1.example.com and the IP address 192.168.0.100.
 +
 +
 +
 +
2 Installing Samba
 +
Connect to your server on the shell and install the Samba packages:
 +
 +
apt-get install libcups2 samba samba-common
 +
 +
You will see the following questions:
 +
 +
Workgroup/Domain Name: <-- WORKGROUP
 +
 +
Edit the smb.conf file:
 +
 +
nano /etc/samba/smb.conf
 +
 +
In the global section, remove the "#" at the beginning of the line security = user so it looks like this:
 +
 +
[...]
 +
# "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
 +
[...]
 +
This enables Linux system users to log in to the Samba server.
 +
 +
Close the file and restart Samba:
 +
 +
/etc/init.d/samba restart
 +
 +
 +
 +
3 Adding Samba Shares
 +
 +
Now I will add a share that is accessible by all users.
 +
Create the directory for sharing the files and change the group to the users group:
 +
 +
mkdir -p /home/shares/allusers
 +
chown -R root:users /home/shares/allusers/
 +
chmod -R ug+rwx,o+rx-w /home/shares/allusers/
 +
 +
At the end of the file /etc/samba/smb.conf add the following lines:
 +
 +
nano /etc/samba/smb.conf
 +
 +
[...]
 +
[allusers]
 +
  comment = All Users
 +
  path = /home/shares/allusers
 +
  valid users = @users
 +
  force group = users
 +
  create mask = 0660
 +
  directory mask = 0771
 +
  writable = yes
 +
If you want all users to be able to read and write to their home directories via Samba, add the following lines to /etc/samba/smb.conf (make sure to comment out or delete the existing [homes] section!):
 +
 +
[...]
 +
[homes]
 +
    comment = Home Directories
 +
    browseable = no
 +
    valid users = %S
 +
    writable = yes
 +
    create mask = 0700
 +
    directory mask = 0700
 +
Now we restart Samba:
 +
 +
/etc/init.d/samba restart
 +
 +
 +
 +
4 Adding And Managing Users
 +
 +
In this example, I will add a user named tom. You can add as many users as you need in the same way, just replace the username tom with the desired username in the commands.
 +
 +
useradd tom -m -G users
 +
 +
Set a password for tom in the Linux system user database. If the user tom should not be able to log in to the Linux system, skip this step.
 +
 +
passwd tom
 +
 +
-> Enter the password for the new user.
 +
 +
Now add the user to the Samba user database:
 +
 +
smbpasswd -a tom
 +
 +
-> Enter the password for the new user.
 +
 +
Now you should be able to log in from your Windows workstation with the file explorer (address is \\192.168.0.100 or \\192.168.0.100\tom for tom's home directory) using the username tom and the chosen password and store files on the Linux server either in tom's home directory or in the public shared directory.
 +
 +
  
 
{{Template:Raspberry Pi}}
 
{{Template:Raspberry Pi}}

Revision as of 10:56, 10 February 2012

Back to RPi Projects.


Raspberry Pi Network Attached Storage

This is very preliminary, do not try to follow these instructions.



What does it do?

What do you need?

  • A Raspberry Pi, model B.
  • A boot SD card for the Raspberry Pi. [What size? Needs to hold ISO image]
  • An Ethernet cable to connect to the local network.

How does it work?

Overview of this project

  1. General Preparation
  2. Configuring the Samba server on the RPi
  3. Configuring the Samba client on a Windows PC
  4. Configuring the Samba client on a Linux PC

General Preparation

Useful text

Copied from http://www.howtoforge.com/debian-squeeze-samba-standalone-server-with-tdbsam-backend

1 Preliminary Note I'm using a Debian Squeeze system here with the hostname server1.example.com and the IP address 192.168.0.100.


2 Installing Samba Connect to your server on the shell and install the Samba packages:

apt-get install libcups2 samba samba-common

You will see the following questions:

Workgroup/Domain Name: <-- WORKGROUP

Edit the smb.conf file:

nano /etc/samba/smb.conf

In the global section, remove the "#" at the beginning of the line security = user so it looks like this:

[...]
# "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
[...]

This enables Linux system users to log in to the Samba server.

Close the file and restart Samba:

/etc/init.d/samba restart


3 Adding Samba Shares

Now I will add a share that is accessible by all users. Create the directory for sharing the files and change the group to the users group:

mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers/
chmod -R ug+rwx,o+rx-w /home/shares/allusers/

At the end of the file /etc/samba/smb.conf add the following lines:

nano /etc/samba/smb.conf
[...]
[allusers]
  comment = All Users
  path = /home/shares/allusers
  valid users = @users
  force group = users
  create mask = 0660
  directory mask = 0771
  writable = yes

If you want all users to be able to read and write to their home directories via Samba, add the following lines to /etc/samba/smb.conf (make sure to comment out or delete the existing [homes] section!):

[...]
[homes]
   comment = Home Directories
   browseable = no
   valid users = %S
   writable = yes
   create mask = 0700
   directory mask = 0700

Now we restart Samba:

/etc/init.d/samba restart


4 Adding And Managing Users

In this example, I will add a user named tom. You can add as many users as you need in the same way, just replace the username tom with the desired username in the commands.

useradd tom -m -G users

Set a password for tom in the Linux system user database. If the user tom should not be able to log in to the Linux system, skip this step.

passwd tom
-> Enter the password for the new user.

Now add the user to the Samba user database:

smbpasswd -a tom
-> Enter the password for the new user.

Now you should be able to log in from your Windows workstation with the file explorer (address is \\192.168.0.100 or \\192.168.0.100\tom for tom's home directory) using the username tom and the chosen password and store files on the Linux server either in tom's home directory or in the public shared directory.