• (第四篇)Linux命令初识之常用系统管理命令


    1.hostname

    【命令作用】用于显示和设置系统的主机名称(但是不会永久保存,重启后会恢复)

    【命令语法】hostname(选项)(参数)

    【常用选项】

    -a:显示主机别名(alias name)

    -d:显示DNS域名

    -i:显示主机的ip地址

    【参数说明】需要指定查看,设置的主机名

    【命令示例】

    显示主机的ip地址

    # hostname -i

    2.uname

    【命令作用】用于显示当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)

    【命令语法】uname(选项)

    【常用选项】

    -a:详细显示全部的信息

    【参数说明】无

    【命令示例】

    显示当前系统详细相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)

    uname -a

    3.date

    【命令作用】显示或设置系统时间与日期

    【命令语法】date(选项)(参数)

    【常用选项】

    【参数说明】

    【命令示例】

    4.clear

    【命令作用】清除当前屏幕终端上的任何信息

    【命令语法】clear

    【常用选项】无

    【参数说明】无

    【命令示例】

    清除当前屏幕终端上的任何信息

    # clear

    5.users

    【命令作用】显示当前登录系统的所有用户的用户列表

    【命令语法】users(选项)

    【常用选项】无

    【参数说明】无

    【命令示例】

    显示当前登录系统的所有用户

    # users

    6.groups

    【命令作用】输出指定用户所在的组的组成员

    【命令语法】groups(选项)(参数)

    【常用选项】无

    【参数说明】需要指定要打印所属工作组的用户名

    【命令示例】

    显示ruan用户所属的组

    # groups ruan

    7.sudo

    【命令作用】以其他身份来执行命令,默认的身份为root

    【命令语法】sudo(选项)(参数)

    【常用选项】

    -l:列出目前用户可执行与无法执行的指令;

    -u<用户>:以指定的用户作为新的身份

    【参数说明】需要运行的指令和对应的参数

    【命令示例】

    # sudo -u userb ls -l  --指定用户执行命令

    # sudo -l  --列出目前的权限

    8.exit

    【命令作用】退出目前的shell,并返回给定值

    【命令语法】exit(参数)

    【常用选项】无

    【参数说明】返回值:指定shell返回值

    【命令示例】

    # exit  --退出当前shell

    9.reboot

    【命令作用】重新启动正在运行的Linux操作系统

    【命令语法】reboot(选项)

    【常用选项】

    -f 强制重新开机

    -w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件

    【参数说明】无

    【命令示例】

    重新开机

    # reboot

    强制开机

    # reboot -f

    10.poweroff

    【命令作用】关闭计算机操作系统并且切断系统电源

    【命令语法】poweroff(选项)

    【常用选项】-f  --强制关闭操作系统

    【参数说明】

    【命令示例】

    强制关闭计算机

    # poweroff -f

    11.halt

    【命令作用】关闭正在运行的Linux操作系统

    【命令语法】halt(选项)

    【常用选项】无

    【参数说明】无

    【命令示例】

    关闭正在运行的Linux操作系统

    # halt

    12.shutdownroot权限)

    【命令作用】系统关机(必须在root下)

    【命令语法】shutdown(选项)(参数)

    【常用选项】-h 将系统关闭

    【参数说明】

    设置多久时间后执行shutdown指令

    要传送给所有登入用户的信息

    【命令示例】

    现在关闭计算机

    shutdown -h now

    13.history

    【命令作用】显示指定数目的指令命令

    【命令语法】history(选项)(参数)

    【常用选项】-c   --清空当前历史命令

    【参数说明】显示最近的n条历史命令

    【命令示例】

    显示最近使用的20条历史命令信息

    # history 20

     

    启动模式

    centos7的修改方法变了,记录如下,仅供后期参考:

    1、查看/etc/inittab文件 

    2、由文件说明可以看出,centos只有两种启动模式:

    multi-user.target: analogous to runlevel 3  #命令行模式

    graphical.target: analogous to runlevel 5   #图形模式

    3、通过systemctl get-default 命令获取当前模式:

    4、通过systemctl set-default multi-user.target 命令,修改启动模式:

     

    Linux系统用户账号的管理(windows多用户、Android学生模式)

    用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

    添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。

    CentOS 7 和其他版本的Linux一样,都具有相应用户的配置文件及目录

    /etc/passwd         //用户账户信息,可以看出用户名称

    /etc/shadow          //用户账户加密后信息,包括但不限于/etc/passwd中的信息

    /etc/group           //组账户信息,可以看出组名称

    /etc/gshadow       //组账户安全信息,包括但不限于/etc/group中的信息

    /etc/default/useradd //账户创建时默认值

    /etc/skel/           //包含默认文件的目录,具体作用尚不清楚

    /etc/login.defs      //安全性的默认配置,与上面/etc/default/useradd有区别

    我们看一下比较重要的配置文件/etc/default/useradd,内容如下:

    # useradd defaults file

    GROUP=100                        //起始GID值

    HOME=/home                       //家目录位置

    INACTIVE=-1             //有效时间,负值为永久,正数代表天数

    EXPIRE=

    SHELL=/bin/bash                   //shell路径

    SKEL=/etc/skel                    //默认配置文件路径

    CREATE_MAIL_SPOOL=yes             //是否创建邮件池,具体作用待以后学习

    1、添加新的用户账号使用useradd命令,其语法如下:

    useradd 选项 用户名

    参数说明:

    选项:

     -b, --base-dir BASE_DIR       新账户的主目录的基目录

      -c, --comment COMMENT         新账户的 GECOS 字段

      -d, --home-dir HOME_DIR       新账户的主目录

      -D, --defaults                显示或更改默认的 useradd 配置

     -e, --expiredate EXPIRE_DATE  新账户的过期日期

      -f, --inactive INACTIVE       新账户的密码不活动期

      -g, --gid GROUP               新账户主组的名称或 ID

      -G, --groups GROUPS   新账户的附加组列表

      -h, --help                    显示此帮助信息并推出

      -k, --skel SKEL_DIR   使用此目录作为骨架目录

      -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值

      -l, --no-log-init     不要将此用户添加到最近登录和登录失败数据库

      -m, --create-home     创建用户的主目录

      -M, --no-create-home          不创建用户的主目录

      -N, --no-user-group   不创建同名的组

      -o, --non-unique              允许使用重复的 UID 创建用户

      -p, --password PASSWORD               加密后的新账户密码

      -r, --system                  创建一个系统账户

      -R, --root CHROOT_DIR         chroot 到的目录

      -s, --shell SHELL             新账户的登录 shell

      -u, --uid UID                 新账户的用户 ID

      -U, --user-group              创建与用户同名的组

      -Z, --selinux-user SEUSER             为 SELinux 用户映射使用指定 SEUSER

    指定新账号的登录名。

    最简单的创建用户

     

    执行如下命令:

    useradd test

    passwd test                #添加密码

    这样一个用户名为test的用户已经创建好了。我们看一下属性。

    执行命令:id test   //查看用户信息

    我们发现test的uid=1000,gid=1000,位于test用户组,说明缺参数的新建用户,会默认新建一个与用户名同名的用户组并加入其中,我们也注意到UID、GID的值与默认的配置文件中保持一致,可见配置文件是生效的,同样也可以再新建一个用户,看一下UID、GID的值,会看到是1001.可以尝试一下。我们可以切到/home目录下,会看到用户目录,与配置文件设定一致。

    例题:新建一个UID=501,GID=600,30天有效期,家目录为/home/test5的用户test4.

    命令 :

    groupadd -g 600  test3                //创建GID=600的用户组test3            

    useradd -u 501 -g 600 -f 30 -m   -d /home/test5 test4                 

    当我们再次打开用户文件/etc/passwd或者id test4会看到我们自己的配置。

    实例1

    # useradd –d /usr/sam -m sam

    此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。

    实例2

    # useradd -s /bin/sh -g group –G adm,root gem

    此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。

    这里可能新建组:#groupadd group及groupadd adm

    增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。

    Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。

    2、删除帐号

    如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

    当我们创建用户/组有错误时,可能会删除用户/组,然后再重新创建。我们使用userdel命令来删除用户。

    执行命令:

    [root@localhost home]# userdel test

    [root@localhost home]# useradd test

    useradd:警告:此主目录已经存在。

    不从 skel 目录里向其中复制任何文件。

    正在创建信箱文件: 文件已存在

    出现这个问题是因为我们删除用户时,系统为了安全起见并没有删除相关的文件以及目录。

    我们查看一下userdel参数:

    -f, --force                   force some actions that would fail otherwise

                                    e.g. removal of user still logged in

                                    or files, even if not owned by the user

      -h, --help                    显示此帮助信息并推出

      -r, --remove                  删除主目录和邮件池

      -R, --root CHROOT_DIR         chroot 到的目录

      -Z, --selinux-user            为用户删除所有的 SELinux 用户映射

    删除一个已有的用户账号使用userdel命令,其格式如下:

    3、修改帐号

    修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

    修改已有用户的信息使用usermod命令,其格式如下:

    usermod 选项 用户名

    常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。

    另外,有些系统可以使用选项:-l 新用户名

    禁止登录:

    usermod -s /sbin/nologin test //-s 指定shell

    修改用户名:

     usermod -l test88 test //-l 新的用户名

    这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

    例如:

    # usermod -s /bin/ksh -d /home/z –g developer sam

    此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

    4、用户口令的管理

    用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

    指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:

    passwd 选项 用户名

    可使用的选项:

    -l 锁定口令,即禁用账号。

    -u 口令解锁。

    -d 使账号无口令。

    -f 强迫用户下次登录时修改口令。

    如果默认用户名,则修改当前用户的口令。

    例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:

    $ passwd

    Old password:******

    New password:*******

    Re-enter new password:*******

    如果是超级用户,可以用下列形式指定任何用户的口令:

    # passwd sam

    New password:*******

    Re-enter new password:*******

    普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。

    为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。

    为用户指定空口令时,执行下列形式的命令:

    # passwd -d sam

    此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。

    passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:

    # passwd -l sam

    Linux系统用户组的管理

    每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

    用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

    1、增加一个新的用户组使用groupadd命令。其格式如下:

    groupadd 选项 用户组

    可以使用的选项有:

    -g GID 指定新用户组的组标识号(GID)。

    -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

    实例1:

    # groupadd group1

    此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。

    实例2:

    # groupadd -g 101 group2

    此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

    2、如果要删除一个已有的用户组,使用groupdel命令,其格式如下:

    groupdel 用户组

    例如:

    # groupdel group1

    此命令从系统中删除组group1。

    3、修改用户组的属性使用groupmod命令。其语法如下:

    groupmod 选项 用户组

    常用的选项有:

    -g GID 为用户组指定新的组标识号。

    -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。

    -n新用户组 将用户组的名字改为新名字

    实例1:

    # groupmod -g 102 group2

    此命令将组group2的组标识号修改为102。

    实例2:

    # groupmod –g 10000 -n group3 group2

    此命令将组group2的标识号改为10000,组名修改为group3。

    4.身份切换 

    su命令让用户切换用户(switch user)ID

    [yxkong@localhost ~]$ su –help

    su命令通过常用字符串调用,例如:su-,指明用户应该作为新用户有效登录。

    例如: 

    su 用户名 只是临时使用对应的用户的Shell,用完后直接 su 当前登录名可以退回来

    [yxkong@localhost ~]$ su root  

    密码:

    [root@localhost yxkong]# #新Shell称为用户root的Shell,在这个shell上启动的任何进程都属于root,这个Shell称为非登录Shell。root并没有完全登录,

    su – 用户名 该用户作为新用户完全登录,和原来的用户没有任何关系了

    5、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。

    用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:

    $ newgrp root

    这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。

    6.newgrp命令,也称作sg,让用户切换主要组(switch primary group)ID

    用法:

    [yxkong@localhost ~]$ sg --help

    用法:sg 组 [[-c] 命令]

    [yxkong@localhost ~]$ id

    uid=1000(yxkong) gid=1000(yxkong) 组=1000(yxkong),0(root),10(wheel) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

    [yxkong@localhost ~]$ sg root

  • 相关阅读:
    读《大道至简》第6章有感
    Java作业05(动手动脑)
    读《大道至简》第五章有感
    java作业04(动手动脑)
    域名与主机名
    STL 迭代器学习
    数组与链表增删改查效率比较
    智能指针多线程安全问题
    快速乘 学习
    关于TCP三个冗余ACK启动快速重传
  • 原文地址:https://www.cnblogs.com/wsxcode/p/9570881.html
Copyright © 2020-2023  润新知