zoukankan      html  css  js  c++  java
  • Linux自有服务

    Linux自有服务

    自有服务,即不需要用户独立去安装的软件的服务,而是当系统安装好之后就可以直接使用的服务

    一、运行模式

    运行模式也称为运行级别
    在Linux中存在一个进程:init(initiialize,初始化),进程id是1
    查看进程:ps -ef|grep init

    [root@xiaxiangming ~]# ps -ef|grep init
    root        719      1  0 Jul31 ?        00:00:00 /usr/sbin/alsactl -s -n 19 -c -E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf --initfile=/lib/alsa/init/00main rdaemon
    root       2826      1  0 Jul31 ?        00:00:00 kdeinit4: kdeinit4 Runnin e
    root       2828   2826  0 Jul31 ?        00:00:00 kdeinit4: klauncher [kdei e
    root       2830      1  0 Jul31 ?        00:00:00 kdeinit4: kded4 [kdeinit]
    root      31417   2743  0 09:47 pts/0    00:00:00 grep --color=auto init
    

    该进程存在一个对应的配置文件:inittab(系统运行级别配置文件,位置/etc/inittab)
    centos 7文件主要内容:

    [root@xiaxiangming ~]# cat /etc/inittab 
    # inittab is no longer used when using systemd.
    #
    # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
    #
    # Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
    #
    # systemd uses 'targets' instead of runlevels. By default, there are two main targets:
    #
    # multi-user.target: analogous to runlevel 3
    # graphical.target: analogous to runlevel 5
    #
    # To view current default target, run:
    # systemctl get-default
    #
    # To set a default target, run:
    # systemctl set-default TARGET.target
    

    multi-user.target : 运行级别3(命令行)
    graphical.target : 运行级别5(图形界面)
    查看当前运行级别:
    systemctl get-default
    设置开机进入命令行:
    systemctl set-default multi-user.target
    设置开机进入图形界面:
    systemctl set-default graphical.target
    根据上述的描述,可以得知,Centos6中存在7种运行模式。
    0-表示关机级别(不要将默认的运行级别设置成0)
    1-单用户模式
    2-多用户模式,不带NFS(Network File System)
    3-多用户模式,完全的多用户模式
    4-没有被使用的模式(被保留模式)
    5-x11,完整的图形化界面模式
    6-表示重启级别(不要将默认的运行级别设置成这个值)
    与该级别相关的命令:

    #init 0    表示关机
    #init 3    表示切换到不带桌面的模式
    #init 5    表示切换到图形界面
    #init 6    重启电脑
    

    注意:init指令需要超级管理员的权限
    这些命令其实都是调用的init进程,将数字(运行级别)传递给进程,进程去度配置文件执行对应的操作。
    ①切换到纯命令行模式下(临时切换模式,重启后恢复)
    #init 3
    切换之后需要输入用户名和密码,在输入密码的时候没有"*"提示输入,只要自己确认输入的密码没有错误即可回车
    ②回到桌面模式
    #init 5
    ③设置模式永久为命令行模式(centos 6)
    将/etc/inittab文件中的initdefault值设置成3,然后在重启。
    ④设置模式永久为命令行模式(centos 7)
    将/etc/inittab文件中的systemctl set-default值设置成multi-user.target

    二、用户与用户组管理(重点)

    Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
    用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问,另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
    每个账号都拥有一个唯一的用户名和各自的密码。
    用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。
    想要实现用户账号的管理,要完成的工作主要有以下几个方面:
    ①用户账号的添加、删除、修改以及用户密码的管理。
    用户组的管理。
    注意三个文件:
    /etc/passwd //存储用户的关键信息
    /etc/group //存储用户组的关键信息
    /etc/shadow //存储用户的密码信息
    1、用户管理
    ①添加用户

    常用语法:#useradd 选项 用户名
    常用选项:
    	-g:表示指定用户的用户组,选项的值可以是用户组的id或者用户组名
    	-G:表示指定用户的用户附加组,选项的值可以是用户组的id或者用户组名(用于用户处于多个用户组时)
    	-u:uid,用户的id(用户的标识符)系统默认会在500以后分配uid,如果不想使用可以使用此选项进行指定uid
    案例:创建用户
    #useradd xia
    验证是否成功:
    	a.在/etc/passwd的最后一行是否有xia的信息
    	b.验证是否存在家目录(在centos下创建好用户后会自动创建他的家目录)
    扩展:认识passwd文件
    
    nfsnobody:×:65534:65534:Anonymous NFS User:/var/1ib/nfs:/s/nologin
    gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/s/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/snologin
    avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/s /nologin
    postf ix:x:89:89::/var/spool/postf ix:/s/nologin
    ntp:x:38:38::/etc/ntp:/s/nologin
    tcpdump:×:72:72::/:/snologin
    xia:×:1880:1808::/home/xia:/l/bash
    apache:×:48:48:Apache:/usr/share/httpd:/s/nologin
    

    用户名:密码:用户id:用户组id:注释:家目录:解释器shell
    用户名:创建新用户名称,后期登录的时候需要输入;
    密码:此密码位置一般都是X,表示密码的占位
    用户id:用户的标识符
    用户组id:该用户所属的主组id;
    注释:解释该用户是做什么用的;
    家目录:用户登录系统之后默认的位置
    解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;
    注意:在不添加选项的时候,执行useradd之后会执行一系列的操作
    a.创建同名的家目录
    b.创建同名的用户组
    案例:创建用户lisi,主组为501,附加组为500,用户id为666
    #useradd -g 501 -G 500 -u 666 lisi
    ②修改用户

    常用语法:#usermod 选项 用户名
    usermod:user modify,修改用户
    常用选项:
    	-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名。
    	-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
    	-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过此选项自定义(类似于QQ的自选靓号情况)
    	-l:修改用户名
    案例:修改zhangsan用户主组为500,附加组改为501
    #usermod -g 500 -G 501 zhangsan
    案例:修改zhangsan用户名为lisi
    #usermod -l lisi zhangsan
    

    ③设置密码
    Linux不允许没有密码的用户登录到系统

    常用语法:#passwd 用户名
    案例:设置用户lisi的密码
    [root@xiaxiangming ~]# passwd lisi
    Changing password for user lisi.
    New password:          //输入的密码隐藏了,确保输入正确时回车即可
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    

    在设置用户密码之后就可以登录系统了
    切换用户命令:#su[用户名] (switch user)
    如果用户名不指定表示切换到root用户

    [root@xiaxiangming ~]# su xia
    [xia@xiaxiangming root]$ su
    Password: 
    [root@xiaxiangming ~]# 
    

    切换用户需要注意的事项:
    a.从root往普通用户切换不需要密码,但是反之则需要root密码;
    b.切换用户之后前后的工作路径是不变的;
    c.普通用户没有办法访问root用户家目录,但是反之则可以;
    ④删除用户

    常用语法:#userdel 选项 用户名
    userdel:user delete(删除用户)
    常用选项:
    	-r:表示删除用户的同时删除其家目录
    	-f:表示强制删除(已经登录的用户也可删除)
    案例:删除xia后重新创建
    [root@xiaxiangming ~]# userdel -rf xia
    [root@xiaxiangming ~]# useradd xia
    [root@xiaxiangming ~]# passwd xia
    

    注意:已经登录的用户删除的时候会提示删除失败,但是没有登录的用户可以正常删除。
    解决方法:简单粗暴,kill对应用户的全部进程
    2、用户组管理
    每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
    用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

    stapdev:x:158:
    tcpdump:x:72:
    xia:x:1000:
    screen:x:84:
    apache:x:48:
    

    文件结构:
    用户组名:密码:用户组id:组内用户名
    密码:X表示占位符,虽然用户组可以设置密码,但是大部分情况下不设置密码;
    组内用户名:表示附加组是该组的用户名称
    ①用户组添加

    语法:#groupadd 选项 用户组名
    常用选项:
    	-g:表示类似用户添加里的"-u",-g表示选择自己设置一个自定义的用户组id数字,如果自己不指定默认从500之后递增;
    	案例:使用groupadd指令创建一个新的用户组administrators
    	[root@xiaxiangming ~]# groupadd administrators
    	[root@xiaxiangming ~]# tail -1 /etc/group
    	administrators:x:1001:
    

    ②用户组编辑

    常用语法:#groupmod 选项 用户组名
    常用选项:
    	-g:类似于用户添加里的"-u",-g表示选择自己设置一个自定义的用户组id数字,如果自己不指定默认从500之后递增;
    	-n:类似于用户修改里的"-l",表示设置新的用户组的名称
    案例:修改administrators用户组,将用户组的id从1001改为1002,将名称改为admin
    [root@xiaxiangming ~]# groupmod -g 1002 -n admin administrators 
    [root@xiaxiangming ~]# tail -1 /etc/group
    admin:x:1002:
    

    ③用户组删除

    常用语法:#groupdel 用户组名
    案例:删除admin用户组
    [root@xiaxiangming ~]# groupdel admin 
    [root@xiaxiangming ~]# tail -1 /etc/group
    apache:x:48:
    

    注意:当如果需要删除一个组,但是这个组是某个用户的主组时,则不允许删除;如果确实需要删除,则先从组中移除所有用户

    三、网络设置

    首先知道网卡配置文件位置:/etc/sysconfig/network-scripts
    在目录中网卡的配置文件命名格式:ifcfg-网卡名称

    [root@xiaxiangming ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160 
    TYPE="Ethernet"    //
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="dhcp"   //IP地址分配方式,DHCP表示动态主机分配方式
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="ens160"
    UUID="10a14ffe-a64c-4061-8d38-3f6ce1efe346"
    DEVICE="ens160"
    ONBOOT="yes"   //是否开机启动
    

    如果需要重启网卡怎么去操作呢
    #service network restart
    在有的版本中额可能没有service命令来快速操作服务,但是有一个共性的目录:/etc/init.d
    这个目录中放着很多服务的快捷方式。
    此处的重启网卡命令还可以使用:
    #/etc/init.d/network restart
    扩展:如果修改网卡的配置文件,但是配置文件的目录层次很深,此时可以在浅的目录中创建一个快捷方式(软连接)方便以后去查找

    [root@xiaxiangming ~]# ln -s /etc/sysconfig/network-scripts/ifcfg-ens160 /etc/init.d
    [root@xiaxiangming ~]# ls /etc/init.d
    functions  ifcfg-ens160  netconsole  network  README
    通过ls -l命令查看
    
    [root@xiaxiangming init.d]# ls -l
    total 40
    -rw-r--r--. 1 root root 18281 Aug 19  2019 functions
    lrwxrwxrwx  1 root root    43 Aug  2 22:15 ifcfg-ens160 -> /etc/sysconfig/network-scripts/ifcfg-ens160  //表示创建的快捷方式的原始路径
    -rwxr-xr-x. 1 root root  4569 Aug 19  2019 netconsole
    -rwxr-xr-x. 1 root root  7928 Aug 19  2019 network
    -rw-r--r--. 1 root root  1160 Apr  1  2020 README
    

    其中,文件类型位置的"l"表示其类型为link(连接类型),后面的"->"指向的是原始文件路径。
    扩展2:如何重启单个网卡
    停止某个网卡:
    #ifdown 网卡名称
    开启某个网卡:
    #ifup 网卡名
    例如:需要停止-启动(重启)网卡eth0
    #ifdown eth0
    #ifup eth0
    提示:在实际工作的时候不要随意禁网卡。

    四、ssh服务(重点)

    ssh(secure shell,安全外壳协议),该协议有两个常用的作用:远程连接协议、远程文件传输协议。
    协议使用端口号:默认是22
    可以是被修改的,如果需要修改,则需要修改ssh服务的配置文件:

    #/etc/ssh/ssh_config
     #   IdentityFile ~/.ssh/id_ed25519
     #   Port 22   //端口号22
     #   Protocol 2
     #   Cipher 3des
    

    端口号可以修改但是要注意2个事项:
        a.注意范围,端口范围是从0-65535;
        b.不能使用别的服务已经占用的端口;
    centos6 ssh服务启动、停止、重启

    #/etc/init.d/sshd start/stop/restart
    

    1、远程终端
    终端工具主要是帮助运维人员连接远程的服务器,常见终端工具有:Xshell、Putty、secureCRT等。
    2、ssh服务文件传输
    ①通过可视化工具传输文件
    ②通过命令行传输文件
    工具:pscp.exe(必须通过cmd命令行打开)为了使用方便可以将其放到环境变量中,如果不清楚哪些路径是环境变量路径,只需要将其放到C:/windows目录下即可。
    用法:
        a.pscp 选项 用户名@Linux主机地址:资源路径 Windows本地的地址(下载到win)
        b.pscp 选项 资源路径 用户名@Linux主机地址:远程路径(上传到Linux)
        c.pscp 选项 -ls 用户名@Linux主机地址(列出远程路径下目录结构)
    ①下载到本地win
    要求将远程Linux服务器下的/etc整个目录下载到本地E: mp下
    在win端
    #pscp -r root@192.168.170.128:/etc E: mp
    ②上传文件到Linux
    将E:coursedocs的所有内容传输到Linux下root用户的家目录
    #pscp -r "E:coursedocs" root@192.168.170.128: oot

  • 相关阅读:
    游标后面select 带有in时
    Bootstrap 表单控件一(单行输入框input,下拉选择框select ,文本域textarea)
    Bootstrap内联表单
    七、struts2后缀
    六、默认action
    五、指定多个配置文件
    四、动态方法调用
    三、Action搜索顺序
    二、访问Servlet Api
    一、struts入门案例
  • 原文地址:https://www.cnblogs.com/xiaxiangming/p/15096573.html
Copyright © 2011-2022 走看看