summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Demin2025-09-04 12:36:56 +0000
committerRobert Marko2025-11-20 16:48:18 +0000
commiteb71d1000968ff45f6ed5aeda87a86548eb0685a (patch)
tree2d918da23c4f82edafd1155c14239df6ab1e5582
parentf7d6e73d598dc6442c27afde93e3f738ba052543 (diff)
downloadopenwrt-eb71d1000968ff45f6ed5aeda87a86548eb0685a.tar.gz
base-files: split /etc/profile
- move extra parts to /etc/profile.d/* - improve syntax and messages Signed-off-by: Konstantin Demin <rockdrilla@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19953 Signed-off-by: Robert Marko <robimarko@gmail.com>
-rw-r--r--package/base-files/files/etc/profile67
-rw-r--r--package/base-files/files/etc/profile.d/00-passwordless-root.sh11
-rw-r--r--package/base-files/files/etc/profile.d/apk-cheatsheet.sh21
3 files changed, 54 insertions, 45 deletions
diff --git a/package/base-files/files/etc/profile b/package/base-files/files/etc/profile
index f9acdb439f..9ce59c87e9 100644
--- a/package/base-files/files/etc/profile
+++ b/package/base-files/files/etc/profile
@@ -1,61 +1,38 @@
+unset FAILSAFE
[ -e /tmp/.failsafe ] && export FAILSAFE=1
[ -f /etc/banner ] && cat /etc/banner
-[ -n "$FAILSAFE" ] && cat /etc/banner.failsafe
+[ -n "$FAILSAFE" ] && [ -f /etc/banner.failsafe ] && cat /etc/banner.failsafe
-grep -Fsq '/ overlay ro,' /proc/mounts && {
- echo 'Your JFFS2-partition seems full and overlayfs is mounted read-only.'
- echo 'Please try to remove files from /overlay/upper/... and reboot!'
-}
+if grep -Fsq '/ overlay ro,' /proc/mounts ; then
+cat << EOF
+
+ === WARNING! ======================================
+ Your JFFS2-partition seems full and overlayfs is
+ mounted as READ-ONLY!
+ Please try to remove files from /overlay/upper/...
+ and reboot!
+ ---------------------------------------------------
+
+EOF
+fi
export PATH="%PATH%"
-export HOME=$(grep -e "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6)
-export HOME=${HOME:-/root}
+HOME=$(grep -E "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6)
+HOME=${HOME:-/root}
+export HOME
export PS1='\u@\h:\w\$ '
export ENV=/etc/shinit
case "$TERM" in
xterm*|rxvt*)
- export PS1='\[\e]0;\u@\h: \w\a\]'$PS1
- ;;
+ export PS1='\[\e]0;\u@\h: \w\a\]'"$PS1"
+ ;;
esac
-[ -n "$FAILSAFE" ] || {
- for FILE in /etc/profile.d/*.sh; do
- [ -e "$FILE" ] && . "$FILE"
+if [ -z "$FAILSAFE" ] ; then
+ for FILE in /etc/profile.d/*.sh ; do
+ [ -f "$FILE" ] && . "$FILE"
done
unset FILE
-}
-
-if ( grep -qs '^root::' /etc/shadow && \
- [ -z "$FAILSAFE" ] )
-then
-cat << EOF
-=== WARNING! =====================================
-There is no root password defined on this device!
-Use the "passwd" command to set up a new password
-in order to prevent unauthorized SSH logins.
---------------------------------------------------
-EOF
-fi
-
-if [ -x /usr/bin/apk ]; then
-cat << EOF
-
- OpenWrt recently switched to the "apk" package manager!
-
- OPKG Command APK Equivalent Description
- ------------------------------------------------------------------
- opkg install <pkg> apk add <pkg> Install a package
- opkg remove <pkg> apk del <pkg> Remove a package
- opkg upgrade apk upgrade Upgrade all packages
- opkg files <pkg> apk info -L <pkg> List package contents
- opkg list-installed apk info List installed packages
- opkg update apk update Update package lists
- opkg search <pkg> apk search <pkg> Search for packages
- ------------------------------------------------------------------
-
-For more https://openwrt.org/docs/guide-user/additional-software/opkg-to-apk-cheatsheet
-
-EOF
fi
diff --git a/package/base-files/files/etc/profile.d/00-passwordless-root.sh b/package/base-files/files/etc/profile.d/00-passwordless-root.sh
new file mode 100644
index 0000000000..fe98045e07
--- /dev/null
+++ b/package/base-files/files/etc/profile.d/00-passwordless-root.sh
@@ -0,0 +1,11 @@
+if grep -Esq '^root::' /etc/shadow ; then
+cat << EOF
+
+ === WARNING! =====================================
+ There is no root password defined on this device!
+ Use the "passwd" command to set up a new password
+ in order to prevent unauthorized SSH logins.
+ --------------------------------------------------
+
+EOF
+fi
diff --git a/package/base-files/files/etc/profile.d/apk-cheatsheet.sh b/package/base-files/files/etc/profile.d/apk-cheatsheet.sh
new file mode 100644
index 0000000000..4193367a1c
--- /dev/null
+++ b/package/base-files/files/etc/profile.d/apk-cheatsheet.sh
@@ -0,0 +1,21 @@
+if [ -x /usr/bin/apk ] ; then
+cat << EOF
+
+ OpenWrt recently switched to the "apk" package manager!
+
+ OPKG Command APK Equivalent Description
+ ------------------------------------------------------------------
+ opkg install <pkg> apk add <pkg> Install a package
+ opkg remove <pkg> apk del <pkg> Remove a package
+ opkg upgrade apk upgrade Upgrade all packages
+ opkg files <pkg> apk info -L <pkg> List package contents
+ opkg list-installed apk info List installed packages
+ opkg update apk update Update package lists
+ opkg search <pkg> apk search <pkg> Search for packages
+ ------------------------------------------------------------------
+
+For more information visit:
+https://openwrt.org/docs/guide-user/additional-software/opkg-to-apk-cheatsheet
+
+EOF
+fi