WenRou's Blog

新浪微薄腾讯微薄

最新碎语:测试图片碎语哦

您的位置:WenRou's Blog >lnamp> CentOS用户、用户组的相关操作

CentOS用户、用户组的相关操作

一:用户及用户组存放文件

 

        1、/etc/passwd

 

                其中每一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:

  

  1. username:password:UserID:Group ID:comment:home directory:shell  

                a)     username 用户名

                它唯一地标识了一个用户帐号,用户在登录时使用的就是它。

                b)     password 该帐号的口令。passwd文件中存放的密码是经过加密处理的。

                c)     User ID 用户识别码,简称UID。Linux系统内部使用UID来标识用户,而不是用户名。UID是一个整数,用户的UID互不相同。

                d)     Group ID 用户组识别码,简称GID。不同的用户可以属于同一个用户组,享有该用户组共有的权限。与UID类似,GID唯一地标识了一个用户组。

                e)     comment 这是给用户帐号做的注解。它一般是用户真实姓名、电话号码、住址等,当然也可以是空的。

                f)      home directory 主目录。这个目录属于该帐号,当用户登录后,它就会被置于此目录中,就像回到家一样。一般来说,root帐号的主目录是/root,其他帐号的家目录都在/home目录下,并且和用户名同名。

                g)     login command 用户登录后执行的命令。一般来说,这个命令将启动一个shell程序。例如,用bbs帐号登录后,会直接进入bbs系统,这是因为bbs帐号的login command指向的是bbs程序,等系统登录到bbs时就自动运行这些命令。

                系统帐号:系统中还有一些默认的帐号,如daemon、bin等。这些帐号有着特殊的用途,一般用于进行系统管理。这些帐号的口令大部分用(x)号表示,代表它们不能在登录时使用。

 

        2、/etc/shadow

 

                为了增强系统的安全性,Linux系统还可以为用户提供MD5和Shadow安全密码服务。如果在安装Linux 时在相关配置的选项上选中了MD5和Shadow服务,那么将看到的/etc/passwd文件里的passwd项上无论是什么用户,都是一个“x”,这就表示这些用户都登录不了;系统其实是把真正的密码数据放在了/etc/shadow文件里。

 

        3、/etc/group 文件

 

                组名:口令:组标识号:组内用户列表

                a) “组名”是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。

                b) “口令”字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。

                c) “组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组。

                d) “组内用户列表”是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

 

二:用户操作

 

        1、:用户添加

 

                创建用户的不同方式

 

                添加用户使用useradd或者adduser来完成、补充部分有详细的命令说明。

                下面三行每行命令都添加了一个用户、但是结果是不同的。

 
  1. useradd test_user_1  

                a)     只添加一个用户、什么都没有、包括home主目录、登录后使用的shell。属于默认的同名组——test_user_1。此组自动创建、可使用参数指定不创建组。

 

 
  1. useradd –s /bin/bash test_user_2  

                b)     添加一个指定shell的普通用户、属于默认的同名组——test_user_2。此组自动创建、可使用参数指定不创建组。

 
  1. groupaddtest_group_1  
  2. useradd –m –s /bin/bash –g test_group_1 test_user_3  

                c)     第一行添加一个组、添加一个用户、拥有home主目录、登录后使用的shell、指定所在分组。

                创建好用户记得指定密码、

 
  1. passwd usernamepassword  

                exp: 指定test_user_1的密码是1

 
  1. passwdtest_user_1 1  

 

                完善被创建用户

 

                上面第一行添加的用户不能正常使用、但是我们可以通过以下步骤来尝试解决、

                a)    指定好密码

                b)   root身份登录在home下创建test_user_1文件、修改此文件属性、主要是修改用户、用户组、权限

                c)   编辑/etc/passwd文件下test_user_1的shell 、改为/bin/bash 。

                d)   切换试试、如果正常使用、则打完收工。

                exp:

 
  1. passwd test_user_1 1  
  2. mkdir /home/test_usre_1  
  3. chown –R test_user_1:test_group_1/home/test_user_1  
  4. usermod –s /bin/bash test_usre_1  
  5. logout  

                adduser

                以人机交互的方式创建一个比较完善的普通用户。

 

        2:用户删除

                删除方式

                a)     userdel username ——只会删除用户、不会删除用户主目录(如果有的话)、也有可能会删除同名创建的用户组(如果这个用户组下只有这一个用户的话)。

                b)     userdel –r usrename —— 不但会删除用户、也会删除用户主目录(如果有的话,没有则会有提示)也有可能会删除同名创建的用户组(如果这个用户组下只有这一个用户的话)。

 
  1. exp:  
  2. userdeltest_usre_1  
  3. userdel –rtest_user_2  
 
  1. userdel test_user_1   

 

                如果test_user_1在创建的时候没有指定group、并且同时创建的同名group——test-user_group下没有其他用户、则test_usre_group也会被删除。

 

        3:用户的修改

 

                命令usermod:

                常用的就是修改用户名、用户密码、用户组、和使用的shell和home主目录

 

                a)    修改用户名:

 
  1. usermod –ltest_usre_mod test_user_1  

 

                b)    修改shell

 
  1. usermod –s/bin/bash test_user_mod  


                c)    修改用户组

 
  1. usermod –gtest_group_1 test_user_mod  


                d)    添加用户组

 
  1. usermod –Gtest_group_2 test_user_mod  


        4:用户的查看

 

                所有用户的信息都放在/etc/passwd这个文件下面。可以使用cat/etc/passwd这个命令查看。


 

