Linux 日常命令

本文介绍了Linux系统中的几个关键命令,包括查看系统信息(uname-a,hostnamectl),权限提升与管理(sudo,visudo,su权限限制),用户账户创建(useradd),IP地址查看(ipa,hostname-I,ifconfig,curl),以及系统服务重启(systemctl,service)。

20230728    uname -a

        1)         uname  -a 

        2)        uname -rsm

          3)         cat /proc/version

          4)        hostnamectl     是 CentOS 7 及以上版本才增加的命令

       

20230727    sudo

sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。

sudo -i

运行结果 PWD=/root 

20230726    visudo

root把本来只能超级用户执行的命令赋予普通用户执行

 #修改的是/etc/sudoers文件

root                   ALL= (ALL)   ALL

# root 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)

# %wheel         ALL= (ALL)   ALL

# %wheel  被管理主机地址=(可使用的身份)  授权命令(绝对路径)

# %wheel         ALL= (ALL)  NOPASSWD: ALL

# %组名 被管理主机地址=(可使用的身份)  执行时不需要本账号密码:授权命令(绝对路径)

20230725    su

                Su与sudo的区别

        两个命令的最大区别是:sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。另外一个区别是其默认行为 sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。

 a) 限制只允许wheel组用户 使用su

环境一:Redhat 6、7

                1) 修改 /etc/pam.d/su 文件

                auth required pam_wheel.so use_uid  将首行的“#”去掉。

         或者 auth required pam_wheel.so group=wheel  和  auth sufficient pam_rootok.so  将首行的“#”去掉。

                2)修改 /etc/login.defs 文件

在最后一行增加“SU_WHEEL_ONLY yes”语句。


                将普通用户加入到wheel组:

                usermod -G wheel  rujf

                或者

                gpasswd -a rujf  wheel

                将普通用户踢出wheel组:

                 gpasswd -d rujf  wheel

              

环境二: SuSe 11、12 

        pam中针对这两种命令分别有配置文件进行控制,即 /etc/pam.d/su 和/etc/pam.d/su-l;因此,要实现限制非wheel用户切换到root,要在两个文件中都要增加一下内容: 

                auth required pam_wheel.so use_uid

        或者 

                auth required pam_wheel.so group=wheel 

                将普通用户加入到wheel组:

                usermod -G wheel  rujf

        将普通用户踢出wheel组:

                usermod -R wheel  rujf

20230801    useradd

        创建一个名为 rujf 的用户,同时创建家目录和设置初始密码: 

        useradd -m -p $(openssl passwd -1 MyPassword) rujf      #  -1 是数字1

useradd [选项] 用户名

选项
  • -m:创建用户时同时创建用户的家目录(默认情况下,用户的家目录是/home/用户名)。

  • -d:指定用户的家目录路径。

  • -s:指定用户的登录shell。

  • -g:指定用户的初始主组。

  • -G:指定用户的附加组。

  • -c:指定用户的注释/描述信息。

  • -p:设置用户的加密密码。可以使用openssl等工具生成加密的密码哈希值。

示例用法

创建一个名为 rujf  的用户,同时创建家目录和指定登录shell:

useradd -m -s /bin/bash rujf

 创建一个名为 rujf 的用户,指定家目录和登录shell:

useradd -m -d /home/rujf -s /bin/bash rujf

创建一个名为 wheel 的用户组,并将用户 rujf 添加到该组:

groupadd  wheel
useradd -m -g wheel rujf

补充:  

以下是一些额外的选项:

  • -u:指定用户的数值用户ID(UID)。

  • -o:允许使用非唯一的UID创建用户(通常与-u选项一起使用)。

  • -n:不创建与用户名相同的群组。

  • -r:创建系统账户。这些账户通常用于运行系统服务或应用程序,其UID值通常较低。

  • -e:指定用户账户的过期日期。

  • -f:指定用户账户的过期日期为从1970年1月1日算起的天数。

  • -k:指定一个模板目录,用于创建用户的家目录。模板目录中的文件和目录将被复制到新用户的家目录中。

另外,如果您使用的是Debian或Ubuntu等基于Debian的发行版,可以使用adduser命令代替useraddadduser是一个交互式的用户创建工具,会询问您需要的用户信息并进行配置。

例如,要使用adduser创建一个新用户,可以直接运行以下命令并按照提示操作: 

