Linux账户与安全

Linux账户与安全

Linux系统中对账户与组的管理是通过ID号来实现的,我们在登陆系统时,输入用户名与对应的密码,后台系统会将用户名与密码转为ID号后,再判断用户是否存在,并对比密码是否匹配。

Linux中,用户ID号被称为UID,组ID号被成为GID,其中,UID为0,代表超级管理员,1~499之间的ID号系统会预留下来,这样我们创建的普通用户ID号从500算起。

Linux的组有基础组和附加组之分,一个用户只能加入一个基本组,但可以同时加入多个附加组。

创建用户的时候,系统会默认自动创建同名的组,并设置用户加入该基本组中。

1.查看当前登录用户: whoami    

2.用户账号的管理   ※※※※  

 2.1.1 创建账户与组

    useradd创建账户,groupadd创建组账户,需要注意:需要有管理员权限。

    (1)useradd  创建新账号     

    常用参数选项:

          -c  设置账户的描述信息

          -d  设置账户的家目录,默认为/home/用户名

          -g  设置账户的用户组  

          -G 设置账户的附加组,多个附加组用逗号隔开 

          -s  指定账户的登录shell 

          -M 不创建家目录。一般与-s使用

          -u  设置账户的UID 

          -e  设置账户的失效时间

    基础范例:

        -bash-4.1# useradd  wasrd   #创建普通用户wasrd

        -bash-4.1# useradd -c administrator -d /home/wasrd -e 2020-06-05 -g root  -G bin,adn,mail   wasrd

        创建系统账户为wasrd,账户的描述信息是administrator,账户的家目录是/home/wasrd,账户的失效时间是2020-06-05,账户的基本组是root,账户的附加组是bin,adn,mail。

    基础范例:

        -bash-4.1#  useradd -s /sbin/nologin -M  wasrd

                     #创建无法登录系统且没有家目录的用户 wasrd

    (2)groupadd  创建组账户

    常用参数选项:

          -g  指定用户组的gid,如果不指定-g参数,则gid从500开始      

    基础范例:

        -bash-4.1#  groupadd tom     #创建tom组

        -bash-4.1#  groupadd -g  1000 jerry        #创建GID为1000的组 jerry

     (3)id  显示账户及组信息

 2.1.2 修改账户与组

    (1)passwd  修改账号密码

    常用参数选项:

          -l   锁定用户,被锁定的用户不能登录

          -u  解除对用户的锁定   

    基础范例:

        -bash-4.1# passwd  wasrd   #修改普通用户wasrd的密码

        -bash-4.1# passwd  --stdin   批量修改密码  例子:echo  123456 | passwd   --stdin  wasrd    ※※※※

    (2)useradd  创建新账号     

    常用参数选项:

          -d  修改账户的家目录

          -g  修改账户的用户组  

          -G 修改账户的附加组,多个附加组用逗号隔开 

          -s  修改账户的登录shell

          -u  修改账户的UID

          -e  设置账户的失效时间

    基础范例:

        -bash-4.1# usermod  -d  /home/was  wasrd   #修改wasrd的家目录

        -bash-4.1# usermod  -e  2023-03-02  wasrd  

 2.1.3 删除账户与组       

    (1)userdel       删除用户 

    常用参数选项:

          -r    删除用户并删除家目录 

          -f    强制删除用户,即使用户当前登录   

    基础范例:

        -bash-4.1# userdel   wasrd         # 删除账户wasrd

        -bash-4.1# userdel  -r   wasrd     # 删除账户wasrd,并删除对应的家目录

    (2) groupdel     删除组账户 

 2.1.2 查看用户组

    (1)groups      查看用户组

    基础范例:

        -bash-4.1$ groups was
        was : was
        -bash-4.1$ groups wasrd
    wasrd : wasrd was

3.与用户账号有关的系统文件  

  1)/etc/passwd  

   由于/etc/passwd是所有用户都可读的,如果用户的密码太简单或规律比较明显的话,一台普通的计算机就能够很容易地将它破解,因此对安全性要求较高的Linux系统都把加密后的口令字分离出来,单独存放在一个文件中,这个文件是/etc/shadow文件。 有超级用户才拥有该文件读权限,这就保证了用户密码的安全性。  

  2)/etc/shadow    /etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生 

  3)用户组的所有信息都存放在/etc/group文件中  

4.Linux文件属主和属组  

 对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
 文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。  

  1)更改文件属组     

    chgrp -R  新组 文件名      ##修改用户组 ,-R:递归更改文件属组 

  2)chown:更改文件属主,也可以同时更改文件属组    

    chown [-R]   属主名   文件名

    chown [-R]   属主名:属组名   文件名

5.修改文件权限

  1)文字设定法  chmod  [who] [+|-|=] [mode]

         who:
         文件所有者:   u
         文件所属组:   g
    其他人:     o
    所有人:     a
    +:  添加权限
    -:  减少权限
    =:  覆盖原来的权限
    mode:
    r:   read
    w:  write
    x:   执行 

  2)数字设定法

          - :  没有权限
          r :   4
          w :   2
          x :   1
          765
          7=rwx   --文件所有者
          6=rw    --文件所属组
          5=rx     --其他人
          对于目录来说必须要有执行权限    

常见的权限表示形式有:

  -rw------- (600)  只有拥有者有读写权限。
  -rw-r--r-- (644)  只有拥有者有读写权限;而属组用户和其他用户只有读权限。
  -rwx------ (700)  只有拥有者有读、写、执行权限。
  -rwxr-xr-x (755)  拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
  -rwx--x--x (711)  拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
  -rw-rw-rw- (666)   所有用户都有文件读、写权限。
  -rwxrwxrwx (777)   所有用户都有读、写、执行权限。

posted @ 2020-06-05 11:07  quanscd  阅读(359)  评论(0编辑  收藏  举报