Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [offen] root Rechte für exec()

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

[offen] root Rechte für exec()

[offen] root Rechte für exec()

Scheduled Pinned Locked Moved Skripten / Logik
javascript
55 Posts 10 Posters 10.4k Views 8 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    aleks-83
    wrote on last edited by
    #34

    Hallo,

    ich habe auch (wieder) ein Problem mit den Rechten meiner Installation.
    Es lief ca. 6 Monate, und jetzt seit 2 Monaten läuft es nicht mehr.
    Ob es mit einem Update zusammenhängt oder andere Ursachen hat kann ich jetzt nicht mehr sagen.
    Mir ist es erst jetzt aufgefallen.

    Wenn jemand bei mir klingelt kopiere ich Snapshots der Kamera auf ein NAS.
    mit dem Befehl

    cp -r /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/Set1/ /mnt/DS112/FOTO/Besucherfotos/2019/2019.08.06_14.19.11/
    

    Dieser wird wohl auch immer noch abgesetzt, aber nicht mehr korrekt umgesetzt. Denn die Fotos liegen zwar im iobroker, aber nicht auf dem NAS. (Die letzten wurden eben vor 2 Monaten raus kopiert)
    Wenn ich den Befehl im putty eingebe (angemeldet als root), funktioniert es.
    In der sudoers.d habe ich folgende Anpassung gemacht:

    iobroker        ALL=(ALL) NOPASSWD: /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/
    

    Das scheint aber nicht auszureichen. Es funktioniert trotzdem nicht.

    Was kann ich noch tun?

    = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
    = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

    Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
    Glasfaser 400

    AlCalzoneA 1 Reply Last reply
    0
    • SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      wrote on last edited by
      #35

      Hat denn der User "iobroker" überhaupt Schreibrechte auf deinem NAS?

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      1 Reply Last reply
      0
      • A aleks-83

        Hallo,

        ich habe auch (wieder) ein Problem mit den Rechten meiner Installation.
        Es lief ca. 6 Monate, und jetzt seit 2 Monaten läuft es nicht mehr.
        Ob es mit einem Update zusammenhängt oder andere Ursachen hat kann ich jetzt nicht mehr sagen.
        Mir ist es erst jetzt aufgefallen.

        Wenn jemand bei mir klingelt kopiere ich Snapshots der Kamera auf ein NAS.
        mit dem Befehl

        cp -r /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/Set1/ /mnt/DS112/FOTO/Besucherfotos/2019/2019.08.06_14.19.11/
        

        Dieser wird wohl auch immer noch abgesetzt, aber nicht mehr korrekt umgesetzt. Denn die Fotos liegen zwar im iobroker, aber nicht auf dem NAS. (Die letzten wurden eben vor 2 Monaten raus kopiert)
        Wenn ich den Befehl im putty eingebe (angemeldet als root), funktioniert es.
        In der sudoers.d habe ich folgende Anpassung gemacht:

        iobroker        ALL=(ALL) NOPASSWD: /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/
        

        Das scheint aber nicht auszureichen. Es funktioniert trotzdem nicht.

        Was kann ich noch tun?

        AlCalzoneA Offline
        AlCalzoneA Offline
        AlCalzone
        Developer
        wrote on last edited by
        #36

        @aleks-83 sagte in [offen] root Rechte für exec():

        In der sudoers.d habe ich folgende Anpassung gemacht:
        iobroker ALL=(ALL) NOPASSWD: /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/

        In der sudoers.d musst du Befehle angeben, nicht Ordnerpfade. Überprüfe mal, was @SBorg gefragt hat. iobroker bzw. ein User mit der gleichen UID benötigt Schreibzugriff aufs NAS.

        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

        1 Reply Last reply
        0
        • A Offline
          A Offline
          aleks-83
          wrote on last edited by aleks-83
          #37

          Der user "iobroker" ist im WebInterface der Synology mit Schreibrechten in dem Verzeichnis angelegt.
          ist dieser user dann nur für das WebInterface oder ist ein kompletter "Linux-User"?

          in der /etc/passwd steht der user folgendermaßen drin.
          Hat es damit überhaupt was zu tun? 🙃

          iobroker:x:1028:100:iobroker:/var/services/homes/iobroker:/bin/sh
          

          Wenn ich mich als root per putty am iobroker anmelde und den cp Befehl ausführe geht es ja.
          Über welchen user läuft das denn dann am NAS?

          Als "iobroker" kann ich mich per putty nicht am iobroker anmelden. Das Fenster schließt immer sofort wieder wenn ich das pw eingegeben habe. Ist das normal?

          = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
          = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

          Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
          Glasfaser 400

          AlCalzoneA 1 Reply Last reply
          0
          • A aleks-83

            Der user "iobroker" ist im WebInterface der Synology mit Schreibrechten in dem Verzeichnis angelegt.
            ist dieser user dann nur für das WebInterface oder ist ein kompletter "Linux-User"?

            in der /etc/passwd steht der user folgendermaßen drin.
            Hat es damit überhaupt was zu tun? 🙃

            iobroker:x:1028:100:iobroker:/var/services/homes/iobroker:/bin/sh
            

            Wenn ich mich als root per putty am iobroker anmelde und den cp Befehl ausführe geht es ja.
            Über welchen user läuft das denn dann am NAS?

            Als "iobroker" kann ich mich per putty nicht am iobroker anmelden. Das Fenster schließt immer sofort wieder wenn ich das pw eingegeben habe. Ist das normal?

            AlCalzoneA Offline
            AlCalzoneA Offline
            AlCalzone
            Developer
            wrote on last edited by
            #38

            @aleks-83 sagte in [offen] root Rechte für exec():

            Als "iobroker" kann ich mich per putty nicht am iobroker anmelden. Das Fenster schließt immer sofort wieder wenn ich das pw eingegeben habe. Ist das normal?

            Der User iobroker hat keine Anmeldeshell, das ist normal. Du brauchst auf dem NAS einen User, der die gleiche UID hat wie der User iobroker mit dem ioBroker ausgeführt wird - zu ermitteln mit id -u iobroker. Dieser User benötigt Schreibrechte.
            Skripte etc werden nämlich als User iobroker ausgeführt und haben damit nur dessen Berechtigungen.

            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

            1 Reply Last reply
            0
            • A Offline
              A Offline
              aleks-83
              wrote on last edited by
              #39

              OK, danke.

              Die UIDs sind auf beiden Seiten gleich (1028)

              = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
              = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

              Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
              Glasfaser 400

              1 Reply Last reply
              0
              • SBorgS Offline
                SBorgS Offline
                SBorg
                Forum Testing Most Active
                wrote on last edited by
                #40

                Versuche doch mal was er da als Fehler ausgibt:

                sudo -u iobroker cp -r /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/Set1/ /mnt/DS112/FOTO/Besucherfotos/2019/2019.08.06_14.19.11/
                

                LG SBorg ( SBorg auf GitHub)
                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  aleks-83
                  wrote on last edited by
                  #41
                  root@ioBroker:~# sudo -u iobroker cp -r /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/Set1/ /mnt/DS112/FOTO/Besucherfotos/2019/
                  cp: auf '/mnt/DS112/FOTO/Besucherfotos/2019/' konnte nicht zugegriffen werden: Keine Berechtigung
                  

                  Die Rechte im gemounteten Verzeichnis sehen so aus:

                  root@ioBroker:~# ls -ldh /mnt/DS112/FOTO/Besucherfotos/
                  drwx------ 9 nobody users 4,0K Jun 19 09:16 /mnt/DS112/FOTO/Besucherfotos/
                  

                  = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                  = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                  Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                  Glasfaser 400

                  SBorgS 1 Reply Last reply
                  0
                  • A aleks-83
                    root@ioBroker:~# sudo -u iobroker cp -r /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/Set1/ /mnt/DS112/FOTO/Besucherfotos/2019/
                    cp: auf '/mnt/DS112/FOTO/Besucherfotos/2019/' konnte nicht zugegriffen werden: Keine Berechtigung
                    

                    Die Rechte im gemounteten Verzeichnis sehen so aus:

                    root@ioBroker:~# ls -ldh /mnt/DS112/FOTO/Besucherfotos/
                    drwx------ 9 nobody users 4,0K Jun 19 09:16 /mnt/DS112/FOTO/Besucherfotos/
                    
                    SBorgS Offline
                    SBorgS Offline
                    SBorg
                    Forum Testing Most Active
                    wrote on last edited by
                    #42

                    @aleks-83 sagte in [offen] root Rechte für exec():

                    Keine Berechtigung

                    Jo, ist wohl ziemlich eindeutig 🙂
                    Das Verzeichnis hat auch nur "rwx", also kann nur "nobody" schreiben/lesen/ausführen. Da stimmt etwas mit den Einstellungen der Berechtigungen (User und/oder [Unter-]Verzeichnis) deines NAS nicht.

                    LG SBorg ( SBorg auf GitHub)
                    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      aleks-83
                      wrote on last edited by aleks-83
                      #43

                      Offenbar...

                      Der user iobroker auf dem NAS hat iwie keinen Zugriff mehr auf die Ordnerebene

                      iobroker@DS112Plus:~$ ls -ldh /DS112/FOTO/Besucherfotos/
                      ls: cannot access /DS112/FOTO/Besucherfotos/: No such file or directory
                      iobroker@DS112Plus:~$ cd /DS112/
                      -sh: cd: /DS112/: No such file or directory
                      iobroker@DS112Plus:~$ dir
                      total 20
                      drwxr-xr-x  5 iobroker users 4096 Aug  7 08:20 .
                      drwxrwxrwx 10 root     root  4096 Jul 29 16:06 ..
                      drwxr-xr-x  3 iobroker users 4096 Aug  7 08:20 CloudStation
                      drwx------  2 iobroker users 4096 May 16 00:00 .Maildir
                      drwxr-xr-x  2 iobroker users 4096 Mar 15 13:17 www
                      iobroker@DS112Plus:~$
                      
                      

                      habe es mal per FTP getestet. Per iobroker angemeldet habe ich Zugriff bis auf die Ebene /DS112/FOTO/Besucherfotos/ tiefer rein darf ich aber nicht.

                      = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                      = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                      Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                      Glasfaser 400

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        aleks-83
                        wrote on last edited by aleks-83
                        #44

                        Ich bin bisher nicht weiter gekommen.
                        Hat noch jemand eine Idee?

                        Per FTP als user "iobroker" komme ich bis ins Verzeichnis /DS112/FOTO/Besucherfotos/ in das 2019 komme ich dann nicht mehr. Ich bekomme ich die Meldung

                        Permission denied.
                        Error code: 3
                        Error message from server: Permission denied
                        

                        Wenn ich per SSH versuche in die Verzeichnisse zu schauen erhalte ich schon bei Besucherfotos die Meldung:

                        iobroker@DS112Plus:/volume1/DS112/FOTO$ cd Besucherfotos/
                        -sh: cd: Besucherfotos/: Permission denied
                        

                        = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                        = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                        Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                        Glasfaser 400

                        AlCalzoneA 1 Reply Last reply
                        0
                        • A aleks-83

                          Ich bin bisher nicht weiter gekommen.
                          Hat noch jemand eine Idee?

                          Per FTP als user "iobroker" komme ich bis ins Verzeichnis /DS112/FOTO/Besucherfotos/ in das 2019 komme ich dann nicht mehr. Ich bekomme ich die Meldung

                          Permission denied.
                          Error code: 3
                          Error message from server: Permission denied
                          

                          Wenn ich per SSH versuche in die Verzeichnisse zu schauen erhalte ich schon bei Besucherfotos die Meldung:

                          iobroker@DS112Plus:/volume1/DS112/FOTO$ cd Besucherfotos/
                          -sh: cd: Besucherfotos/: Permission denied
                          
                          AlCalzoneA Offline
                          AlCalzoneA Offline
                          AlCalzone
                          Developer
                          wrote on last edited by
                          #45

                          @aleks-83 sagte in [offen] root Rechte für exec():

                          Permission denied

                          Was sagt ls -la in diesem Ordner?

                          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                          A 1 Reply Last reply
                          0
                          • AlCalzoneA AlCalzone

                            @aleks-83 sagte in [offen] root Rechte für exec():

                            Permission denied

                            Was sagt ls -la in diesem Ordner?

                            A Offline
                            A Offline
                            aleks-83
                            wrote on last edited by aleks-83
                            #46

                            @AlCalzone sagte in [offen] root Rechte für exec():

                            @aleks-83 Bitte die vollständige Ausgabe posten, nicht beschreiben

                            iobroker@DS112Plus:/volume1/DS112/FOTO$ ls -la
                            total 1608
                            drwxrwxrwx  37 admin users    4096 Jun 19 09:11 .
                            drwxrwxrwx  15 root  root     4096 Mar 29 12:31 ..
                            drwxrwxrwx  14 admin users    4096 Apr 28 19:02 2018
                            drwxrwxrwx   7 admin users    4096 Jun 20 15:30 2019
                            drwx------   9 admin users    4096 Jun 19 09:16 Besucherfotos
                            

                            Habe ein paar Zeilen zwischen drin weg genommen.

                            = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                            = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                            Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                            Glasfaser 400

                            AlCalzoneA 1 Reply Last reply
                            0
                            • A aleks-83

                              @AlCalzone sagte in [offen] root Rechte für exec():

                              @aleks-83 Bitte die vollständige Ausgabe posten, nicht beschreiben

                              iobroker@DS112Plus:/volume1/DS112/FOTO$ ls -la
                              total 1608
                              drwxrwxrwx  37 admin users    4096 Jun 19 09:11 .
                              drwxrwxrwx  15 root  root     4096 Mar 29 12:31 ..
                              drwxrwxrwx  14 admin users    4096 Apr 28 19:02 2018
                              drwxrwxrwx   7 admin users    4096 Jun 20 15:30 2019
                              drwx------   9 admin users    4096 Jun 19 09:16 Besucherfotos
                              

                              Habe ein paar Zeilen zwischen drin weg genommen.

                              AlCalzoneA Offline
                              AlCalzoneA Offline
                              AlCalzone
                              Developer
                              wrote on last edited by
                              #47

                              @aleks-83 Bitte die vollständige Ausgabe posten, nicht beschreiben

                              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                              1 Reply Last reply
                              0
                              • A Offline
                                A Offline
                                aleks-83
                                wrote on last edited by aleks-83
                                #48

                                Habe meinen alten post editiert...

                                Aber jetzt habe ich in der NAS Oberfläche nachgesehen.
                                Dort hatte der gesamte Ordner nicht genug Berechtigungen.
                                Nur der Besitzer durfte Lesen, Schreiben, Löschen.
                                Habs geändert. und es geht !

                                Ich dachte eigentlich dass ich den Ordner per SSH mit dem user iobroker erstellt hatte, aber dem war wohl nicht so.
                                Danke für eure Hilfe !

                                c4f1633f-24d0-41fc-a2ae-cad9b7744aff-image.png

                                = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                                = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                                Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                                Glasfaser 400

                                AlCalzoneA 1 Reply Last reply
                                0
                                • A aleks-83

                                  Habe meinen alten post editiert...

                                  Aber jetzt habe ich in der NAS Oberfläche nachgesehen.
                                  Dort hatte der gesamte Ordner nicht genug Berechtigungen.
                                  Nur der Besitzer durfte Lesen, Schreiben, Löschen.
                                  Habs geändert. und es geht !

                                  Ich dachte eigentlich dass ich den Ordner per SSH mit dem user iobroker erstellt hatte, aber dem war wohl nicht so.
                                  Danke für eure Hilfe !

                                  c4f1633f-24d0-41fc-a2ae-cad9b7744aff-image.png

                                  AlCalzoneA Offline
                                  AlCalzoneA Offline
                                  AlCalzone
                                  Developer
                                  wrote on last edited by
                                  #49

                                  @aleks-83 sagte in [offen] root Rechte für exec():

                                  Aber jetzt habe ich in der NAS Oberfläche nachgesehen.

                                  Du hättest es auch hier gesehen:

                                  drwx------ 9 >>admin<< users 4096 Jun 19 09:16 Besucherfotos

                                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                  A 1 Reply Last reply
                                  0
                                  • AlCalzoneA AlCalzone

                                    @aleks-83 sagte in [offen] root Rechte für exec():

                                    Aber jetzt habe ich in der NAS Oberfläche nachgesehen.

                                    Du hättest es auch hier gesehen:

                                    drwx------ 9 >>admin<< users 4096 Jun 19 09:16 Besucherfotos

                                    A Offline
                                    A Offline
                                    aleks-83
                                    wrote on last edited by
                                    #50

                                    Wie läuft das denn mit root und exec per blockly unter windows?

                                    = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                                    = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                                    Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                                    Glasfaser 400

                                    AlCalzoneA 1 Reply Last reply
                                    0
                                    • A aleks-83

                                      Wie läuft das denn mit root und exec per blockly unter windows?

                                      AlCalzoneA Offline
                                      AlCalzoneA Offline
                                      AlCalzone
                                      Developer
                                      wrote on last edited by
                                      #51

                                      @aleks-83 Root gibt's auf Windows nicht. Daher auch kein sudo und das dazugehörige Geklüngel.

                                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                      A 1 Reply Last reply
                                      1
                                      • AlCalzoneA AlCalzone

                                        @aleks-83 Root gibt's auf Windows nicht. Daher auch kein sudo und das dazugehörige Geklüngel.

                                        A Offline
                                        A Offline
                                        aleks-83
                                        wrote on last edited by
                                        #52

                                        @alcalzone
                                        Also unter Windows auch kein exec()?
                                        Weil meine exec Befehle funktionieren nicht. (Siehe oben verlinkten Thread)

                                        = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                                        = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                                        Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                                        Glasfaser 400

                                        AlCalzoneA 1 Reply Last reply
                                        0
                                        • A aleks-83

                                          @alcalzone
                                          Also unter Windows auch kein exec()?
                                          Weil meine exec Befehle funktionieren nicht. (Siehe oben verlinkten Thread)

                                          AlCalzoneA Offline
                                          AlCalzoneA Offline
                                          AlCalzone
                                          Developer
                                          wrote on last edited by
                                          #53

                                          @aleks-83 Was ist denn der Fehler? Wenn ein exec nicht geht, sollte der zumindest im Callback ankommen.

                                          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                          A 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          231

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe