96c622783a5104cc88385275100acdcac22145eb
[src/app-framework-main.git] / doc / afm-system-daemon.html
1 <html>
2 <head>
3   <link rel="stylesheet" type="text/css" href="doc.css">
4   <meta charset="UTF-8">
5 </head>
6 <body>
7 <a name="The.afm-system-daemon"></a>
8 <h1>The afm-system-daemon</h1>
9
10 <pre><code>version: 1
11 Date:    14 March 2016
12 Author:  José Bollo
13 </code></pre>
14
15 <a name="Organisation.of.directory.of.applications"></a>
16 <h1>Organisation of directory of applications</h1>
17
18 <p>The main path for applivcations are: APPDIR/PKGID/VER.</p>
19
20 <p>Where:</p>
21
22 <ul>
23 <li>APPDIR is as defined above</li>
24 <li>PKGID is a directory whose name is the package identifier</li>
25 <li>VER is the version of the package MAJOR.MINOR</li>
26 </ul>
27
28
29 <p>This organisation has the advantage to allow several versions to leave together.
30 This is needed for some good reasons (rolling back) and also for less good reasons (user habits).</p>
31
32 <a name="Identity.of.installed.files"></a>
33 <h2>Identity of installed files</h2>
34
35 <p>All the files are installed as the user &ldquo;userapp&rdquo; and group &ldquo;userapp&rdquo;.
36 All files have rw(x) for user and r-(x) for group and others.</p>
37
38 <p>This allows any user to read the files.</p>
39
40 <a name="Labelling.the.directories.of.applications"></a>
41 <h2>Labelling the directories of applications</h2>
42
43 <a name="Organisation.of.data"></a>
44 <h1>Organisation of data</h1>
45
46 <p>The data of a user are in its directory and are labelled using the labels of the application</p>
47
48 <a name="Setting.Smack.rules.for.the.application"></a>
49 <h1>Setting Smack rules for the application</h1>
50
51 <p>For Tizen, the following rules are set by the security manager for each application.</p>
52
53 <pre><code>System ~APP~             rwx
54 System ~PKG~             rwxat
55 System ~PKG~::RO         rwxat
56 ~APP~  System            wx
57 ~APP~  System::Shared    rxl
58 ~APP~  System::Run       rwxat
59 ~APP~  System::Log       rwxa
60 ~APP~  _                 l
61 User   ~APP~             rwx
62 User   ~PKG~             rwxat
63 User   ~PKG~::RO         rwxat
64 ~APP~  User              wx
65 ~APP~  User::Home        rxl
66 ~APP~  User::App::Shared rwxat
67 ~APP~  ~PKG~             rwxat
68 ~APP~  ~PKG~::RO         rxl
69 </code></pre>
70
71 <p>Here, ~PKG~ is the identifier of the package and ~APP~ is the identifier of the application.</p>
72
73 <a name="What.user.can.run.an.application."></a>
74 <h1>What user can run an application?</h1>
75
76 <p>Not all user are able to run all applications.
77 How to manage that?</p>
78 </body>
79 </html>