Linux 用户和用户组

 

1.从 /etc/passwd说起

在liunx系统中操作系统中的用户名和密码都存在了/etc/passwd中,这个文件内容如下:

 

他们的意思依次如下:

login name:登录用名(wang

passwd:密码 (x)

UID:用户身份编号 (1000)

GID:登录默认所在组编号 (1000)

GECOS:用户全名或注释

home directory:用户主目录 (/home/wang)

shell:用户默认使用shell (/bin/bash)

 

2.Linux具有多用户,多任务的特性

Linux系统中多个用户可以同时登入同一个系统执行各自不同作任务,而且各自不受影响;不同用户具有不同的权限,每个用户是在权限允许的范围内完成不同的任务,linux正是通过这种权限的划分与管理,实现了多用户多任务的运行机制。

3. 用户和用户组

用户:如果想要执行系统中的任务,就必须要有一个账户来登录系统,这个账户就是用户。

   Linux用户:Username/UID

  管理员:

root, 0

普通用户:1-65535

系统用户:

1-499, 1-999(CentOS7)

对守护进程获取资源进行权限分配

登录用户:500+, 1000+(CentOS7)

交互式登录

用户组:

用户组就是具有相同特征的用户的集合。一个组可以包含多个用户,每个用户也可以属于不同的组。

Linux组:Groupname/GID

  管理员组:root, 0

系统组:

1-499, 1-999(CENTOS7)

普通组:

500+, 1000+(CENTOS7)

 

4.用户组的分类:

用户的主要组(primary group) :创建用户是会随用户创建一个与用户同名的组,这个组就是基本组;

用户必须属于一个且只有一个主组

组名同用户名,且仅包含一个用户,私有组

用户的附加组(supplementary group) :用户加入的基本组以外的组,称为用户的附加组;

一个用户可以属于零个或多个辅助组

 

 

 

5.useradd 命令:添加用户

Linux 中使用 useradd 命令添加一个用户。例如添加一个mike用户

 

 

 

/etc/passwd 的最后一行,有刚刚添加的用户,并且系统自动设置了用户的一些属性,比如UID,GID,HOME DIR等。我们也可以手动指定新增用户的信息:

useradd -u UID:指定 UID,这个 UID 必须是大于等于500,并没有其他用户占用的 UID

useradd -g GID/GROUPNAME:指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在

useradd -G GROUPS:指定额外组

useradd -c COMMENT:指定用户的注释信息

useradd -d PATH:指定用户的家目录

useradd -s SHELL:指定用户的默认 shell,最好是在 /etc/shells 中存在的路径

useradd -s /sbin/nologin:该用户不能登录,我们可以看到系统用户的 shell 字段也是 /sbin/nologin

echo $SHELL :查看当前用户的 shell 类型

useradd -M USERNAME:创建用户但不创建家目录

useradd -mk USERNAME:创建用户的同时创建家目录,并复制 /etc/skel 中的内容到家目录中。◦如果用户没有家目录,那么不能切换到该用户

 

6.userdel 命令:删除用户

userdel USERNAME:删除用户

userdel -r USERNAME:删除用户的同时删除用户家目录

 

7.id 命令:显示账号属性信息

id -g USERNAME:显示默认组ID

◦d -G USERNAME:显示附加组ID

id -u USERNAME:显示UID

id -n -g/-G/-U:显示默认组/附加组/用户的名称

8.finger 命令:检索用户信息,比使用 id 命令更加友好

 

9.usermod 命令:修改用户信息

基本用法和 useradd 相似,这里列出需要注意的点

usermod -G GROUPS USERNAME:改变用户的附加组,会完全替换原有的附加组

usermod -G -a GROUPS USERNAME:在原有附加组的基础上追加附加组

usermod -d PATH USERNAME:修改家目录。修改后原先家目录中的文件不能访问了,因为在当前的家目录中并不存在这些文件。

usermod -l NEWNAME USERNAME:改变用户名

usermod -e USERNAME:指定该用户的过期时间

usermod -L USERNAME:锁定用户

usermod -U USERNAME:解锁用户

 

 10.快捷命令

chsh SHELL USERNAME:改变默认 shell

chfn USERNAME:修改注释信息,用来增加用户的详细信息,如公司,地址等。可以由 finger 查看相应的改变。

 

11.passwd

passwd --stdio:标准输入读取密码passwd -l:锁定用户账号(root only) ◾echo "newpassword" | passwd --stdio MIKE

 passwd -u:解锁用户账号(root only)

passwd -d:删除用户密码。用户密码删除后不能登录。

 

 12.pwch(password check):检查密码文件的完整性,可获取一些警告信息

 

13.groupadd 命令:添加组

groupadd -g GID GROUPNAME:指定GIDgroupadd -r GROUPNAME:添加一个系统用户组(-r 也适用于 useradd) ◾groupadd -r apache

 

14groupmod 命令:修改组

groupmod -g NEWGID GROUPNAME:修改GID

groupmod -n NEWGROUPNAME GROUPNAME:修改组名

 

15.groupdel 命令:删除组

groupdel GROUPNAM

 

16.gpasswd 命令:给组加密码

gpasswd GROUPNAME

 

 

posted @ 2018-07-21 15:33  2号  阅读(251)  评论(0编辑  收藏  举报