Linux发行版本可以分为三个主要的分支:RedHat、Slackware和Debian。每个分支都拥有一个最具代表性的商业服务器级的发行版,它们是:Red Hat Enterprise Linux,简称RHEL;SUSE Linux Enterprise,简称SUSE;Ubuntu Server,简称Ubuntu。不管谁家的Linux发行版,都不会有本质的区别,但是在细节上还是有一些差别的,这主要体现在管理工具的选用上。
Linux的用户被划分为根用户和普通用户两种。其中根用户是系统内置用户,用户名永远都是root,所以也叫root用户。Linux的root用户与Windows的administrator用户是一样的,都拥有系统的最高控制权。普通用户一般是用户自己定义的,所以没有什么特别的权限。
shell命令提示符是$代表是普通用户,提示符是#代表是root用户。
less命令的使用方法:
翻页用Space,
查找用反斜杠“/”紧跟着正则表达式,
用n查找下一个匹配项,
用Shift+n查找前一个匹配项。
Linux下的用户等级实际上是非常简单的,就两个等级——root和非root。不管用户名有多NB,只要不是root,它就一定是普通用户,权利大小都是相同的。
当创建一个普通用户之后,我们就会拥有一个自己的文件目录,这个目录一般是/home/[username],后面的[username]与用户名相同。里面可以放一些私人的文件,可以保证别人偷不走。只要离开home目录,就进入了公共区间,一般都是只读的,但有少数的位置是能够写入数据的,比如/tmp目录。
Linux是一个地道的多用户操作系统,只要你的硬盘足够大,最多可以添加(2的32次方-1)个用户。
用户组能够在更高层面来抽象用户所能给访问文件的数量,结合不同的用户组,就能够给每个用户构建出独一无二的文件访问列表,而且不同的用户之间还能做到交错纵横,有条不紊。一个用户可以属于多个用户组,且一个用户至少应该属于一个用户组。
/etc/passwd文件是用来存放用户基本信息的:
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
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
……
文件的每一行都代表一个用户,每一行由冒号“:”分割成7个字段,结构如下:
用户名:密码:UID:GID:用户全名:home目录:shell
UID(User ID)和GID(Group ID),无论是用户还是用户组,Linux只靠它们来识别。UID和GID是可以相同的,因为它们代表的是不同的概念。
/etc/group文件查看组信息:
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
……
与/etc/passwd类似,同样是每行代表一个用户组,被冒号“:”分割成了四个字段,结构如下:
组名:用户组密码:GID:用户组内的用户名
新建一个用户时,会默认指定这个用户的初始用户组,在/etc/passwd文件中的GID字段代表的就是初始用户组。一个用户可以属于多个用户组,除初始用户组外的称为支持用户组。如果一个用户组是一个用户的初始用户组,则该用户的用户名可以不出现在“用户组内的用户名”这个字段的。其他属于该用户组的用户名则以“,”分割。
管理用户和组
Linux系统为用户和组的增、删、改提供了一些基本的命令。这些命令的作用机制就是对/etc/passwd和/etc/group这两个文件进行增、删、改来完成的。外加一个/etc/shadow文件专门用来管理密码。
Linux中添加一个新的用户,可以使用adduser或useradd命令。在Ubuntu中adduser是一个脚本,而useradd是一个二进制程序,前者对后者进行了封装,更加智能。但是在CentOS中adduser和useradd完全相同。useradd在任何Linux发行版都是一样的,所以我们最好牢记它。
新建用户 useradd命令:
格式:useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
参数说明:
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的主目录,替换系统默认值/home/
-D:变更预设值。
-e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.
-g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。默认值为/bin/bash。
-u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。
删除用户userdel命令:
userdel很简单,只有一个参数可选 -r ;如果加参数-r ,表示在删除用户的同时,一并把用户的家目录及本地邮件存储的目录或文件也一同删除;不加参数 -r,只会删除用户。
修改用户信息usermod命令:
格式:usermod [-LU][-c ][-d ][-e ][-f ][-g ][-G ][-l ][-s ][-u ][用户帐号]
参数说明:
-c 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e 修改帐号的有效期限。
-f 修改在密码过期后多少天即关闭该帐号。
-g 修改用户所属的群组。
-G 修改用户所属的附加群组。
-l 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s 修改用户登入后所使用的shell。
-u 修改用户ID。
-U 解除密码锁定。
至于用户组的管理实际上是跟用户很像的,也拥有差不多的命令,差别就是将“user”这个前缀换成“group”,即groupadd、groupmod、groupdel。此外还有一个用于管理用户组密码的gpasswd。
领取专属 10元无门槛券
私享最新 技术干货