Linux基础--用户与组.txt
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础--用户与组.txt相关的知识,希望对你有一定的参考价值。
1. 创建组
增加oinstall组,指定组ID。 [[email protected] ~]# groupadd -g 1023 oinstall 增加oper系统组。 [[email protected] ~]# groupadd -r oper
2. 删除组
[[email protected] ~]# groupdel oper
3. 修改组
修改oinstall组的组ID为1024 [[email protected] ~]# groupmod -g 1024 oinstall 修改oracleinstall组的组名为oinstall [[email protected] ~]# groupmod -n oinstall oracleinstall
4. 创建用户
创建oracle用户,用户ID为1010,主组为oinstall,附加组为dba和oper,家目录为/home/oracle,shell为bash。 [[email protected] ~]# useradd -u 1010 -g oinstall -G dba,oper -m /home/oracle -s /usr/bin/bash oracle 增加系统用户,系统用户仅用于启动系统进程,不能登录交互式shell环境,不会为其创建家目录和邮箱。 [[email protected] ~]# useradd -r centos
在不指定这些选项时,useradd会按照默认选项创建用户。
[[email protected] ~]# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
这些默认选项实际是记录在/etc/default/useradd文件中,另外/etc/login.defs也会影响useradd、userdel等命令的默认动作。
这些默认选项中需要注意的是SKEL=/etc/skel,这是帮助手册中对它的说明。
骨架目录,包含使用 useradd 创建用户时,要复制到用户主目录中的文件和目录。 这个选项只有在指定 -m (或 --create-home) 选项时才有效。 如果此项没有设置,骨架目录使用 /etc/default/useradd 中的 SKEL 的变量或默认为 /etc/skel。 如果可以,也复制 ACL 和扩展属性。
用户都记录在/etc/passwd当中,以冒号分隔各字段。这里的password只是占位符,并非真正的用户口令。
name:password:UID:GID:GECOS:directory:shell
用户口令信息会加密存放在/etc/shadow当中,而且文件权限是000,但这个对root是无效的,也就是说这个文件只有root能打开。
[[email protected] ~]# ls -l /etc/shadow ---------- 1 root root 1080 Mar 3 20:35 /etc/shadow
口令加密成如下形式,$为分隔符。第1段为加密方式(6),第2段为salt(Ma./WVpA),第3段为加密后的结果。
$6$Ma./WVpA$DQACbc90xxddaTTTjcpMgHPs3b5z5mC2VVpZphO5jspk6ggW4B4nVQRIadrVRg2KoMPPzJ0vBS38qpOvFzY1F0
加密方式对应表
ID | Method --------------------------------------------------------- 1 | MD5 2a | Blowfish (not in mainline glibc; added in some | Linux distributions) 5 | SHA-256 (since glibc 2.7) 6 | SHA-512 (since glibc 2.7)
/etc/shadow文件中有几个字段是对账户或口令的期限设定,具体说明参照man手册。
[[email protected] ~]# man 5 shadow
lastday 为口令最近一次修改时间
mindays 为口令最短使用期限,这段时间内不得修改口令。
maxdays 为口令最长使用期限,到期后用户应该修改口令。
warndays 为警告期,口令马上就要过期,提前一段时间提醒用户修改口令。
inactive 为非活动期,口令到期后仍留有一段时间让用户可以登录,但登录之后只能修改口令,不能做其他任何事情。
过了非活动期用户仍然没有修改口令,用户将被锁定不能再登录。
以上为口令期限,还有一个字段是账户期限,二者是不同的概念。man手册中的解释是这样的。
Note that an account expiration differs from a password expiration. In case of an acount expiration, the user shall not be allowed to login. In case of a password expiration, the user is not allowed to login using her password.
5. 修改账户或口令的期限设定
口令最短使用期限7天,最长使用期限30天,警告期3天,非活动期3天。 [[email protected] ~]# chage -m7 -M30 -W3 -I3 mageedu 修改口令最近一次修改时间,需转换为设定时间到1970年1月1日的天数。 [[email protected] ~]# chage -d16860 mageedu 设置账户过期时间,需转换为设定时间到1970年1月1日的天数。 [[email protected] ~]# chage -E16920 mageedu
计算当前时间至1970年1月1日的天数
[[email protected] ~]# let t=`date +%s`/86400 [[email protected] ~]# echo $t 16866
6. 删除用户
删除用户,默认不会删除用户的家目录和邮箱。 [[email protected] ~]# userdel mageedu 删除用户,同时删除用户的家目录和邮箱。 [[email protected] ~]# userdel -r mageedu
7. 修改用户
[[email protected] ~]# usermod -u 1020 -g oinstall -G dba,oper -m /home/oracle -s /usr/bin/bash oracle [[email protected] ~]# usermod -l rhel RedHatEnterpriseLinux#改用户名 [[email protected] ~]# usermod -L test#锁定用户账户 [[email protected] ~]# usermod -U test#解锁用户账户
8. 用户密码管理
修改当前用户自己的密码 [[email protected] ~]# passwd 修改其他用户的密码 [[email protected] ~]# passwd mageedu
注意:
只有root用户可以修改其他用户的密码,其他用户只能修改自己的密码。
root修改密码时不需要输入原始密码,其他用户修改密码时需要先输入原始密码验证身份。
root用户可以使用任意字符串作为密码,而其他用户密码必须满足一定的复杂度要求。
锁定用户的密码 [[email protected] ~]# passwd -l mageedu 解锁用户的密码 [[email protected] ~]# passwd -u mageedu 清除用户的密码 [[email protected] ~]# passwd -d mageedu
9. 组管理
给组设定密码 [[email protected] ~]# gpasswd mageedu 删除组密码 [[email protected] ~]# gpasswd -r mageedu 给组增加用户成员 [[email protected] ~]# gpasswd -a twoyang mageedu 从组中删除用户成员 [[email protected] ~]# gpasswd -a twoyang mageedu
10. 查看用户ID信息
[[email protected] ~]# id uid=0(root) gid=0(root) groups=0(root) -u, --user print only the effective user ID -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG
11. 切换用户
切换至mageedu用户身份,仍使用root用户的环境变量。 [[email protected] ~]# su mageedu 切换至mageedu用户身份,并加载mageedu用户的环境变量。 [[email protected] ~]# su - mageedu 使用mageedu用户身份执行命令"date +%H:%M:%S",并将结果返回。 [[email protected] ~]# su - mageedu -c "date +%H:%M:%S" 16:21:33
12. 登录一个新组
[[email protected] ~]# id uid=0(root) gid=0(root) groups=0(root) [[email protected] ~]# newgrp mageedu [[email protected] ~]# id uid=0(root) gid=1000(mageedu) groups=0(root),1000(mageedu) 注意:如果登录的新组设置有组密码,就需要验证密码后才能登录。当然对root来说是没有用的。
本文出自 “knfprex3a29” 博客,请务必保留此出处http://knfprex3a29.blog.51cto.com/9761463/1748101
以上是关于Linux基础--用户与组.txt的主要内容,如果未能解决你的问题,请参考以下文章
10-Linux基础入门-文件和目录的属性及权限之用户与组和时间戳基础