adduser 用户名

此外,如果您需要在创建用户时执行自定义的脚本或操作,可以通过修改/etc/skel/目录中的文件来实现。在使用useraddadduser命令创建用户时,会将/etc/skel/目录中的文件和目录复制到新用户的家目录中,作为初始模板。

这些是关于useradd命令的一些补充信息,以及一些相关的选项和替代命令。

20230908    ip a

1、使用ip命令 

这个命令同时会显示IPv4和IPv6地址:

ip addr show

如上图所示,我的 IPv4 地址是X.X.X.X

还看到了很多参数,我们来解释一下:

  • eth0@if2是接口的名称。

  • mtu 1500代表最大传输单元,等于 1500 字节,这是可以通过这个接口发送的最大帧大小。这通常是以太网协议限制设置的默认值,限制为 1500。如果发送更大的数据包,它会在到达以太网接口时被分片,并且其有效载荷将在 2 个或更多数据包中传输。

  • link/ether表示以太网是链路层协议

  • brd代表广播(广播)。

  • inet表示网络层协议为 IPv4。

  • lft代表终身。如果您通过 DHCP 获取此地址,则它指的是相对于 IP 地址的租用时间。 

我们再来看看ip addr show命令的简写: 

ip a 

 2、hostname

hostname也可以查看IP地址:

hostname -I

这将显示带有-I标志的主机名的 IP 地址(如果主机名可解析)。

此外,如果有多个主机网络地址,使用-I选项将显示所有主机网络地址。

3、ifconfig命令

ifconfig 是 Linux 中用来查询和配置网络接口卡(网卡)的命令,英文全称是network interfaces configuring。

使用 ifconfig 命令对网卡所做的配置都是临时配置,重启之后都会被还原的。如果要永久配置网卡则需要通过修改配置文件的方式。

首先,要使用此命令,您需要安装net-tools:

以下命令以Ubantu系统为例:

sudo apt install net-tools

 要查看系统上所有网络接口(包括非活动接口)的设置,请运行带有-a选项的 ifconfig 命令:

 ifconfig -a

4、curl命令 

 原则上,如果您的系统没有安装curl,请运行以下命令:

apt install curl

 然后在终端中输入以下命令:

curl ifconfig.me

因此,您的 IP 地址将以简单的方式显示,没有任何更多信息。

注意:这里的地址是您的公共 IP,由您的服务提供商提供,我这边是内网IP

20230908    systemctl 

Linux作为一款遵从GNU通用公共许可证(GPL)的多用户多任务的操作系统,由著名的全球性的自由软件社区Linux全球联合维护及开发。由于系统拥有稳定性好,运行资源消耗小,功能强大等特性,Linux具有应用服务器和工作站普及率较高,被广泛应用在Web服务器、数据库服务器、文件传输协议服务器、虚拟主机服务器等各种场景中。

维护Linux服务器,常常需要对启动的服务进行重启,以保证软件服务的正确性及安全性。以下就介绍Linux下常用服务重启的几种命令。

一、systemctl重启命令

systemctl是systemd的系统控制和服务管理实用程序,它可以管理Linux系统的所有服务。

重启单个服务:

systemctl restart 服务名

例如:

systemctl restart ssh

重启所有服务:

systemctl restart `systemctl | grep running | awk ‘{print $1}‘ `

二、service重启命令

Service实用程序提供了一组管理CentOS 6/7或RHEL默认服务的功能,可以单个或批量的重启服务。

重启单个服务:

service 服务名 restart

例如:

service sshd restart

重启所有服务:

找出所有启动的服务:

service –status-all

执行以下命令重启这些服务:

service `service –status-all | grep + | awk ‘{print $1}‘ ` restart

三、重启特定类型的服务

可以使用grep命令组合系统控制器(systemctl或service)来重启特定类型的服务。

重启所有mysql服务:

systemctl restart `systemctl | grep mysql | awk ‘{print $1}‘ `

以上就是Linux下服务重启命令的简单介绍,根据服务p操作不同,可以使用相关命令完成重启服务的操作。

20240612    change passwd for Mac

sudo bash

passwd:*** #当前密码,不是root

sudo passwd root

new passwd :****

Retype new password:****

20240613    shutdown for Mac

sudo shutdown -h now 立即关机

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值