Linux学习笔记——用户和组管理

来源:互联网 发布:网上的原油期货软件 编辑:程序博客网 时间:2024/04/29 16:02

新建/删除用户及组

useradd

passwd

userdel

groupadd

gpasswd

groupdel


               useradd shrek    将建立名为shrek的用户,useradd程序将做以下步骤:

               程序将向两个配置文件中创建用户的信息 /etc/passwd  /etc/shadow   

               程序将向组配置文件中创建shrek组  /etc/group  /etc/gshadow

               程序将创建用户的主目录 /home/shrek  并将 /etc/skel中所有文件拷贝过来

               但是该用户还是不能使用,还需要使用 passwd shrek将其密码改变

                刚刚创建的用户默认是属于shrek组的

                userdel shrek   将删除shrek用户,但是默认不会删除其主目录 

                userdel –r shrek 将删除用户的主目


                 /etc/login.defs    与用户相关的文件的默认值在此文件中


                groupadd  students       添加students 组

                groupdel    students       删除students组           

               

                将一个用户添加至多个组    usermod  -G  root,bin,todd

                将一个组添加多个用户        gpasswd  -M  todd,ttt,root

user相关命令汇总

                 useradd                  添加用户

                 usermod                更改用户信息

                  userdel                   删除用户

                  passwd                  更改用户密码

                  su                            切换用户

                   exit                          退出用户shell

                  

                   useradd     添加用户,但用户不能直接来登录,需要用passed更改其密码。

                        useradd  abc        添加了一个名字为abc的用户         

                        passwd      更改密码时,普通用户更改密码必须符合复杂性要求:比如至少6位密码,密码不能是一个单词,不能与用户名一样等

                         passwd      改自己的密码

                         passwd   abc    改abc的密码


                  usermod  可以用参数来修改用户的相关内容 , usermod的实质是对 /etc/passwd文件中内容进行修改

                                      -d 改变用户的主目录        -e 设置用户密码的过期时间  -g 改变用户的gid    

                                       -G 将用户指定到多个组  -l 改变用户的登录用名  -s 改变用户的默认shell  

                                       -L 使帐号锁定  -U 为用户密码解锁

                                        usermod –s /bin/tcsh shrek   让shrek用户使用tcsh 做为自己的shell

                 

用户和组配置文件

                /etc/passwd –用户账号信息文件

                /etc/shadow –用户密码文件

               /etc/group –用户组账号信息文件

              /etc/gshadow –组密码文


               /etc/passwd 文件用于定义系统的用户账号。所有用户对于passwd文件都有读取权限,为了安全考虑,该文件中默认没有用户的口令,用户的口令保存在/etc/shadow

       中,但是使用authconfig命令可以将口令放回/etc/passwd文件中

               cat /etc/passwd

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

               …..

               /etc/passwd文件用 “:”分割七个字段

               account      password       UID      GID      GECOS       directory       Shell

                root                    x                   0          0            root               /root            /bin/bash

                sync                   x                    5          0             sync             /sbin           /bin/sync 

              

               Account  :用户账号名称
               Passwd   用户口令,安全性考虑用 “x”代替该字段,密码保存在shadow文件中

               UID    用户号

               GID    用户所属的组号

               GECOS   可选的用户信息说明

               Directory   用户的主目录

               Shell   用户所使用的shell,如果该字段为空则使用“/bin/sh”


              使用useradd添加的帐号时,选项将在/etc/login.defs文件中定义:

               UID_MIN                 500                     自己添加用户的UID(用户编号)最小

               UID_MAX                60000                   自己添加的用户UID最大为

              GID_MIN                 500                     自己添加组GID(组编号)最小为

               GID_MAX                60000                   自己添加组GID最大为

                CREATE_HOME          yes                     是否为用户建立home目录
 

               /etc/shadow  用于存放用户口令等重要信息,该文件只有root用户可以读取。

              #ls –l /etc/shadow     其权限仅root用户可以访问 

              -r--------    1 root     root         1466 Jun 12 11:24 /etc/shadow

              #cat /etc/shadow

              root:$1$7v36vcBU$XeiisM2qY7ZYYhDm63xWX1:12924:0:99999:7:::

              … 

              shadow文件中默认保存的是已经经过md5加密的用户口令 

               shadow文件的每一行中使用“:”分割成9段,每一项具体来说

               1登录名    2经md5加密的用户密码    3密码上一次被更改的unix时间(从1970年1月1日起的天数)

              4密码最短历史(密码再过几天可以被更改)    5密码最长历史(密码再过几天必须改)   6密码过期前多少天提醒用户

               7密码过期几天后帐号会被取消        8帐号失效的unix时间           9最后一段保留 

               /etc/group存放用户的组账号信息。文件中的每一行都定义一个用户组的信息。

                #cat /etc/group

                root : x : 0 : root

                 bin : x 1 : root , bin , daemon

                  …

                 group文件的各个字段

                 Group name              password               GID                 User list
                 Root                                    x                           0                       Root

                 Bin                                        x                           1                  Root,bin,daemon

                 Gourp name            用户组名称

                  Password                用户组口令

                  GID                            用户组标识号

                  User list                     属于该组的成员列表

                  

                   /etc/gshadow用于定义用户组口令,组管理员信息。只有root用户可以读取。


