centos 修改菜单 centos7关闭防火墙命令

大家好,今天来为大家分享centos 修改菜单的一些知识点,和centos7关闭防火墙命令的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

【实用】CentOS 7系统优化脚本

作为一名运维人员,部署操作系统的任务经常重复,操作内容大同小异。为此,可以将相同的操作制作成统一执行的脚本,通过手动输入不同部分实现自动化操作,节省大量时间。最近发现了一款好用的shell源码,稍作修改后分享给大家。

脚本主要实现系统优化功能,包括修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等。

脚本结构如下:

1.主菜单

2.二级菜单

主要实现系统优化,如修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等功能。

脚本代码如下:

sh

#!/bin/sh

./etc/rc.d/init.d/functions

exportLANG=zh_CN.UTF-8

#一级菜单

menu1(){

clear

cat</etc/locale.conf</dev/null

echo'#firewall-cmd--state'

firewall-cmd--state

systemctldisablefirewalld.service&>/dev/null

echo'#systemctllist-unit-files|grepfirewalld'

systemctllist-unit-files|grepfirewalld

action"完成禁用firewalld,生产环境下建议启用!"/bin/true

echo"==========================================================="

sleep5

}

#精简开机启动

chkset(){

echo"=======================精简开机启动========================"

systemctldisableauditd.service

systemctldisablepostfix.service

systemctldisabledbus-org.freedesktop.NetworkManager.service

echo'#systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"'

systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"

action"完成精简开机启动"/bin/true

echo"==========================================================="

sleep2

}

#修改文件描述符

limitset(){

echo"======================修改文件描述符======================="

echo'*-nofile65535'>/etc/security/limits.conf

ulimit-SHn65535

echo"#cat/etc/security/limits.conf"

cat/etc/security/limits.conf

echo"#ulimit-Sn;ulimit-Hn"

ulimit-Sn;ulimit-Hn

action"完成修改文件描述符"/bin/true

echo"==========================================================="

sleep2

}

#安装常用工具及修改yum源

yumset(){

echo"=================安装常用工具及修改yum源==================="

yuminstallwget-y&>/dev/null

if[$?-eq0];then

cd/etc/yum.repos.d/

\cpCentOS-Base.repoCentOS-Base.repo.$(date+%F)

ping-c1mirrors.aliyun.com&>/dev/null

if[$?-eq0];then

wget-O/etc/yum.repos.d/CentOS-Base.repo

yumcleanall&>/dev/null

yummakecache&>/dev/null

else

echo"无法连接网络"

exit$?

fi

else

echo"wget安装失败"

exit$?

fi

yum-yinstallntpdatelsofnet-toolstelnetvimlrzsztreenmapncsysstat&>/dev/null

action"完成安装常用工具及修改yum源"/bin/true

echo"==========================================================="

sleep2

}

#优化系统内核

kernelset(){

echo"======================优化系统内核========================="

chk_nf=`cat/etc/sysctl.conf|grepconntrack|wc-l`

if[$chk_nf-eq0];then

cat>>/etc/sysctl.conf</dev/null

if[$?-eq0];then

/usr/sbin/

echo"*/5****/usr/sbin/ntpdatentp.aliyun.com&>/dev/null">>/var/spool/cron/root

else

echo"ntpdate安装失败"

exit$?

fi

action"完成设置时间同步"/bin/true

echo"==========================================================="

sleep2

}

#history优化

historyset(){

echo"========================history优化========================"

chk_his=`cat/etc/profile|grepHISTTIMEFORMAT|wc-l`

if[$chk_his-eq0];then

cat>>/etc/profile<<'EOF'

#设置history格式

exportHISTTIMEFORMAT="[%Y-%m-%d%H:%M:%S][`whoami`][`whoami|awk'{print$NF}'|sed-r's#[()]##g'`]:"

#记录shell执行的每一条命令

exportPROMPT_COMMAND='\ if[-z"$OLD_PWD"];then exportOLD_PWD=$PWD; fi; if[!-z"$LAST_CMD"&&["$(history1)"!="$LAST_CMD"];then logger-t`whoami`_shell_dir"[$OLD_PWD]$(history1)"; fi; exportLAST_CMD="$(history1)"; exportOLD_PWD=$PWD;' EOF

source/etc/profile

else

echo"优化项已存在。"

fi

action"完成history优化"/bin/true

echo"==========================================================="

sleep2

}

