1. 用户组的分类
管理员 root :具有使用系统所有权限的用户,其UID 为0.
普通用户 : 即一般用户,其使用系统的权限受限,其UID为500-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.密码和密码文件的配置
用户帐户本身在 /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条目相关联的特别用户帐户。第二个字段包含一个加密的密码。其余的字段在下表中描述:
字段 8 该帐户被禁用的天数(-1 表示“该帐户被启用”) 字段9保留供将来使用
保存系统中组的信息文件是/etc/group
将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中能有多个用户,一个用户也能属于不同的组。当 一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。用户要访问属 于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。用户组的所有信息都存放在/etc/group文件中。此文件的格式也 类似于/etc/passwd文件,由冒号隔开若干个字段,这些字段有:(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