group相关命令

groupadd        添加一个组

groupmod       更改组的信息

groupdel          删除一个已存在的组

gpasswd          修改组密码或添加用户到组

groups              显示当前用户所属组

 id                       显示当前用户信息及所属组


                    groupadd   组账号名称

                    #groupadd students       在系统中添加组账号,该组账号的GID大于500。

                     #groupadd –r admins  建立组账号(GID)小于500的组。 

                     groupmod –g       新的GID    用户组账号名                         用于更改指定用户组的GID,组账号名不变。

                    #groupmod –g 503 mygroup

                     groupmod –n 新的组名 原用户组名          改变用户组的名称,其GID保持不变

                     #groupmod –n newgroup oldgroup 

                     如果希望将用户添加到组,可以直接更改/etc/group文件,也可以使用gpasswd命令

                      #cat /etc/group

                      … …

                      sys:x:3:root,bin,adm 

                      将用户添加在组名后,用“,”格开,如上,root bin adm三个用户属于sys组
                    

                      gpasswd –a 用户账号名 组账号名           将一个用户添加入一个组。

                      #groups user1 

                       user1:user1

                      #gpasswd –a user1 bin

                       #groups user1

                       user1:user1 bin  


                       从组中删除用户

                       gpasswd –d 用户账号名 组账号名              将用户账号从指定用户组中删除。组管理员有执行该命令的权限。

                       #gpasswd –d user1 bin

                       #groups user1

                       user1:user1

                       提示:一个用户当前只可以属于一个组,这个组叫用户当前组。当用户建立文件时,文件的所属组就是用户当前组。 


                      groups

                      直接键入groups:可以查询当前用户属于哪些组。

                      groups 用户名          可以查询某一指定用户属于哪些组。

                      例如:

                        #groups root

                        root : root


                       id                  显示用户的系统标志,报告用户名、用户号(ID)、组名和组号(GID)。

                                            id [参数]

                                           -g只显示组号。

                                            -G只显示次要组。

                                            -u只显示用户号。

                                            例如:

                                             # id

                  uid=0(root)  gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(whell)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

                       

                    

当前系统中登陆的用户

users                  显示当前系统登陆的用户

who                    当前登陆在本机的用户及来源

w                         当前登陆本机的用户及运行的程序

write                     给当前联机的用户发消息

wall                     给所有登陆在本机的用户广播消息

last                      查看用户的登陆日志

lastlog                查看每个用户最后登陆的情况

finger                  查看用户信息                    


                           users

                           shrek root root   当前登陆的用户有 shrek root root

                          

                           who

                           root     tty1         Jun 13 12:26

                           shrek    tty5         Jun 13 15:39

                           root     pts/0        Jun 13 12:35 (192.168.1.224)


                           w 

                           15:41:50  up  3:16,  3 users,  load average: 0.00, 0.00, 0.00

                           USER     TTY      FROM                    LOGIN@        IDLE         JCPU       PCPU      WHAT

                            root         tty1         -                             12:26pm        2:08          0.05s        0.05s       -bash

                           shrek        tty5         -                             3:39pm          2:02          0.00s        0.00s        -bash

                           root         pts/0    192.168.1.224         2:35pm         0.00s         0.52s       0.01s          w 

                          

                           write

                           (mesg   y    允许发消息)

                           write root tty1

                            ctrl+d 终止输入

                           给登陆在tty1第一个控制台上的用户发信息

                 
                          finger (centos貌似没有此命令)

                          finger可以用来显示系统某一用户的详细信息,并且支持用户编辑说明档。finger还可以作为一个网络服务,支持远端查询。

                           [root@uplooking root]# finger root

                          Login: root                             Name: root

                          Directory: /root                        Shell: /bin/bash

                          On since Tue Jun 14 18:03 (CST) on pts/0 from 192.168.1.224

                          No mail.

                          No Plan.


原创粉丝点击