三:用户组

 

        1:添加用户组

 

                groupadd命令、可以在命令行窗口中使用 man groupadd 或者 groupadd info 或者groupadd –help查看使用方法

 

                a)    创建一个任何用户组的用户test_nogpuser_1

 
  1. useradd –Ntest_nogpuser_1  


                b)    创建一个没有任何用户的用户组test_nousergp_1

 
  1. groupaddtest_nousergp_1  

                c)    将用户test_nogpuser_1添加到test_nousergp_1中

                gpasswd 命令用于操作用户组中用户、添加删除用户、删除用户组密码等操作、可以在命令行窗口键入 gpasswd –help获取说明

 
  1. gpasswd –atest_nogpusre test_nousergp_1  

                d)     将用户test_nogpuser_1从test_nousergp_1中删除

 
  1. gpasswd –dtest_nogpuser test_nousergp_1  


        2:用户组修改

 

        groupmod 命令、命令窗口输入groupmdo –help 查看帮助

 

                a)    修改用户组名

 
  1. groupmod –ntest_del_group test_nousergp_1  

                b)    修改用户组GID

 
  1. groupmod –p 1test_del_group  

 

        3:删除用户组

      

                a)    创建用户的时候默认创建的用户组、在不添加其他用户的情况下、用户被删除、则此用户组就会被删除。

                b)    不能删除有用户的用户组

                c)    删除空用户的用户组

 
  1. groupdeltest_nousergp_1  

 

 

补充:

        1、命令:usermod参数详解

         

                功能说明:修改用户帐号。

                语  法:usermod [-LU][-c<备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]

                补充说明:usermod可用来修改用户帐号的各项设定。

                参  数:

                -c<备注>  修改用户帐号的备注文字。

                -d登入目录>  修改用户登入时的目录。

                -e<有效期限>  修改帐号的有效期限。

                -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。

                -g<群组>  修改用户所属的群组。

                -G<群组>  修改用户所属的附加群组。

                -l<帐号名称>  修改用户帐号名称。

                -L  锁定用户密码,使密码无效。

                -s<shell>  修改用户登入后所使用的shell。

                -u<uid>  修改用户ID。

                -U  解除密码锁定。

 

         2、命令:useradd 参数详解

 

                -c 备注加上备注。并会将此备注文字加在/etc/passwd中的第5项字段中

                -d 用户主文件夹。指定用户登录所进入的目录,并赋予用户对该目录的的完全控制权

                -e 有效期限。指定帐号的有效期限。格式为YYYY-MM-DD,将存储在/etc/shadow

                -f 缓冲天数。限定密码过期后多少天,将该用户帐号停用

                -g 主要组。设置用户所属的主要组

                -G 次要组。设置用户所属的次要组,可设置多组

                -M 强制不创建用户主文件夹

                -m 强制建立用户主文件夹,并将/etc/skel/当中的文件复制到用户的根目录下

                -p 密码。输入该帐号的密码

                -s shell。用户登录所使用的shell

                -u uid。指定帐号的标志符user id,简称uid

 

         3、命令gpasswd参数详解

 

                -a, --add USER                添加用户到组

                -d, --delete USER              从组删除用户

                -h, --help                    显示帮助信息

                -r, --remove-password          删除密码

                -R, --restrict                  限制用户登入组,只有组中的成员才可以用newgrp加入该组

                -M, --members USER,...        指定组成员和-A的用途差不多

                -A, --administrators ADMIN,...   指定管理员



4、用户列表文件:/etc/passwd
用户组列表文件:/etc/group

查看系统中有哪些用户:cut -d : -f 1 /etc/passwd
查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
查看用户操作:w命令(需要root权限)
查看某一用户:w 用户名
查看登录用户:who
查看用户登录历史记录:last


---

转载请注明本文标题和链接:《CentOS用户、用户组的相关操作

发表评论

19 + 6 =
路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交