• Linux用户管理


    Environment: CentOS_7.4 64位;

    M1. Linux的用户分类:

    ① 超级用户(UID=0):   一般指root用户
    ② 伪用户(UID 1-499):     伪用户与系统和程序服务相关,因为并不是真实的使用者,所以叫伪用户,如bin、daemon、shutdown、halt、ftp、sshd等,与Linux系统的进程相关。
    ③ 普通用户(uid 500-60000):   使用Linux命令常规创建的用户         

    M2. Linux的用户管理文件:

    Linux用户管理文件最重要的就是/etc/passwd/etc/shadow这两个文件。其中/etc/passwd是用来存储用户信息的,它的基本格式如下:

    示例: root:x:0:0:root:/root:/bin/bash

    文件内容每一行代表一个用户的信息,一共包括7个字段的信息,每个字段的信息用冒号隔开。这7个字段分别代表:

    1. 账号名称:即登陆时的用户名;

    2. 密码:早期UNIX系统的密码是放在这个文件中的,但因为这个文件的特性是所有程序都能够读取,所以,这样很容易造成数据被窃取,因此后来就将这个字段的密码数据改放到/etc/shadow中了;

    3. UID:用户ID,每个账号名称对应一个UID,通常UID=0表示root管理员;

    4. GID:组ID,与/etc/group有关,/etc/group与/etc/passwd差不多,是用来规范用户组信息的;

    5. 用户信息说明栏: 用来解释这个账号是干什么的;

    6. 家目录:home目录,即用户登陆以后跳转到的目录,以root用户为例,/root是它的家目录,所以root用户登陆以后就跳转到/root目录这里;

    7. Shell:用户使用的shell,通常使用/bin/bash这个shell,这也就是为什么登陆Linux时默认的shell是bash的原因,就是在这里设置的, 如果要想更改登陆后使用的shell,可以在这里修改。另外/sbin/nologin可以用来替代让账号无法登陆的命令,nologin的作用就是限制某些用户通过ssh登陆到shell上。

    M3. 超级用户与普通用户的区别:

    "root用户可以在Linux系统上做任何操作,权限没有收到任何限制。一般需要root权限的任务包括:移动文件或者文件夹in或者out of 系统目录,复制文件到系统目录,赋予或者收回用户权限,系统维护和安装一些应用程序,例如:安装RPM格式的软件通常需要root权限,因为需要写一些信息到系统目录。还有一个需要注意的就是,对于小于1024端口的知名端口,只有root用户才可以有权限侦听,如果应用程序需要侦听小于1024的端口,可以采用临时提权,侦听端口之后,再收回权限的方式进行。如果一直使用root运行应用程序,将会很危险,Linux的sendmail就曾经出现过使用root运行sendmail因为要侦听25端口,结果sendmail程序出问题之后,可以通过这个安全问题控制整台服务器,因为它是用root用户启的。"(https://blog.csdn.net/jimmyleeee/article/details/7886779)

    之所以root用户可以在Linux系统上做任何操作,权限没有收到任何限制,是因为在/etc/sudoers文件中,规定了root用户的权限配置为:

    /etc/sudoers是sudo的配置文件。

    linux查看某个用户有哪些进程: # ps aux

    个中缘由我想是初始化MySQL数据库前,将mysql目录的所有者变更成了mysql用户: #chown -R mysql:mysql  ./  

    M4. Linux创建用户

    # useradd testuser     添加用户testuser

    # passwd testuser    给用户testuser设置密码

    # userdel testuser    删除用户testuser

    # userdel -r testuser     删除用户testuser,将它留在系统上的文件也删除掉

    # usermod -d /home/test -G test2 testuser  将testuser用户的登录目录改成/home/test,并加入test2组,注意这里是大G。

    • -d<登入目录>  指定用户登入时的启始目录。

    每个用户至少属于一个用户组,每个用户组拥有多个用户,每个用户组共享共同的权限。

    # useradd -r -g mysql mysql  创建mysql用户,并指定用户组为mysql 

    • -r  建立系统帐号。
    • -g<群组>  指定用户所属的群组。

    原因:

    利用adduser创建新用户(adduser +用户名)这样在/home目录下会自动创建同名文件夹(创建用户的家目录),会建立同名组,建立新用户密码,还会从/etc/SKEL目录下拷贝文件到家目录,完成初始化。

    正确操作:

    远程登录成功,但是存在权限不足问题:

    同时新创建的普通用户也不能vim编辑权限规范文件/etc/sudoers,该文件默认是只有root用户才可以修改和访问的

     

    M5. Linux规范用户权限以及chown、chmod命令的使用

    sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。

     /etc/sudoers是sudo命令的配置文件,在sudoers文件中可以配置普通用户使用sudo命令的规范。同样,Linux规范用户权限可以通过配置该文件实现。

    1. Linux为普通用户添加sudo权限:

    ① root用户下使用vim编辑/etc/sudoers, 在文件中找到如下一行信息:

    ② 为指定用户添加sudo权限:

    强制修改  :wq!

    然后cat查看修改后的文件:

    ③ 测试用户能否使用sudo命令:

    测试成功, 通过sudo命令,用户暂时拥有了root权限。

    ④ 另外一种方法:

    修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉
    ## Allows people in group wheel to run all commands
    %wheel    ALL=(ALL)    ALL
    然后修改用户,使其属于root组(wheel),命令如下:
    #usermod -g root tommy
    修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。(https://www.cnblogs.com/blogforly/p/5959210.html)

    2. Linux的chown命令:  (使用权限 : root )

     概述:

     chown(change owner)将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员可使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。 

      1.命令格式:

        chown [选项]... [所有者][:[组]] 文件...

      2.命令功能:

        通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。

      3.命令参数:

      必要参数:

        -c 显示更改的部分的信息

        -f 忽略错误信息

        -h 修复符号链接

        -R 处理指定目录以及其子目录下的所有文件

        -v 显示详细的处理信息

        -deference 作用于符号链接的指向,而不是链接文件本身   (https://www.cnblogs.com/fulucky/p/8182459.html)

    例子: 安装MySQL时用到:

    [root@localhost mysql]# chown -R root:root ./       

    root用户可以在Linux系统上做任何操作,权限没有收到任何限制。

    一般需要root权限的任务包括:移动文件或者文件夹in或者out of 系统目录,复制文件到系统目录,赋予或者收回用户权限,系统维护和安装一些应用程序。 

     

    3. Linux的chmod命令:  (使用权限 : all)

     ① 概述:

     chmod命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。文件或目录的访问权限分为读(r),写(w)和执行(x)三种。

     ② 权限分析示例:

     文件夹mysql:  drwxrwxr-x 2 mysql mysql 4096 Nov 13 22:38 test


    看一下[权限]这一列'drwxrwxr-x', 一共有10位, 可以分为4段.
        第1位代表文件的类型, ' - ' 代表这是个常规文件, ' d ' 代表这是个文件夹.
        2~4这三位代表user的read/write/execute权限.
        5~7这三位代表group的read/write/execute权限.
        8~10这三位代表others的read/write/execute权限.
    如果可读/写/执行, 则用字母r/w/x 表示, 如果不可读/写/ 执行, 则用 - 来表示.

      ③ 命令格式及参数解释:

     # chmod [options] mode files   只能文件(夹)属主或特权用户才能使用该功能来改变文件(夹)权限模式。

     常用示例:

     chmod 751 file     给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

     参数解释:(https://www.cnblogs.com/adolfmc/p/5898115.html)

     chown命令使用注意:

     ming用户启动/关闭MySQL, 但安装MySQL数据库时,已经将mysql目录的拥有者设为root用户, 所以操作失败!

    ① 普通用户将文件拥有者改为其他普通用户

    ② 普通用户将文件拥有者改为超级用户

    root为最高权限用户,若当前用户为普通用户,其权限低于root,所以将文件拥有者改为root时会出现问题。

    假如你当前用户为root,将文件权限赋给root或者其他用户,那么将是成功的。

    M6. 用户密码修改

  • 相关阅读:
    第一课基础知识
    Linux基础命令
    IO&Process基础知识
    caffe-windows 运行matlab 接口的例子
    process 3d image using caffe
    caffe-windows配置 cuda6.5+vs2012
    cuda7.0安装windows+vs2012
    SGD步长
    Exercise: Convolutional Neural NetworkCNN的反向求导及练习
    Create sparse matrix:sparse
  • 原文地址:https://www.cnblogs.com/Azi-mi/p/9944149.html
Copyright © 2020-2023  润新知