1、用户与组概述

1)用户账号:超级用户、程序用户、普通用户

2)组账号:每个用户都至少属于一个组,这个组称为该用户的基本组;如果该用户还属于其他组,则称这些组为该用户的附加组

3)UID和GID

UID:root用户:0;程序用户:1——499;普通用户:500——60000

GID:root组账号:0;程序组账号:1——499;普通组账号:500——60000

注:普通用户和组账户的UID、GID范围的配置文件:/etc/login.defs,可以更改

2、用户账号管理

1)用户账号文件

/etc/passwd(7个字段)

root:x:0:0:root:/root:/bin/bash
用户名:口令:UID:GID:用户全名:宿主目录:登陆Shell

注:所有用户都可以读取passwd文件,但只有root用户才能修改

2)用户密码文件

/etc/shadow(9个字段)

nobody:!!:13675:0:99999:7:::
字段 1 用户名

字段 2 使用MD5加密的密码字符串,为空表示无密码,当为“*”或“!!”时表示此用户不能登陆系统
字段 3 密码被修改的天数,自 1/1/1970 开始计算(0表示下次登陆时必须修改密码)
字段 4 密码最短使用天数(0 表示“可在任何时间修改”)
字段 5 密码最长使用天数(1 表示“永远都不能修改”)/etc/login.defs
字段 6 提前多少天警告用户密码将过期,默认为7天(-1 表示“没有警告”)
字段 7 密码过期后多少天内禁用此用户(-1 表示“永远不会禁用”)
字段 8 帐号失效时间(-1 表示“该帐户被启用”)
字段 9 保留字段,供将来使用

注:只有root用户能读取shadow文件,不允许直接编辑此文件,但可强制修改保存

3)用户账号初始配置文件

账户模板目录:/etc/skel

.bash_profile:账户每次登陆时执行

.bash_logout:账户每次退出登陆时执行

.bashrc:每次加载shell时执行

若希望对所有用户配置,可修改全局配置文件/etc/profile和/etc/bashrc

注:文件~/.vimrc是vi编辑器默认加载的配置文件,可在每个用户的宿主目录中建立,用来设置参数

4)添加用户useradd

-u  :指定用户的UID

-g  :指定用户的基本组名(或使用GID)

-G  :指定用户的附加组名(或使用GID)

-d  :指定用户的宿主目录位置

-e  :指定帐号失效时间,如-e 2012-02-14

-M  :强制不建立使用者宿主目录

-m  :强制建立使用者宿主目录

-s  :指定用户的登陆Shell,默认是/bin/bash,如果指定为/sbin/nologin,表示禁止登陆

注:①将用户的shell指定为/sbin/nologin或/bin/false都可以禁止用户登陆

    ②区别:/bin/false是最严格的禁止login选项,一切服务都不能用,而/sbin/nologin只是不允许login系统,ubuntu中默认使用的就是/bin/false

    ③adduser也可用于创建用户,但已经很少使用

5)设置密码passwd

管理员root可以修改所有人密码,并且没有密码安全限制;普通用户只能修改自己的密码,需要提供原密码,并且有密码复杂性限制(如不能直接使用英文单词,长度最少为6位等)

-l 锁定用户

-u 解锁用户

-d清空用户密码,用户登陆系统时不再需要密码

-S查看用户的状态(是否被锁定)

6)删除用户userdel

-r表示将用户的宿主目录一并删除

7)修改用户属性usermod

-l  更改账户的登录名称

-u  修改用户uid

-g  修改用户的基本组名

-G  设置用户的附加组名列表

-a   追加用户新的附加组,必须结合-G选项一起使用

-d  修改用户的宿主目录

-s  修改用户的登录shell

-L  锁定用户(等同于pssswd -l)

-U  解锁用户(等同于passwd -u)

注:通过passwd -l锁定用户时shadow中对应密码字段前会添加两个“!!”,而通过usermod -L锁定时会添加一个“!”,需要注意,一般passwd -l -u和usermod -L -U分别成对使用

3、组账号管理

1)组账号文件

/etc/group

root:x:0:root,webmaster

组账户号:密码:GID:组成员

注:在/etc/group文件中基本组对应的用户账号不会列出

2)组密码文件(很少使用到)

/etc/gshadow

root:::root

3)添加组groupadd、删除组groupdel、修改组groupmod

   如果某些用户的基本组是即将被删除的组,则该组无法被删除

4)添加、删除组成员gpasswd(也可用于修改组密码)

-a 添加组成员,例gpasswd –a mike root  将用户mike加入到root组

-d 删除组成员,例gpasswd –d mike root  将用户mike从root组中删除

-M 定义组成员列表,例gpasswd -M tom,jack,mike root

5)查询用户和组

id:查询用户的身份标识信息,所属基本组、附加组

finger:查询用户的详细信息

groups:查询用户所属的组

users、w、who:查询当前登陆的用户信息

system-config-users:图形化管理工具

4、切换用户su

su命令可以在不重新启动系统的情况下临时改变用户的身份

语法:su - 用户名

-表示使用目标用户的shell环境相当于--login不使用-则保持原用户的shell环境

-c 选项表示临时以指定用户的身份执行命令,执行后会恢复原用户,如:su - -c ifconfig root

注:①省略用户名参数时表示切换为root                                                                              

    ②当由root切换为其他用户时不需要输入密码,否则需要输入密码

    ③很多Linux发行版默认情况下都不允许使用root用户登陆系统,如Fedora等,虽然rhel默认可以

5、vi参数配置文件.vimrc

文件.vimrc是vi编辑器默认加载的参数配置文件,可在每个用户的宿主目录中建立~/.vimrc

在.vimrc配置文件中,每行表示一条参数设置,设置的项对应于vi编辑器末行模式中的相关设置命令

通过在.vimrc文件中添加参数配置,可以实现一些自动设置,如自动显示行号、智能缩进、语法高亮显示

vi /root/.vimrc

set nu

set ai

set background=dark

syntax on

注:①默认情况下用户的宿主目录下并没有.vimrc文件,需要手动创建,其只针对当前用户有效

    ②如果希望针对所有用户有效,可直接修改/etc/vimrc文件,其为vi编辑器的全局参数配置文件