Linux下用户的创建,修改,删除

(1) Linux下用户创建

     useradd  jfedu  

  创建用户的命令,会执行以下如下步骤:

   <1> /etc/passwd下保存用户的信息

       cat /etc/passwd 查看用户信息      jfedu:x:500:500::/home/jfedu:/bin/bash

         ①  用户名

         ②  用户的UID

         ③ 用户主ID(GID)

         ④ 用户的家目录

         ⑤ 用户的shell环境

   <2> 为jfedu创建家目录 home/jfedu

   <3>创建与用户名相同的组jfedu,组的信息保存在/etc/group中

         cat /etc/group 查看组的信息  jfedu:x:500:

          ① 组名称

          ② 组ID

          ③ 组成员 (这个组可以是用户的主组,也可以是用户的附属组)

   <4>将/etc/skel/中以.bash开头的文件复制到/home/jfedu的家目录中

        drwxr-xr-x.  3 root root 4096 9月   4 18:58 .
        drwxr-xr-x. 75 root root 4096 9月   8 23:45 ..
       -rw-r--r--.  1 root root   18 5月  11 2016 .bash_logout
       -rw-r--r--.  1 root root  176 5月  11 2016 .bash_profile
       -rw-r--r--.  1 root root  124 5月  11 2016 .bashrc
       drwxr-xr-x.  2 root root 4096 11月 12 2010 .gnome2

  注释:

               <1> 这些文件是隐藏文件,需要加参数a才可以看见

               <2> 如果没有这些文件,会导致用户的环境变量异常


    <5> useradd 参数详解


       ① -d  指定用户的家目录  useradd -d /tmp/user1 user1

        注释:

            <1> 指定用户家目录后,并不会从/etc/skel/  这个文件夹下复制

              用户的环境变量到用户家目录上,所以在指定的用户家目录中,

              并不会有用户user1存在

           <2> cp -a /etc/skel/    /tmp/user1  复制用户的环境变量


           <3>chown -R user1:user1 /tmp user1


       ② -g  把用户添加到组中  useradd  jfedu4 -g  500   提示:这个组ID必须存在,否则无法添加


       ③  -G  新建账户的附属组   useradd jfedu5 -G  jfedu4


        ④  -s  指定用户登录的shell   usradd  jfedu6 -s /bin/sh

        注释: 如果将用户的shell环境设置成 /bin/nologin   表示拒绝用户登录系统


 (2) Linux下修改用户的属性

       ①  -d  修改用户的家目录  usermod -d /tmp/jfedu  jfedu

         注释: 修改用户家目录后,需要把mv命令把用户的家目录移动新指定的用户家目录中


       ②  -g   修改用户的组  usermod -g  500 jfedu1


        ③ -G   修改账户的附属组   usermod  -G  jfedu jfedu2    jfedu是jfedu2的附属组


       ④  -s  表示修改用户的shell环境    usermod  -s  /bin/nologin  jfedu


(3) Linux下删除用户

      ①  userdel  jfedu    删除用户,但保留用户家目录


      ② userdel  -r  jfedu   删除用户,同时删除用户的家目录


Linux下的组的创建,修改,删除


(1)  Linux下组的创建

     创建组的命令   groupadd  组名称

      ① -g  指定组的主id

       groupadd -g   500 jfedu3


(2) Linux下修改组的属性

    ① -n  修改组的名称    groupmod  -n  jfedu4  jfedu3   将jfedu3修改为jfedu4


   ②  -g  修改用户的主id   groupmod  -g  500  jfedu2


(3) Linux下删除组

     删除组的命令:   groupdel    组名称


Linux下用户的切换和用户密码的修改


(1) Linux用户的切换

   将root用户切换到jfedu用户下

    [localhost@root ~ #] su jfedu          [jfedu@localhost]$

  注释: 切换用户的命令: su 用户名

    <1> 普通用户只能看自己的文件

    <2> 查看管理员文件,会提示权限不够

    <3> 查看其它用户文件,需要输入该用户的密码才能访问

    <4> 普通用户切回管理员需要提供管理员密码


(2) Linux下新创建的用户,创建密码

   passwd 用户名称

  注释:

            <1> 普通用户无法创建密码,只有根用户,才有权限创建密码


Linux下文件或文件夹的权限


   <1> 在Linux中,每个文件有三种权限,读(r),写(w),执行(x)

 注释:

            目录必须要有执行(x)权限,否则无法查看内容

  

  <2>  查看一个文件的三种权限,用ls -l 进行查看


  <3> 用户权限的组成方式

      drwx-rw-rx            -rwx-rw-rx

    ① 第一位是d表示是目录 ,第一位是-表示普通文件

    ② 文件权限由用户(u),组(g),其它人(o)构成,它们都有读,写,执行三种权限。-代表没有权限


  <4> 修改权限的写法

      ① chmod u=rw g=rw  o=x  123.txt   

      ② chmod u+rw  g+r  o+x  jfedu/

      ③ chmod - R  u=rw   jfedu/    授予目录的读和写的权利  -R表示进行递归


  <5> chmod的二进制权限

   权限也可以用数字表示

    r=4    w=2   x=1     chmod=700  jfedu

  注释:

             <1> 表示用户有读,写,执行的权限

             <2> 组和其它人没有权限


 <5> 改变文件所属的用户

   ①  chown  root    jfedu.txt   修改jfedu这个文件所属用户为root

   ②  chown  :root  jfedu.txt    chgrp   root   jfedu.txt    修改jfedu这个文件所属的组为root

   ③  chown  root:root  jfedu.txt   jfedu这个文件所属用户和组都为root

 

  <6> t权限

     说明:只有所属该文件的用户可以删除,其它人删除不了

  例: chmod o=rwt jfedu/ -R

         在tmp目录下创建一个jfedu目录,给这个目录其它人加上rwt权限。我们在tmp目录下创建2个用户,分别是a1,b1。切换到a1,b1用户下,a1用户下创建123.txt ,b1用户下创建456.txt文件。无论是a1用户,还是b1用户都只能删除自己创建的文件,不能删除其它人的文件


  <8> i权限

     说明: 文件不能写,防止别人误删除

         添加i权限的方法    chattr +i  test.txt

         查看i权限的方法         lsattr test.txt


 <9> s权限

     说明: 任何人都看可以执行root权限

 例:

        在/bin/su 这个目录下,用户有一个s权限,可以保证普通用户可以进行来回切换,如果去掉了s权限,普通用户即使密码输入对了,也无法进行切换

   chmod u-s  /bin/su