Changes

From SME Server
Jump to navigationJump to search
2,348 bytes added ,  17:55, 25 October 2008
How to set serial port permissions properly
Line 126: Line 126:  
This should be all you need. if you wish to monitor commands going through the X10 interface then in an open terminal window issue the command:
 
This should be all you need. if you wish to monitor commands going through the X10 interface then in an open terminal window issue the command:
 
  heyu monitor
 
  heyu monitor
 +
 +
===Use via another application===
 +
====Overview====
 +
As given in the references, heyu is often used by higher level applications such as web application. In this case, it should be noted that the application's identity will be passed to heyu and thus certain resources may not be accessible to the application. For example, the serial port (e.g. ttyS5) normally has the ownership of user=root,group=uucp, and permission 0660. Normally heyu can access this because it runs as root.
 +
 +
If however you have a web application it may be running as www hence would not be able to have heyu access the serial port. Group membership or memberships can be adjusted as needed with consideration to the security implications.
 +
 +
====Changing permission on serial port====
 +
In the case of the serial port, you could either modify its ownership or its permissions. In this example, we will allow others to have read/write permission specifically on the serial port of interest (e.g. ttyS5). By default udev only allows user and group with read/write and other has no access.
 +
 +
The serial port's permissions and ownership are recreated dynamically on reboot by '''udev'''. So we need to modify udev's rules to achieve our objective. Specifically the directory /etc/udev/permissions.d/ contains the permissions and in SME the default permissions are in /etc/udev/permissions.d/50-udev.permissions.
 +
 +
We will add a template to specifically override the permissions for our serial port.
 +
mkdir -p /etc/e-smith/templates-custom/etc/udev/permissions.d/
 +
touch /etc/e-smith/templates-custom/etc/udev/permissions.d/41-udev.heyu.permissions
 +
Edit the new file above (41-udev.heyu.permissions) using an editor with the contents as follows:
 +
# special exception to allow heyu running under www to access the relevant
 +
# serial port
 +
ttyS5:root:uucp:0666
 +
Now expand the template and reboot to verify the changes worked
 +
expand-template /etc/udev/permissions.d/41-udev.heyu.permissions
 +
signal-event reboot
 +
 +
After reboot verify that only your serial port has been changed.
 +
 +
=====Special notes=====
 +
Udev follows permission rules in the order in which they appear. So the serial port rule is named to preceed the default set of permissions (hence 41 at the beginning of the file).
 +
 +
This procedure works for CentOS 4 (SME 7) but will change in CentOS 5 (SME 8) to use rules.d instead.
    
===Documentation===
 
===Documentation===
147

edits

Navigation menu