main(){

menu1

case$num1in

1) localeset selinuxset firewalldset chkset limitset yumset kernelset sshset restartset ntpdateset historyset;;

2) menu2

case$num2in

1) localeset;;

2) selinuxset;;

3) firewalldset;;

4) chkset;;

5) limitset;;

6) yumset;;

7) kernelset;;

8) sshset;;

9) restartset;;

10) ntpdateset;;

11) historyset;;

12) main;;

13) exit;;

*) echo'Pleaseselectanumberfrom[1-13].';;

esac

;;

3) exit;;

*) echo'Err:Pleaseselectanumberfrom[1-3].' sleep3 main;;

esac

}

main$*

将脚本保存为init.sh,赋予执行权限并执行即可。

chmod+xinit.sh&&./init.sh

通过一键命令执行,同样能达到脚本的效果:

bash-c"$(curl-Ls.aaa.al/init.sh)"

如需新增功能,可在脚本基础上进行修改实现。

本书从实用角度出发,结合实际应用案例,模拟真实的系统环境,介绍电脑的使用方法与技巧,旨在帮助读者全面、系统地掌握电脑的应用。书中“高手支招”板块提供大量实用技巧,解决日常工作中遇到的常见问题。

centos如何进入单用户模式

掌握单用户模式:三种方法让你轻松修复 CentOS/RHEL 7/8系统

在面临系统问题时,单用户模式或维护模式是个强大工具,超级用户可以在此环境中进行修复和管理。当常规多用户模式无法解决问题时,它便能派上用场,例如遇到无法登录、文件系统损坏或网络接口不工作的情况。

启动方式一:rd.break参数引导至单用户模式

首先,我们通过内核参数rd.break来启动。重启系统,进入GRUB2引导界面,选择你想启动的内核,然后按下e键进行编辑。对于RHEL/CentOS 7,查找"linux16",在末尾添加"rd.break",按Ctrl+x或F10启动。在RHEL/CentOS 8,寻找"linux"并进行同样操作。这将使根文件系统以只读模式挂载,然后通过mount-o remount,rw/sysroot切换至读写模式并执行chroot/sysroot以进入单用户环境。修复问题后,创建/.autorelabel文件并重启系统。

方式二:内核命令替换引导至单用户模式

第二种方法是替换内核启动参数。在GRUB2界面,将"rhgb quiet"替换为"init=/bin/bash"或"init=/bin/sh",然后启动。默认会以只读模式挂载,用mount-o remount,rw/切换,执行任务后执行touch/.autorelabel,最后重启系统。

方式三:rw参数启动单用户模式

第三种途径是通过修改内核参数中的"ro"为"rw init=/sysroot/bin/sh"。在引导菜单中,选择目标内核,编辑参数,替换后按Enter启动。接下来,用chroot/sysroot进入单用户环境,处理问题后,创建/.autorelabel文件并重启。

以上三种方法适用于 CentOS/RHEL 7/8系统,旨在帮助用户在遇到特定问题时以单用户模式进行操作。无论你是忘记密码、检查文件系统一致性,还是解决挂载点问题,这些技巧都将大大提高你的系统维护效率。

CentOS桌面菜单如何编辑和配置

相关配置文件:

/usr/share/applications目录中的*.desktop文件

相关目录:

$HOME/.config/menus

/etc/xdg/menus

/usr/share/desktop-directories

修改后一般要更新数据库:

updatedb,update-desktop-database

update-desktop-database和update-desktop-*系列程序都位于xdg-utils包中

--------------------------------------------------------------------------------------------------------------------------

qt4-qtconfig位于System-Administration,现在要把它更改到Applications--Programming菜单下面:

更改(vim/usr/share/applications/qt4-qtconfig.desktop)其中的

Categories=Qt;Settings;为 Categories=Qt;Development;

为何不是Categories=Qt;Programming;呢?

切换到/usr/share/desktop-directories目录下面:

