Linux学习笔记一

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。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180118A0UQL900?refer=cp_1026

扫码关注云+社区