文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>RHCE033--用户管理

RHCE033--用户管理

时间:2010-09-29  来源:twenty_four

 
    一、用户和工作组
    如果把Linux比喻成一家公司,那么用户就是公司里的员工,工作组就是员工所在的部门。
    公司的每个部门和员工都有自己的编号,在Linux中,用户的编号称为UID,工作组的编号称为
    GID。Linux在认识UID与GID,在Linux中每个执行程序和文件都有标识的权限,值允许拥有相应
    的权限的用户或工作组进行相应的操作!
     
    二、创建用户和工作组
  1. 创建用户
  2. 在Linux中,只有root用户才有权限使用useradd创建用户
    [root@51cto ~]# useradd 51cto        //创建用户51cto
    创建出来的用户属性都是默认的,如下属性可以创建拥有非默认属性的用户:
    useradd 的主要参数:
    -c :用户注释
    -d  :用户自家目录路径    //默认普通用户的工作目录在/home;root用户的工作目录在/root
    -m :如果用户自家目录为空,则为用户创建一个新的自家目录
    -e :用户过期时间
    -g :用户的GID号
    -G :把用户加入到其他工作组
    -p :用户密码设置,必须是加密的
    -s :用户使用的shell设置,默认是bash
    -u :用户UID号
    如下创建一个名为“user1”的新用户,uid为505(默认是从500开始),root同时将用户
    加入到“root”这个工作组中,加密密码(用单引号括起来),目录为/home/user1,注释为
    "the first user" ,到20121212过期的用户 user1
    [root@51cto ~]# useradd -u 505 -G root -p 'asdf454sdf4sdf5df44' -d /home/user1 -m -c
    "the first user" -e 20121212 user1
    [root@51cto home]# cat /etc/passwd |grep user1
    user1:x:505:505:the first user:/home/user1:/bin/bash
  3. 创建工作组
  4. 在Linux中,只有root用户才有权限使用groupadd创建新的工作组
    groupadd的主要参数:
    -g  :后接GID,如果不使用-o参数,则该值必须是唯一且不能为负。 
    -o  :和-g一起使用,允许使用相同的GID
    [root@51cto ~]# groupadd -g 777 51ctogroup    //增加一个GID为777的工作组
     
    三、用户管理
  5. 用户管理命令
  6. 修改用户基础属性
  7. [root@51cto ~]# usermod -a -G 777 user1  //把user1又加入到51ctogroup工作组中
    -a 表示附加的意思,查看:
    [root@51cto ~]# cat /etc/group |grep 51ctogroup
    51ctogroup:x:777:user1     //这里下面有具体介绍
    [root@51cto ~]# usermod -u 666 -s /etc/tcsh -e 20200101 user1
    //修改user1的UID为666,登陆shell为tcsh,并且用户在20200101过期
    [root@51cto ~]# cat /etc/passwd |grep user1
    user1:x:666:505:the first user:/home/user1:/etc/tcsh
  8. 创建和修改用户用户口令
  9. root用户可以修改任何用户的密码,包括自身密码,不受任何限制;普通用户值可以修改自己的密码,
    且该用户没有被root锁定。普通用户必须满足密码复杂性才可以修改成功,否则被拒绝。
    passwd参数(修改需要root权限才行):
    -d :删除用户密码
    -l :锁定用户
    -u :解除锁定
    -x :变更密码的最大天数,后+数字
    -n : 变更密码的最小天数,后+数字
    -S :查询用户密码状态
    [root@51cto ~]# passwd 51cto //修改51cto用户密码
    Changing password for user 51cto.
    New UNIX password:
    BAD PASSWORD: it is WAY too short   //密码复杂性不够,不过root还是可以修改
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.
    [root@51cto ~]# su - 51cto //切换到51cto用户,shell必须是/bin/bash
    [51cto@51cto ~]$
    [51cto@51cto ~]$ cat /etc/passwd |grep 51cto
    51cto:x:501:501::/home/51cto:/bin/bash
    切换到root用户对51cto进行锁定:
    [root@51cto ~]# passwd -l 51cto
    Locking password for user 51cto.
    passwd: Success
    另开启终端测试:
    login as: 51cto
    [email protected]'s password:
    Access denied
    对用户51cto解锁:
    [51cto@51cto ~]$ passwd -u 51cto
    Only root can do that.     //root才有权限修改
    [51cto@51cto ~]$ su - root
    Password:
    [root@51cto ~]# passwd -u 51cto //解锁用户
    Unlocking password for user 51cto.
    passwd: Success.
    另开启终端测试:
    login as: 51cto
    [email protected]'s password:
    [51cto@51cto ~]$        //登陆成功
    删除用户:
    userdel 【选项】  用户名  (-r 选项使得该用户的自家目录也清除,不加的话自家目录还存在)
    [root@51cto ~]# userdel -r 51cto //删除51cto用户,并清除自家目录
     
    四、用户管理文件
  10. /etc/passwd文件
  11. 在Linux系统中,系统不认识用户名,只认识UID。
    用户的UID保存在/etc/passwd文件中,比如:
    [root@51cto ~]# cat /etc/passwd |grep user1
    user1:x:666:505:the first user:/home/user1:/etc/tcsh
    上面7个属性意思如下:
    用户名 :user1
    口令:x
    UID:666
    GID:505
    描述信息:the first user
    用户自家目录:/home/user1
    用户登陆shell:/etc/tcsh
    如果要修改用户的基本属性,可以直接修改文件,但必须是root才有权限
  12. /etc/shadow文件
  13. 在早起的Unix系统中,用户信息和密码存放在/etc/passwd中,但该文件对系统中所有用户
    都是可读的,不安全的缘故,所以Linux才使用/etc/shadow文件保存用户信息口令,比如:
    [root@51cto ~]# cat /etc/shadow |grep user1
    user1:$1$mjLtSPGu$j3R4RCz5zzQ.MIFtifwvu1:14881:0:99999:7::18262:
    上面9个属性意思如下:
    用户名:user1
    口令:$1$mjLtSPGu$j3R4RCz5zzQ.MIFtifwvu1(MD5加密过的)
    口令上次改动日期:14881(表示天数,Linux以1970.1.1开始来计算)
    口令变更期限限制:0 (表示任何时间都可以修改口令)
    强制用户变更口令期限:99999(多少天后必须改密码,99999表示不作限制,太长了)
    强制变更口令提醒:7(提前7天提醒用户改密码,99999的话就不会提醒啦)
    口令过期后禁用帐号天数:一般不做设置
    帐号限制日期:18262(也是以1970.1.1算起)
    该文件/etc/shadow只有root可以修改,若想禁止某用户登陆,直接在“用户:”后加上*
    比如,禁止user1用户登陆:
    [root@51cto ~]# cat /etc/shadow |grep user1
    user1:*$1$mjLtSPGu$j3R4RCz5zzQ.MIFtifwvu1:14881:0:99999:7::18262:
    另开启终端测试:
    在测试之前必须先把user1的登陆shell修改为/bin/bash,不然的话不禁止也是无法登陆
    login as: user1
    [email protected]'s password:
    Access denied
    把*去掉后,用户马上又可以登陆了:
    login as: user1
    [email protected]'s password:
    Access denied
    [email protected]'s password:
    Last login: Tue Sep 28 21:18:34 2010 from 218.192.87.4
     
    五、工作组群管理命令
  14. 修改工作组命令:
  15. groupmod 【参数】 组名
    groupmod参数:
    -g :设置工作组ID
    -n :修改工作组名
    [root@51cto ~]# groupmod -g 777 -n 51group 51ctogroup
                          //把工作组51ctogroup改名为51group,GID改为777
    [root@51cto ~]# cat /etc/group |grep 51group
    51group:x:777:user1
  16. 删除工作组
  17. 命令:groupdel  工作组名
    [root@51cto ~]# groupdel 51group
     
    六、工作组群管理文件
  18. /etc/group
  19. 查看文件/etc/group的格式参数:
    [root@51cto ~]# tail -2 /etc/group     //查看最后两个工作组
    wzp24:x:500:wzp24
    user1:x:505:
    属性用冒号隔开,一共4项:
    工作组名称:wzp24 、user1
    工作组口令标识,x表示,该口令记录在/etc/gshadow文件中
    工作组的GID
    工作组成员:如wzp24这个工作组有一个成员wzp24;user1没有成员
    如果想添加工作组,设置好GID,添加成员,直接修改/etc/group文件就行了
     
    七、用户和工作组规则文件
    在使用useradd 和 groupadd添加用户和工作组的时候,不是每个用户属性都要列出来,
    可以使用模式属性。对应的默认属性文件有两个:
  20. /etc/default/useradd
  21. [root@51cto ~]# cat /etc/default/useradd
    # useradd defaults file
    GROUP=100           //默认新用户的GID为100
    HOME=/home     //默认自家目录
    INACTIVE=-1          //帐号过期几日停权
    EXPIRE=                  //帐号停止日期
    SHELL=/bin/bash            //默认使用的登陆shell
    SKEL=/etc/skel          //新建用户的源基本文件
    CREATE_MAIL_SPOOL=yes       //是否为新用户创建系统邮件箱
    如果想变更默认设置可以直接编辑文件,或者使用useradd -D 命令   来修改!
    useradd  -D  [ -g group] [ -b base  ]  [ -s shell  ] [ -f   inactive  ]  [ -e expire  ]
    [root@51cto ~]# useradd -D -b /tmp/
    [root@51cto ~]# cat /etc/default/useradd |grep HOME
    HOME=/tmp/
     
  22. /etc/login.defs
  23. [root@51cto ~]# cat /etc/login.defs    (一些#注释信息被我去掉了)
    #QMAIL_DIR      Maildir
    MAIL_DIR        /var/spool/mail     //邮件预设目录
    #MAIL_FILE      .mail
    # Password aging controls:
    PASS_MAX_DAYS   99999   //口令需要变更的时间最大值
    PASS_MIN_DAYS   0            //口令需要变更的时间最小值
    PASS_MIN_LEN    5    //口令最小长度
    PASS_WARN_AGE   7   //口令失效前多少天发出警告
    UID_MIN                   500          //预设UID最小值
    UID_MAX                 60000    //预设UID最大值
    GID_MIN                   500      //预设GID最小值
    GID_MAX                 60000    //预设GID最大值
    可以根据需要对该文件进行修改,如增加密码最小长度等
     
  24. /etc/skel
  25. 该目录中存放着用户初始化文件,当创建新用户的时候,系统会自动把这个目录的文件copy到
    用户的自家目录中。该目录下的文件都是隐藏文件,root才可以添加、删除该目录下文件。
     
    八、深化用户管理
  26. 手工创建一个用户laoyou ,使得UID/GID为512、自家目录为/home/admin,加入laoyou这个组,
  27. shell为/bin/bash。
    手工添加用户laoyou的如下步骤:
  28. 编辑/etc/passwd   /etc/shadow  /etc/group三个文件,添加相应用户信息
  29. [root@51cto ~]# vim /etc/passwd
    [root@51cto ~]# cat /etc/passwd |grep laoyou
    laoyou:x:512:512::/home/admin:/bin/bash              //在文件最后一行添加此内容
    [root@51cto ~]# vim /etc/shadow
    [root@51cto ~]# cat /etc/shadow |grep laoyou
    laoyou:!!:14876:0:99999:7:::           //在文件最后一行添加,设置口令
    [root@51cto ~]# vim /etc/group
    [root@51cto ~]# cat /etc/group |grep laoyou
    laoyou:x:512:           //创建laoyou组
  30. 给用户创建和修改自家目录设置权限
  31. [root@51cto ~]# mkdir /home/admin     //创建目录
    [root@51cto ~]# chown laoyou:laoyou /home/admin 
                                                     //使/home/admin从属于laoyou用户和laoyou组
    [root@51cto ~]# passwd laoyou
    Changing password for user laoyou.
    New UNIX password:
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.
  32. 从/etc/skel中copy初始化文件到 laoyou用户的自家目录下,以及改变文件所有者为laoyou
  33. [root@51cto ~]# cp /etc/skel/.* /home/admin/
    cp: omitting directory `/etc/skel/.'
    cp: omitting directory `/etc/skel/..'
    cp: omitting directory `/etc/skel/.mozilla'
    [root@51cto ~]# ll -a /home/admin/
    total 40
    drwxr-xr-x 2 laoyou laoyou 4096 Sep 28 23:19 .
    drwxr-xr-x 7 root   root   4096 Sep 28 23:17 ..
    -rw-r--r-- 1 root   root     33 Sep 28 23:19 .bash_logout
    -rw-r--r-- 1 root   root    176 Sep 28 23:19 .bash_profile
    -rw-r--r-- 1 root   root    124 Sep 28 23:19 .bashrc
    [root@51cto ~]# chown -R laoyou:laoyou /home/admin/
    [root@51cto ~]# ll -a /home/admin/
    total 40
    drwxr-xr-x 2 laoyou laoyou 4096 Sep 28 23:19 .
    drwxr-xr-x 7 root   root   4096 Sep 28 23:17 ..
    -rw-r--r-- 1 laoyou laoyou   33 Sep 28 23:19 .bash_logout
    -rw-r--r-- 1 laoyou laoyou  176 Sep 28 23:19 .bash_profile
    -rw-r--r-- 1 laoyou laoyou  124 Sep 28 23:19 .bashrc
    到这里就成功创建一个用户laoyou了,如果要手工删除用户就直接编辑三个文件对应条目
     
    九、批量创建用户
    批量创建100个用户ux,使得UID为100x  GID为100 ,自家目录为默认目录,登陆shell为/bin/shell
    [root@51cto ~]# vim useradd.sh
    [root@51cto ~]# cat useradd.sh
    #!/bin/bash
    for i in `seq 1 100`
    do
    echo "u$i:x:100$i:100::/home/u$i:/bin/bash" >>/root/user1.txt
    echo "u$i:1234567" >> /root/passwd1.txt     //定义用户密码都是1234567
    done
    newusers < /root/user1.txt         //用户列表
    chpasswd < /root/passwd1.txt   //用户密码
    [root@51cto ~]# chmod +x useradd.sh
    [root@51cto ~]# sh useradd.sh
    查看三个文件如下:
    [root@51cto ~]# cat /etc/passwd
    u1:x:1001:100::/home/u1:/bin/bash
    u2:x:1002:100::/home/u2:/bin/bash
    u3:x:1003:100::/home/u3:/bin/bash
    u4:x:1004:100::/home/u4:/bin/bash
    …...
    u96:x:10096:100::/home/u96:/bin/bash
    u97:x:10097:100::/home/u97:/bin/bash
    u98:x:10098:100::/home/u98:/bin/bash
    u99:x:10099:100::/home/u99:/bin/bash
    u100:x:100100:100::/home/u100:/bin/bash
     
    [root@51cto ~]# cat /etc/shadow
    u1:$1$eGEU/Vcr$P1/465f8is/RoZRqA.hOw1:14881:0:99999:7:::
    u2:$1$eGEU/Vcr$P1/465f8is/RoZRqA.hOw1:14881:0:99999:7:::
    u3:$1$eGEU/Vcr$P1/465f8is/RoZRqA.hOw1:14881:0:99999:7:::
    …….
    u97:$1$eGEU/Vcr$P1/465f8is/RoZRqA.hOw1:14881:0:99999:7:::
    u98:$1$eGEU/Vcr$P1/465f8is/RoZRqA.hOw1:14881:0:99999:7:::
    u99:$1$eGEU/Vcr$P1/465f8is/RoZRqA.hOw1:14881:0:99999:7:::
    u100:$1$eGEU/Vcr$P1/465f8is/RoZRqA.hOw1:14881:0:99999:7:::
     
    [root@51cto ~]# cat /etc/group
    …….
    u1:x:100:u1,u2,u3,u4,
    ……..
    u96,u97,u98,u99,u100
    使用用户登陆测试:
    login as: u51
    [email protected]'s password:
    -bash-3.2$ csh
    [u51@51cto ~]$ whoami
    u51        //OK,测试完毕
相关阅读 更多 +
排行榜 更多 +
密室把他们都杀了安卓版

密室把他们都杀了安卓版

飞行射击 下载
死神狙击手

死神狙击手

飞行射击 下载
神兵射击手游

神兵射击手游

飞行射击 下载