[root@localhost desktop-directories]# grep Programming*

Development.directory:Name=Programming

Development.directory:Name[en_CA]=Programming

Development.directory:Name[en_GB]=Programming

Development-More.directory:Name=More Programming Tools

Development-More.directory:Name[en_GB]=More Programming Tools

打开Development.directory文件,开头如下

[Desktop Entry]

Name=Programming

....................

说明Categories=Development在菜单中对应的就是Programming菜单目录。

最后,Categories=Qt;Development;同样可以写成Categories=Development;

如果想在Applications菜单项中添加一个新的菜单目录,可以通过添加/etc/xdg/menus目录中的条目来完成;

其中Menu二级目录中的条目正好和桌面Applications中的条目相等。对于条目内容为空的,在Applications中将不会显示;比如在applications.menu文件中写有Education目录菜单,但是因为在/usr/share/applications目录下面列举的程序没有程序使用

Categories=Education;

所以,在Applications目录菜单中,没有Education子目录菜单。尝试修改任何一个.desktop文件(qt4- qtconfig.desktop),把Categories改成Education,立刻就会在Applications目录菜单中显示出 Applications--Education---qt4 config

(rpm-qi xdg-utils-1.0.2-2.fc8)The following scripts are provided at this time:

* xdg-desktop-menu Install desktop menu items

* xdg-desktop-icon Install icons to the desktop

* xdg-icon-resource Install icon resources

* xdg-mime Query information about file type handling and

install descriptions for new file types

* xdg-open Open a file or URL in the user's preferred application

* xdg-email Send mail using the user's preferred e-mail composer

* xdg-screensaver Control the screensaver

===========================================

[root@localhost menus]# pwd

/etc/xdg/menus

[root@localhost menus]# ll

total 60

-rw-r--r-- 1 root root 12282 Dec 6 16:01 applications.menu

drwxr-xr-x 2 root root 4096 Nov 9 17:16 applications-merged

-rw-r--r-- 1 root root 488 Jul 6 16:58 gnome-screensavers.menu

-rw-r--r-- 1 root root 279 Sep 10 2005 kde-information.menu

-rw-r--r-- 1 root root 288 Sep 10 2005 kde-screensavers.menu

-rw-r--r-- 1 root root 2198 Aug 10 15:03 kde-settings.menu

-rw-r--r-- 1 root root 3020 Oct 19 23:53 preferences.menu

drwxr-xr-x 2 root root 4096 Oct 19 23:53 preferences-merged

drwxr-xr-x 2 root root 4096 Nov 9 17:19 preferences-post-merged

-rw-r--r-- 1 root root 1241 Oct 19 23:53 server-settings.menu

-rw-r--r-- 1 root root 1127 Oct 19 23:53 settings.menu

-rw-r--r-- 1 root root 920 Oct 19 23:53 start-here.menu

-rw-r--r-- 1 root root 3294 Oct 19 23:53 system-settings.menu

applications.menu文件可以设置在菜单项中是否包含某个菜单项,甚至可以exclude.

疑问).desktop文件所执行程序的查询路径是什么?

答:执行程序时路径设置在PATH环境变量中,.desktop文件通过其中的exec来指定要执行的应用程序,并在PATH所定义的路径中查找相应的应用程序。可以通过如下方式查看:

[root@localhost~]# echo$PATH

/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

疑问).desktop文件是如何执行可执行应用程序的?

答:可以先看一个简单的.desktop文件内容:

[root@localhost~]# cat/usr/share/applications/amule.desktop

[Desktop Entry]

Encoding=UTF-8

//编码方式

Name=aMule

//应用程序名称,

Comment=aMule

//鼠标经过上面时的提示名称

Exec=amule

//可执行应用程序的实际名称

Icon=amule.png

//显示在菜单项中的图标,可以为空

Terminal=false

//是否使用终端

Type=Application

//分类

Categories=Application;Network;//分类

.desktop文件通过上述Exec=amule知道了应用程序的名称,并且区分大小写,并在PATH环境变量所默认设定的路径中查找,查找到即可执行,查找不到则报错,除非用户自己在PATH中设定了此应用程序所处的特殊路径。

阅读剩余
THE END