用户与用户组

用户与组常见命令与用法

一    用户与用户组

Linux下所有的东西都是文件、不管是具体文件还是目录。那么当多人同机操作的时候、考虑到每个人的隐式权和个人喜好,文件拥有者就相当重要了,比如A有一个存放情书的文件夹,那A估计不会喜欢谁都能看这些情书,那么A就可以用密码箱锁起来,别人就不能随意翻动了。A就是这个密码箱(可看成文件夹)的拥有者。

   用户(user)和用户组(group)概念

我们知道,Linux是一个多用户多任务的分时操作系统,如果要使用系统资源,就必须向系统管理员申请一个账户,然后通过这个账户进入系统。这个账户和用户是一个概念,通过建立不同属性的用户,一方面,可以合理的利用和控制系统资源,另一方面也可以帮助用户组织文件,提供对用户文件的安全性保护。每个用户都用一个唯一的用户名和用户口令,在登录系统时,只有正确输入了用户名和密码,才能进入系统和自己的主目录。用户组是具有相同特征用户的逻辑集合,有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理;另一种方法是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限。这就是用户组,将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段,通过定义用户组,在很大程度上简化了管理工作。

用户和用户组的对应关系是:一对一、多对一、一对多或多对多;

一对一:某个用户可以是某个组的唯一成员;
多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组;比如beinan和linuxsir两个用户只归属于beinan用户组;
一对多:某个用户可以是多个用户组的成员;比如beinan可以是root组成员,也可以是linuxsir用户组成员,还可以是adm用户组成员;
多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组;其实多对多的关系是前面三条的扩展;理解了上面的三条,这条也能理解;

 

 

二   用户和用户组相关的配置文件、命令或目录

用户和用户组相关的配置文件

 

/etc/passwd:用户及其属性信息(名称、UID、主组ID等)

/etc/group:组及其属性信息

/etc/shadow:用户密码及其相关属性

/etc/gshadow:组密码及其相关属性

/etc/skel目录一般是存放用户启动文件的目录

/etc/login.defs: 创建用户时的一些规划

管配置文件理用户和用户组的相关工具或命令

管理用户的工具或命令

useradd    注:添加用户

-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID:指明用户所属基本组,可为组名,也可以GID
-c “COMMENT”:用户的注释信息
-d HOME_DIR:以指定的路径(不存在)为家目录
-s SHELL: 指明用户的默认shell程序
可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,…]:为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r: 创建系统用户CentOS 6: ID<500,CentOS 7: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户

passwd     注:为用户设置密码

-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-iinactivedays:非活动期限
–stdin:从标准输入接收用户密码
echo “PASSWORD” | passwd–stdinUSERNAME

usermod  注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;

-u UID: 新UID
-g GID: 新主组
-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
-s SHELL:新的默认SHELL
-c ‘COMMENT’:新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name: 新的名字;
-L: lock指定用户,在/etc/shadow 密码栏的增加!
-U: unlock指定用户,将/etc/shadow 密码栏的! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限

userdel    注:删除用户
-r: 删除用户家目录

pwcov       注:同步用户从/etc/passwd 到/etc/shadow
pwck         注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv  注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger        注:查看用户信息工具
id              注:查看用户的UID、GID及所归属的用户组

-u: 显示UID
-g: 显示GID
-G: 显示用户所属的组的ID
-n: 显示名称,需配合ugG使用

chsh    注:指定shell
chfn          注:更改用户信息工具

chage[OPTION]… LOGIN
-d LAST_DAY
-E –expiredateEXPIRE_DATE
-I –inactive INACTIVE
-m –mindaysMIN_DAYS
-M –maxdaysMAX_DAYS
-W –warndaysWARN_DAYS
–l 显示密码策略
示例:
chage-d 0 tom 下一次登录强制重设密码
chage-m 0 –M 42 –W 14 –I 7 tom
chage-E 2016-09-10 tom
su             注:用户切换工具

cat /etc/passwd = getent passwd 查看用户信息

authconfig–passalgo=sha256 –update 更改加密算法

openssl rand -base64 30 随机生成30位口令

suUserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
su-UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
root su至其他用户无须密码;非root用户切换时需要密码

 

管理用户组的工具或命令

groupadd  注:添加用户组;
-g GID: 指明GID号;[GID_MIN, GID_MAX]
-r: 创建系统组
CentOS 6: ID<500
CentOS 7: ID<1000

groupdel         注:删除用户组;
groupmod        注:修改用户组信息

-n group_name: 新名字
-g GID: 新的GID

gpasswd   注 :组密码
gpasswd[OPTION] GROUP
-a user 将user添加至指定组中
-d user 从指定组中移除用户user
-A user1,user2,… 设置有管理权限的用户列表

gpasswd[OPTION] GROUP
-a user 将user添加至指定组中
-d user 从指定组中移除用户user
-A user1,user2,… 设置有管理权限的用户列表

newgrp命令:临时切换主组
如果用户本不属于此组,则需要组密码

groupmems
-g, –group groupname更改为指定组(只有root)
Actions:
-a, –add username 指定用户加入组
-d, –delete username 从组中删除用户
-p, –purge 从组中清除所有成员
-l, –list 显示组成员列表

groups     注:显示用户所属的用户组

grpconv   注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;

grpunconv   注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;

chown   注:修改文件的属主

-R: 递归

chgrp      注:修改文件的属组

-R: 递归

批量创建用户

newusers user.txt
cat pass.txt |chpasswd

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88515

(2)
张雷张雷
上一篇 2017-11-17 23:32
下一篇 2017-11-18 11:50

相关推荐

  • N25_第一周_yecho

    ???

    Linux干货 2016-12-01
  • 0803作业

    课上练习 1.当用户xiaoming 对/testdir  目录无执行权限时,意味着无法做哪些操作?  drwxr-xr–. 14 root root 4096 Aug  3 13:35 /testdir [xiaoming@localhost ~]$ touch /testdir/f1…

    Linux干货 2016-08-04
  • 海量数据处理算法—Bloom Filter

    1. Bloom-Filter算法简介         Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。        Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表…

    Linux干货 2015-10-22
  • 基于CentOS7实现LAMP(上)

    基于CentOS7实现LAMP(上)   情景模式: (1)php以模块方式运行  提供两个虚拟主机;                    &nbs…

    Linux干货 2016-08-22
  • NFS服务器设置

    一、NFS的相关概念     NFS(Network File System)即网络文件系统的缩写,由Sun公司研发,其目的是为了解决网络文件共享的问题。用户可以实现像挂载本地文件系统一样挂载NFS服务器的共享目录;其具有配置简单、使用高效的特点,但只能在Linux系统使用,不能跨平台使用。 &nb…

    Linux干货 2015-06-25
  • 马哥教育网络21期+第三周练习博客

    马哥教育网络21期+第三周练习博客 一.回顾第二周的学习内容 1,Linux上的文件管理类的命令: mkdir:创建目录: [root@localhost ~]# mkdir /tmp/fstab2222 [root@localhost ~]# ls -l /tmp/ total&nbsp…

    Linux干货 2016-07-16