码迷,mamicode.com
首页 > 其他好文 > 详细

用户和组

时间:2016-08-02 17:25:17      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:用户      

1. 用户组的分类

    管理员 root  :具有使用系统所有权限的用户,其UID 为0.

    普通用户  : 即一般用户,其使用系统的权限受限,UID500-60000之间.

    系统用户 :保障系统运行的用户,一般不提供密码登录系统,其UID为1-499之间.

2. 修改用户及用户组的命令:

    useradd    usermod    userdel    groupadd    groupmod    groupdel    

    a. 增加用户:useradd [options] username

        options:   -u : UID
                   -g : GID

                   -c   :注释     用户设置对账户的注释说明文字

                   -d : 指定用户家目录,默认在/home/username

                   -s :指定用户所在的shell环境

                   -G :指定用的附加组

例 : 增加一个用户test UID为1111 家目录为/home/test, shell为/bin/sh,附加组为root


# useradd -u 1111 -d /home/test -G root -s /bin/sh test

此时的用户是不能登录的,因为没有设置密码,并且,有了密码登陆后状态异常,因为没有正常家目录该有的配置文件,所以,需要我们配置一下:

[root@centous1 ~]# passwd test
更改用户 test 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@centous1 test]#  cd /etc/skel/
[root@centous1 skel]# ls
[root@centous1 skel]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla
[root@centous1 skel]# cp -r /etc/skel/.[^.]* /home/test
[root@centous1 skel]# cd /home/test
[root@centous1 test]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla

        b. 修改用户: usermod [options] username

        options:

            -u UID: 新UID 

            -g GID: 新基本组 

            -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加 组将会被覆盖;若保留原有,则要同时使用-a选项,表示append; 

            -s SHELL:新的默认SHELL; 

            -c ‘COMMENT‘:新的注释信息; 

            -d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移 动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项 

            -l login_name: 新的名字;

            -L: lock指定用户,在/etc/shadow 密码栏的增加 ! 

            -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉 

            -e YYYY-MM-DD: 指明用户账号过期日期; 

            -f INACTIVE: 设定非活动期限;

   usermod用法和useradd一样,只不过它是用来改变用户的属性。

        c.  删除用户 

                userdel test   # 这样删除的话,用户是没有了,但是用户的家目录还有

                userdel -r test    # 这样删除的话,用户和家目录都没有了

groupadd  增加用户组: groupadd  -g  1110 groupname  #指定用户组的 UID并建立

groupmod  修改用户组: group -n group_name: 新名字     -g GID: 新的GID;

groupdel  删除用户组: groupdel GROUP


3. 组密码:gpasswd

gpasswd [OPTION] GROUP 

-a user: 将user添加至指定组中; 

-d user: 从指定组中移除用户user 

-A user1,user2,...: 设置有管理权限的用户列表

newgrp命令:临时切换基本组; 如果用户本不属于此组,则需要组密码

[root@centous1 ~]# gpasswd -a test root
Adding user test to group root
[root@centous1 ~]# gpasswd -d test root
Removing user test from group root

4.密码和密码文件的配置

Linux提供了集成的系统管理工具userconf,他能用来对用户账号进行统一管理。


      用户帐户本身在 /etc/passwd 中定义。Linux 系统包含一个 /etc/passwd 的同伴文件,叫做 /etc/shadow。该文件不像 /etc/passwd,只有对于 root 用户来说是可读的,并且包含加密的密码信息。

[root@centous1 ~]# cat /etc/passwd | head -n 6
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
[root@centous1 ~]# cat /etc/shadow |head -n 6
root:$6$WC1TihR1JeISuS0/$3xpGDIgJuN9xn9.N0AA9SYAt05dI.iFShcSVWCx3vZjUbMjfABSumpXHUvc3C1Er1wV7xvzjK1Z83qf4yuAkQ/:16923:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::
sync:*:15980:0:99999:7:::
 每一行给一个特别帐户定义密码信息,同样的,每个字段用 : 隔开。第一个字段定义和这个shadow条目相关联的特别用户帐户。第二个字段包含一个加密的密码。其余的字段在下表中描述: 
              
              字段 3 自 1/1/1970 起,密码被修改的天数 
              字段 4 密码将被允许修改之前的天数(0 表示“可在所有时间修改”) 
              字段 5 系统将强制用户修改为新密码之前的天数(1 表示“永远都不能修改”) 
              字段 6 密码过期之前,用户将被警告过期的天数(-1 表示“没有警告”) 
              字段 7 密码过期之后,系统自动禁用帐户的天数(-1 表示“永远不会禁用”) 

              字段 8 该帐户被禁用的天数(-1 表示“该帐户被启用”) 字段9保留供将来使用 

保存系统中组的信息文件是/etc/group

    将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中能有多个用户,一个用户也能属于不同的组。当 一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。用户要访问属 于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。用户组的所有信息都存放在/etc/group文件中。此文件的格式也 类似于/etc/passwd文件,由冒号隔开若干个字段,这些字段有:
组名:口令:组标识号:组内用户列表
(1)“组名”是用户组的名称,由字母或数字构成。和/etc/passwd中的登录名相同,组名不应重复。
(2)“口令”字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或是*。
(3)“组标识号”和用户标识号类似,也是个整数,被系统内部用来标识组。

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

[root@centous1 ~]# cat /etc/group |  head -n 6
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:

5. 批量创建用户

newusers  passwd格式文件 批量创建用户

  chpasswd  批量修改用户口令

首先创建用户文件

[root@centous1 ~]# cat users.txt
hehe:x:2000:2000::/home/hehe:/bin/bash
hehe1:x:2001:2001::/home/hehe1:/bin/bash
hehe2:x:2002:2002::/home/hehe2:/bin/bash
hehe3:x:2003:2003::/home/hehe3:/bin/bash
hehe4:x:2004:2004::/home/hehe4:/bin/bash

然后用newusers 创建用户

[root@centous1 ~]# newusers users.txt
[root@centous1 ~]# cat /etc/passwd | tail -n 6
test:x:1111:1111::/home/test:/bin/sh
hehe:x:2000:2000::/home/hehe:/bin/bash
hehe1:x:2001:2001::/home/hehe1:/bin/bash
hehe2:x:2002:2002::/home/hehe2:/bin/bash
hehe3:x:2003:2003::/home/hehe3:/bin/bash
hehe4:x:2004:2004::/home/hehe4:/bin/bash

创建好用户后,还不能登录,因为linux需要密码才能以用户身份登录系统,用chpasswd命令,给用户设置密码

[root@centous1 ~]# cat pass.txt
hehe:123456
hehe1:123456
hehe2:123456
hehe3:123456
hehe4:123456
[root@centous1 ~]# cat pass.txt | chpasswd

设置完密码,但是用户登录上去异常,和上述一样,给用户的家目录添加配置文件

[root@centous1 skel]# cp -r /etc/skel/.[^.]* /home/hehe
[root@centous1 skel]# cd /home/hehe
[root@centous1 test]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla

6.常用小命令

ps aux 查看系统用户进程

getent passwd 用户名 查看用户的信息

groupmems -l -g 组名  查看组里边都有哪些用户

id 用户名   查看UID GID 所在组


用户和组

标签:用户      

原文地址:http://11202821.blog.51cto.com/11192821/1833440

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!