The Following 4 Users Say Thank You to pichlo For This Useful Post: | ||
|
2016-02-15
, 11:38
|
Community Council |
Posts: 4,920 |
Thanked: 12,867 times |
Joined on May 2012
@ Southerrn Finland
|
#12
|
The Following 5 Users Say Thank You to juiceme For This Useful Post: | ||
|
2016-02-15
, 11:45
|
|
Posts: 6,447 |
Thanked: 20,981 times |
Joined on Sep 2012
@ UK
|
#13
|
The Following 5 Users Say Thank You to pichlo For This Useful Post: | ||
|
2016-02-15
, 12:33
|
Community Council |
Posts: 4,920 |
Thanked: 12,867 times |
Joined on May 2012
@ Southerrn Finland
|
#14
|
@juiceme, wonderful!
I would add,
- abolish any hard-coded names: on the first boot, the user chooses the user name
There is already the "choose your colour" thing on the first boot, without any explanation WTF that is for. Choosing the user name would make more sense, IMHO.
The Following 4 Users Say Thank You to juiceme For This Useful Post: | ||
|
2016-02-15
, 22:02
|
|
Posts: 654 |
Thanked: 2,368 times |
Joined on Jul 2014
@ UK
|
#15
|
you can add and remove repos at will, as a user, using just GUI tools (Warehouse or simply tick the "allow untrusted sources" box in Settings). You do not need the root password at all.
Or planting a malicious app yourself and running pkcon install-local. That also works without root and allows you to really gain a root access in 30 seconds remotely, once you brute-force your way in as a user.
nemo ~ $ cat /usr/share/polkit-1/actions/org.freedesktop.packagekit.policy | grep -v "[message|description] xml" <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd"> <policyconfig> <vendor>The PackageKit Project</vendor> <vendor_url>http://www.packagekit.org/</vendor_url> <icon_name>package-x-generic</icon_name> <action id="org.freedesktop.packagekit.cancel-foreign"> <description>Cancel foreign task</description> <message>Authentication is required to cancel a task that was not started by yourself</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>auth_admin_keep</allow_active> </defaults> </action> <action id="org.freedesktop.packagekit.package-install"> <description>Install signed package</description> <message>Authentication is required to install a package</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> <action id="org.freedesktop.packagekit.package-install-untrusted"> <description>Install untrusted local file</description> <message>Authentication is required to install an untrusted package</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>auth_admin</allow_active> </defaults> <annotate key="org.freedesktop.policykit.imply">org.freedesktop.packagekit.package-install</annotate> </action> <action id="org.freedesktop.packagekit.system-trust-signing-key"> <description>Trust a key used for signing packages</description> <message>Authentication is required to consider a key used for signing packages as trusted</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>auth_admin</allow_active> </defaults> </action> <action id="org.freedesktop.packagekit.package-eula-accept"> <description>Accept EULA</description> <message>Authentication is required to accept a EULA</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> <action id="org.freedesktop.packagekit.package-remove"> <description>Remove package</description> <message>Authentication is required to remove packages</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>auth_admin_keep</allow_active> </defaults> <annotate key="org.freedesktop.policykit.imply">org.freedesktop.packagekit.package-install</annotate> </action> <action id="org.freedesktop.packagekit.system-update"> <description>Update packages</description> <message>Authentication is required to update packages</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> <action id="org.freedesktop.packagekit.system-sources-configure"> <description>Change software source parameters</description> <message>Authentication is required to change software source parameters</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>auth_admin_keep</allow_active> </defaults> </action> <action id="org.freedesktop.packagekit.system-sources-refresh"> <description>Refresh system sources</description> <message>Authentication is required to refresh the system sources</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> <action id="org.freedesktop.packagekit.system-network-proxy-configure"> <description>Set network proxy</description> <message>Authentication is required to set the network proxy used for downloading packages</message> <icon_name>preferences-system-network-proxy</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> <action id="org.freedesktop.packagekit.device-rebind"> <description>Reload a device</description> <message>Authentication is required to reload the device with a new driver</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>yes</allow_active> </defaults> <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/pk-device-rebind</annotate> </action> <action id="org.freedesktop.packagekit.upgrade-system"> <description>Upgrade System</description> <message>Authentication is required to upgrade the operating system</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>auth_admin</allow_active> </defaults> </action> <action id="org.freedesktop.packagekit.repair-system"> <description>Repair System</description> <message>Authentication is required to repair the installed software</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>auth_admin</allow_active> </defaults> </action> <action id="org.freedesktop.packagekit.trigger-offline-update"> <description>Trigger offline updates</description> <message>Authentication is required to trigger offline updates</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>yes</allow_active> </defaults> <annotate key="org.freedesktop.policykit.exec.path">/usr/libexec/pk-trigger-offline-update</annotate> </action> <action id="org.freedesktop.packagekit.clear-offline-update"> <description>Clear offline update message</description> <message>Authentication is required to clear the offline updates message</message> <icon_name>package-x-generic</icon_name> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>yes</allow_active> </defaults> <annotate key="org.freedesktop.policykit.exec.path">/usr/libexec/pk-clear-offline-update</annotate> </action> </policyconfig>
nemo ~ $ pkcon install harbour-flashlight Installing Waiting in queue Starting Refreshing software list Querying Resolving dependencies Installing packages Installing Waiting in queue Waiting for authentication Waiting in queue Starting Refreshing software list Querying Resolving dependencies Installing packages Downloading packages Installing packages nemo ~ $ which harbour-flashlight /usr/bin/harbour-flashlight
Inactive sessions are generally remote sessions (SSH, VNC, etc.) whereas active sessions are logged directly into the machine on a TTY or an X display. allow_any is the setting encompassing both scenarios.
nemo ~ $ sudo cat /etc/polkit-1/localauthority.conf.d/50-localauthority.conf # Configuration file for the PolicyKit Local Authority. # # DO NOT EDIT THIS FILE, it will be overwritten on update. # # See the pklocalauthority(8) man page for more information # about configuring the Local Authority. # [Configuration] AdminIdentities=unix-group:wheel
nemo ~ $ groups nemo video users ssu timed oneshot system bluetooth graphics input audio camera mtp
nemo ~ $ sudo cat /etc/polkit-1/nullbackend.conf.d/50-nullbackend.conf # # Configuration file for the PolicyKit null backend. # # DO NOT EDIT THIS FILE, it will be overwritten on update. # # To change configuration, create another file in this directory with # a filename that is sorted after the 50-nullback.conf and make # sure it has the .conf extension. # # Only a single configuration item, Priority, is supported. # # See the PolicyKit documentation for more information about PolicyKit. # [Configuration] Priority=-10
nemo ~ $ rpm -qf /usr/lib/polkit-1/extensions/libnullbackend.so polkit-0.104-1.1.6.armv7hl
Sorry, that was a slight misunderstanding. I am not trying to pass it off as unimportant. All I am trying to say is that there is an even bigger hole gaping in the system in addition to the one you have pointed out.
What I do not understand is how can anyone try to pass Sailfish off as a secure OS. The only "security" we have ATM is through obscurity. The worst kind there is.
Tags |
devel-su, jolla, root access, sailfish, ssh daemon |
|
But I am a bit confused now. In a post just above, you listed a procedure assuming a physical access to the device. If you have that, you can add and remove repos at will, as a user, using just GUI tools (Warehouse or simply tick the "allow untrusted sources" box in Settings). You do not need the root password at all.
What I do not understand is how can anyone try to pass Sailfish off as a secure OS. The only "security" we have ATM is through obscurity. The worst kind there is.
Русский военный корабль, иди нахуй!