1. 用户与用户组
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向
系统管理员申请一个账号,然后以这个账号的身份进入系统。
Linux系统中可以:
配置多个用户、配置多个用户组、用户可以加入多个用户组中。
Linux中关于权限的管控级别有2个级别,分别是:
针对用户的权限控制;针对用户组的权限控制
比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。
建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个
组中。那么,所有用户就具有了和组一样的权限,这就是用户组。
用户和用户组的对应关系有以下 4 种:
一对一:一个用户可以存在一个组中,是组中的唯一成员;
一对多:一个用户可以存在多个用户组中,此用户具有这多个组的共同权限;
多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限;
多对多:多个用户可以存在多个组中,也就是以上 3 种关系的扩展。
2. useradd、userdel、usermod、passwd、id
useradd命令:
[root@localhost ~]# useradd [选项] 用户名
[root@localhost ~]# useradd –d /home/sam -m sam
#此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录 /home/sam(/home为默认的用户#主目录所在的父目录)。
userdel命令:
[root@localhost ~]# userdel -r 用户名
-r 选项表示在删除用户的同时删除用户的家目录。
注意,在删除用户的同时如果不删除用户的家目录,那么家目录就会变成没有属主和属组的目录,
也就是垃圾文件。
usermod命令:
[root@localhost ~]# usermod [选项] 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等
,这些选项的意义与useradd
命令中的选项
一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
[root@localhost ~]# usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。
passwd命令:
[root@localhost ~]# passwd [选项] 用户名
假设当前用户是sam,则下面的命令修改该用户自己的口令:
[root@localhost ~]$ passwd
Old password:******
New password:*******
Re-enter new password:*******
如果是超级用户,可以用下列形式指定任何用户的口令:
[root@localhost ~]# passwd sam
New password:*******
Re-enter new password:*******
普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,
如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知
道原口令。
为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大
写、小写字母和数字,并且应该与姓名、生日等不相同。
为用户指定空口令时,执行下列形式的命令:
[root@localhost ~]# passwd -d sam
此命令将用户 sam 的口令删除,这样用户 sam 下一次登录时,系统就不再允许该用户登录了。
passwd 命令还可以用 -l(lock) 选项锁定某一用户,使其不能登录,例如:
[root@localhost ~]# passwd -l sam
id命令:
[root@localhost ~]# id 用户名
[root@localhost ~]# id lamp
uid=501(lamp) gid=501(lamp) groups=501(lamp)
#能看到uid(用户ID)、gid(初始组ID), groups是用户所在组,这里既可以看到初始组,如果有附加组,则也能看到附加组