一、Linux系统上用户和用户组类别
用户类别
1、管理员 uid=0
2、普通用户 id:1~65535
2.1、系统用户 id:1~499,一般不允许登陆系统
2.2、一般用户 id:500~60000
组类别
1、管理员组
2、普通组
2.1、系统组
2.2、一般组
基本组:用户的默认组
私有组:每个用户都有自己的默认组,没有指定所属组,系统默认创建一个和用户名同名的组
附加组:又称额外组,默认组之外的组
针对/etc/passwd、 /etc/shadow配置文件,在/etc/default目录下有两个文件是定义创建用户初始化的文件
有兴趣的可以研究下
[lovelace@lovelace default]$ ll total 16 -rw-r--r-- 1 root root 1756 Jan 20 2012 nss -rw------- 1 root root 119 Oct 25 2011 useradd
二、关于用户管理
涉及到的命令有:useradd 、userdel、usermod、passwd、chsh、shfn、finger、id、change
详情可参考下图:
三、关于组管理
涉及到的命令有:groupadd、groupdel、groupmod、gpasswd
详情可参考下图:
四、问题延伸
案例:新建一个用户lovetest,没有创建家目录,然后切换到该用户模式下,发现bash环境有问题,这时我们该怎么做?
#新建用户,不创建家目录 [root@lovelace ~]# useradd -M lovetest #验证家目录是否存在 [root@lovelace ~]# ls /home/ kale mark practice scripts test test2 user2 user4 user6 user8 lovelace nick python1.py shell test1 user10 user3 user5 user7 user9 #给用户lovetest创建密码 [root@lovelace ~]# passwd lovetest Changing password for user lovetest. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. #切换到lovetest用户下,这时我们将看到如下的结果 [root@lovelace ~]# su -l lovetest su: warning: cannot change directory to /home/lovetest: No such file or directory -bash-3.2$ ls ls: .: Permission denied
碰到这种情况我们该怎么办?
解决方法如下:
#把/etc/skel目录复制到/home目录下,并且命名为lovetest [root@lovelace ~]# cp -r /etc/skel /home/lovetest #然后给/home/lovetest设置属组属主,注意要使用递归选项 [root@lovelace ~]# chown -R lovetest.lovetest /home/lovetest/ #给/home/lovetest目录设置权限,注意要使用递归选项 [root@lovelace ~]# chmod -R go-rwx /home/lovetest/
再次切换用户看看效果:
[root@lovelace ~]# su -l lovetest [lovetest@lovelace ~]$ ls [lovetest@lovelace ~]$ pwd /home/lovetest
五、后记
关于用户管理和组管理的知识点很多,需要我们用心去学习,特别是关于用户时间限制这一块特别重要,希望朋友们要认真学习下。。。。
如有错误和不足之处,敬请指正,QQ:993182876
by lovelace
2013-5-15 魔都