zoukankan      html  css  js  c++  java
  • linux用户和组账户管理

    linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。

    用户账户

    A.普通用户账户:普通用户在系统上的任务是进行普通操作

    B.超级用户账户:管理员在系统上的任务是对普通用户和整个系统进行管理。对系统具有绝对的控制权,能够对系统进行一切操作。

    1、超级管理员

       用root表示,root用户在系统中拥有最高权限,默认下Ubuntu用户的root用户是不能登录的如果想要root登录,可以执行sudo passwd root 

    2、安装时创建的系统用户

       此用户创建时被添加到admin组中,在Ubuntu中,admin组中的用户默认是可以使用sudo命令来执行只有管理员才能执行的命令的。如果不使用sudo就是一个普通用户。

    3、普通用户


    组账户

    A. 私有组:当创建一个用户时没有指定属于哪个组,Linux就会建立一个与用户同名的私有组,此私有组只含有该用户。

    B.标准组:当创建一个用户时可以选定一个标准组,如果一个用户同时属于多个组时,登录后所属的组为主组,其他的为附加组。

     


    账户系统文件

    A./etc/passwd

        每一行代表一个账号,众多账号是系统正常运行所必须的,例如bin,nobody

    每行定义一个用户账户,此文件对所有用户可读。每行账户包含如下信息:

        用户名:口令:用户标示号(UID):组标示号(GID):注释:宿主目录(主

    文件夹):命令解释器(shell)

    root:x:0:0:root:/root:/bin/bash

    1、 用户名:

    就是账号。用来对应UID。root UID是0口令。

    2、 口令:

    密码,早期UNIX系统密码存在此字段,由于此文件所有用户都可以读取,密码容易泄露,后来这个字段数据就存放到/etc/shadow中,这里只能看到X。

    3、 用户标识号(UID):

    系统内唯一,root用户的UID为0,普通用户从1000开始,1-999是系统的标准账户,500-65536是可登陆账号。

    4、 组标识号(GID):

    与 /etc/group 相关用来规定组名和GID相对应。

    5、注释:

       注释账号

     6、宿主目录:

    用户登录系统后所进入的目录root 在/root loaderman在:/home/loaderman

     7、命令解释器:

    指定该用户使用的shell ,默认的是/bin/bash

     B./etc/shadow

    为了增加系统的安全性,用户口令通常用shadow passwords保护。只有root可读。每行包含如下信息:

       用户名:口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

    root:$6$E3SMKoCF$U.A3zuKnBTCzZS5i.ZzHfzq2R5mk6m0iKtWr0B8QdA1VphZcQPaSqKKQWDA.mkptemLBIKPAw/.kik2287ZiM1:15504:0:99999:7:::    loaderman:$1$ktRolYMY$Fb0kTjAcNUEceLWMzbj2M/:15470:0:99999:7:::

    1、账号名称:

       需要和/ etc/passwd  一致。

    2、密码:

       经过加密,虽然加密,但不表示不会被破解该文件默认权限如下

       -rw-r----- 1 root shadow 1196 2012-06-13 05:40 shadow

       只有root能都读写。

    3、最近修改密码日期:

    最后一次修改时间:从1970-1-1起,到用户最后一次更改口令的天数

    4、密码最小时间间隔:

        最小时间间隔:从1970-1-1起,到用户可以更改口令的天数

    5、密码最大时间间隔:

        最大时间间隔:从1970-1-1起,必须更改的口令天数

    6、密码到期警告时间:

        警告时间:在口令过期之前几天通知

    7、密码到期后账号宽限时间

    8、密码到期禁用账户时间:

        不活动时间:在用户口令过期后到禁用账户的天数

    9、保留

    C./etc/group

       用户组的配置文件

       root:x:0:

    1、 用户组名称

    2、 用户组密码

    给用户组管理员使用通常不用。

    3、 GID

    用户组的ID

    4、 此用户支持的账号名称

    一个账号可以加入多个用户组,例如想要loaderman 加入root 这个用户组,将该账号填入该字段即可,root:x:0:root,icast

      将用户进行分组是 Linux对用户进行管理及控制访问权限的一种手段。一个

    中可以有多个用户,一个用户可以同时属于多个组。该文件对所有用户可读。

     

    D./etc/gshadow

        该文件用户定义用户组口令,组管理员等信息只有root用户可读。

        root:::root

    1、 用户组名

    2、 密码列

    3、 用户组管理员的账号

    4、 用户组所属账号


     使用命令行工具管理账户

    useradd 用户名

    useradd –u(UID号)

    useradd –p(口令)

    useradd –g(分组)

    useradd –s(SHELL)

    useradd –d(用户目录)

     

    使用usermod修改用户信息

    usermod –u(新UID)

    usermod –d(用户目录)

    usermod –g(组名)

    usermod –s(SHELL)

    usermod –p(新口令)

    usermod –l(新登录名)

    usermod –L (锁定用户账号密码)

    usermod –U (解锁用户账号)

    userdel 用户名 (删除用户账号)

    userdel –r 删除账号时同时删除目录

    sudo usermod –u 1007 –g group2 –G root thinkpad

    将thinkpad用户uid修改为1007,默认组改为系统中已经存在的group2,并且加入到系统管理员(GID 0)组。

    组账户维护命令

    groupadd 组账户名 (创建新组)

    groupadd –g 指定组GID

    groupmod –g 更改组的GID

    groupmod –n 更改组账户名

    groupdel 组账户名 (删除指定组账户)

    口令维护命令

    passwd 用户账户名 (设置用户口令)

    passwd –l 用户账户名 (锁定用户账户)

    passwd –u 用户账户名 (解锁用户账户)

    passwd –d 用户账户名 (删除账户口令)

    gpasswd –a 用户账户名 组账户名 (将指定用户添加到指定组)

    gpasswd –d 用户账户名 组账户名 (将用户从指定组中删除)

    gpasswd –A 用户账户名 组账户名 (将用户指定为组的管理员)


     用户和组状态命令

    su 用户名  切换用户账户

    su root

    su – root

    su 需要了解新切换的用户密码。

    id 用户名 显示用户的UID,GID

    whoami 显示当前用户名称

    groups 显示用户所属组

    sudo

    cat /etc/sudoers

    sudo只需要知道自己的密码,sudo并不是每一个用户都可以执行仅有/ect/sudoers内的用户才能够执行sudo命令。

    sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。它的特性主要有这样几点:

    sudo能够限制用户只在某台主机上运行某些命令。

    sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。

    sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变)。

     sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0411。

    使用root 通过visudo 编辑sudoers

    案例:

    新增用户:


    文件权限管理

    文件权限是指对文件的访问权限,包括多文件的读、写、删除和执行。在linux下每个用户都有不同的权限,普通用户只能在自己的主目录下进行写操作,在主目录之外,普通用户只能进行查找,读取操作。

    三种基本权限

    R 读权限

    W 写权限

    X 执行权限

     

    8.1. 查看文件和目录的权限

    ls –al 使用ls不带参数只显示文件名称,通过ls –al可以显示文件或者目录的权限信息。

    ls –l 文件名

    显示信息包含:文件类型(d 目录,- 普通文件,l 链接文件),文件权限,文件的属主,文件的所属组,文件的大小,文件的创建时间,文件的名称

    -rw-r--r--  1 loaderman users  2254 2006-05-20 13:47 tt.htm

    从第二个字符起rw-是说用户loaderman有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有运行权,最后的r--指其他人(others)只有读权限,没有写权和运行权。

    drwxr-xr-x  2 loaderman loaderman 4096 2014-06-12 01:10 software

    drwxr-xr-x

    2

    loaderman loaderman

    4096

    2014-06-12 01:10

    software

    文档类型及权限

    连接数

    文档所属用户和用户组

    文档大小

    文档最后被修改日期

    文档名称

    1、第一列

    第一列显示文档类型与执行权限,分为4部分

    每个所代表的含义

    d

    rwx

    r-x

    r—x

    文档类型

    文档所有者权限(user)

    文档所属用户组权限(group)

    其他用户权限(other)

    (1)文档类型:

    d 表示目录 ,l 表示软连接 – 表示文件,c表示串行端口字符设备文件,b表示可供存储的块设备文件。余下的字符3个字符为一组。r 只读,w 可写,x可执行,- 表示无此权限为空。

    (2)User

    文档所有者user权限的设定, rwx表示用户对sofeware 目录有读写执行的权限。

    (3)Goup

    文档所属组权限的设定,r-x 表示用户组对software有读和运行的权限但是没有写的权限。

    (4)Other

    文档拥有者之外的其他用户权限的设定,r-x表示其他用户或者用户组对software只有读和运行的权限,没有写的权限。

    文档的操作权限是可以指定和更改的,通过chmod命令。

    2、文档连接数

    第二列显示的是文档连接数,是指硬链接,多少个文件指向同一个索引节点。

    3、第3列显示文档所属的用户和组,就是文档属于哪个用户和用户组。文件所属用户和组是可以更改的,通过chown

    4、第4列显示的是文档的大小,默认是bytes

    5.第5列显示文档最后一次修改日期,通常以月日年时分方式显示

    6、显示文档名称,Linux下以 .开头的文件时隐藏文件,同样以 . 开头的目录是隐藏目录。必须以ls –a才能显示。


    更改操作权限

    1chown 改变用户和组

    chown  是change owner的意思,主要作用就是改变文件或者目录所有者,所有者包含用户和用户组

    chown  [ -R] 用户名称 文件或者目录

    chown  [-R]  用户名称:用户组名称 文件或目录

    -R :进行递归式的权限更改,将目录下的所有文件、子目录更新为指定用户组权限。

    注意:执行操作确保指定的用户及用户组在系统中是存在的。

     

    2chmod 改变访问权限

    chmod字符设置法

    chmod [who] [+ | - | =]   [mode] 文件名

    (1)who

    表示操作对象可以是以下字母的一个或者组合

    u 表示 用户 user ,g表示用户组group,o表示其他用户,a表示所有用户是系统默认的。

    (2)操作符号:

    +  表示添加某个权限

    - 表示取消某个权限

    =  赋予给定的权限,取消文档以前的所有权限。

    (3)mode

         表示可执行的权限,可以是 rwx

     4)文件名

         文件名可以使空格分开的文件列表。

    chmod 【u 属主 g 所属组用户 o 其他用户 a 所有用户】 【+ 加权限 – 减权限 =加权限同时将原有权限删除】 【rwx】 文件或目录名

    -R 下面的子目录做相同权限操作

     

    loaderman @ubuntu://home/loaderman $ ls -al loaderman

    -rw-r--r-- 1 loaderman loaderman 16 2012-06-13 01:44 loaderman

    loaderman @ubuntu://home/loaderman $ chmod u=rwx,g+r,o+r loaderman

    loaderman @ubuntu://home/loaderman $ ls -al loaderman

    -rwxr--r-- 1 loaderman loaderman 16 2012-06-13 01:44 loaderman

    loaderman @ubuntu://home/loaderman $ su thinkpad

    Password:

    $ ls

    abc    Downloads       loaderman Public   Test.class  workspace

    Desktop    examples.desktop  Music     software   Test.java

    Documents  home           Pictures  Templates  Videos

    $ cat loaderman

    this is testing

    $ rm loaderman

    rm: remove write-protected regular file `loaderman '? y

    rm: cannot remove `loaderman ': Permission denied

    chmod数字设定法

    数字设定法中数字表示的含义,0表示没有任何权限,1表示有可执行=x2表示有可执行权限=w4表示有可读权限=r

    也可以用数字来表示权限如 chmod 755 file_name

       r    w    x   

           r – x

        r - x

       4    2    1

           4 - 1

        4 - 1

          user

    group

    others

                  

                      chmod  755 file_name

     

     

    r 4 w 2 x 1

    若要rwx属性则4+2+1=7;

    若要rw-属性则4+2=6;

    若要r-x属性则4+1=5;

    loaderman @ubuntu://home/loaderman $ echo "this is test">loaderman .txt

    loaderman @ubuntu://home/loaderman $ ls

    abc        Downloads         loaderman .txt  Public     Test.class  workspace

    Desktop    examples.desktop  Music       software   Test.java

    Documents  home              Pictures    Templates  Videos

    loaderman @ubuntu://home/loaderman $ cat loaderman .txt

    this is test

    loaderman @ubuntu://home/loaderman $ ls -al loaderman .txt

    -rw-r--r-- 1 loaderman loaderman 13 2012-06-13 02:05 loaderman .txt

    loaderman @ubuntu://home/loaderman $ chmod 700 loaderman .txt

    loaderman @ubuntu://home/loaderman $ ls -al loaderman .txt

    -rwx------ 1 loaderman loaderman 13 2012-06-13 02:05 loaderman .txt

    loaderman @ubuntu://home/loaderman $ su thinkpad

    Password:

    $ ls

    abc    Downloads       loaderman .txt  Public     Test.class  workspace

    Desktop    examples.desktop  Music  software   Test.java

    Documents  home           Pictures  Templates  Videos

    $ cat loaderman .txt

    cat: loaderman .txt: Permission denied

  • 相关阅读:
    PHP 使用 ElasticSearch
    PHP面试题目
    MySQL取得某一范围随机数
    Git版本控制的基本命令
    PHP中array_merge和array相加的区别分析
    nginx服务器常见错误代码500、501、502、503、504、505
    Laravel小项目之第4节 Laravel-通过表单实现新增及操作状态提示功能
    前端基础 jQuery
    前端基础 DOM & BOM
    前端基础 & 初识JS(JavaScript)
  • 原文地址:https://www.cnblogs.com/loaderman/p/10032557.html
Copyright © 2011-2022 走看看