账号、群组管理指的是对linux用户的账号、群组信息进行的操作
文件 /etc/passwd 记录了使用者的账号等信息
以 : 分割,分别为
文件 etc/shadow 记录了账号的密码等信息
以 : 分割,分别为
文件 etc/group 记录了账号群组的相关信息
以 : 分割,分别为
文件 /etc/gshadow 记录群组密码、群组管理员等信息
以 : 分割,分别为
初始群组指的是/etc/passwd中指定的GID,且其无需在/etc/group第四列指定
而有效群组则是通过命令 groups 显示出来的第一个群组,每次新建的文件所属群组则是当前有效群组
使用命令 newgrp 可切换当前用户的有效群组,其会开启一个新的shell来变更当前用户的有效群组(若要回原本的shell则用命令exit)
命令 useradd 可添加账号,-u指定UID,-g指定初始群组和GID,-G指定加入的群组,-M 不建立家目录,-m建立家目录,-c指定账号说明,-d指定家目录,-r建立系统账号,-s指定shell,-e指定失效日期,-f指定密码过期是否会失效(0失效,-1不失效)
如上,添加账号会在etc下的passwd、shadow、group文件新增相关信息,默认值参考etc下的default/useradd、login.defs、skel/*
新建立的账号是没有密码的,如上/etc/shadow中的第2位为!,可通过命令passwd设置密码,–stdin表示由管道输入,-l使密码失效,-u恢复密码,-S列出shadow相关信息,-nxwi设置shadow的第4567列
如上设置test的密码,若后面没有加账号则是设置当前登陆账号的密码
命令 change 可显示或指定密码的相关信息,-l显示信息,-dmMWIE设置shadow的第45678列
如下设置账号第一次登陆时必须修改密码
命令 usermod 可修改账号的详细信息,-lucds修改passwd的第13567列,-gfe修改shadow的第478列,-G修改群组,-a增加群组,-LU冻结/解冻账号,如下修改账号名
命令 userdel 可删除账号,-r连同家目录等资料一起删除
命令 id 可查看账号UID等信息
命令 chfn 设置账号的一些额外信息,-f 全名,-o办公室名称,-p办公室号码,-h接家里电话,实际修改passwd的第5列
命令 chsh 设置账号的shell,-l显示系统支持的shell,-s指定shell
命令 groupadd 可新建群组,-g指定GID,-r建立系统群组
命令 groupmod 修改群组相关参数,-g修改GID,-n修改群组名
命令 groupdel 删除群组,删除前需确保当前群组未被账号设置为初始群组
命令 gpasswd 可设置群组管理员(未加参数表示对群组设置密码),管理自己群组的增删情况,-A将群组交给某账号管理,-M将一些账号加入群组,-r移除群组密码,-R让群组密码失效,-a将某个账号加入群组,-d将某个账号移除群组
如上创建群组交由song管理,然后可看到gshadow的第34列有新增密码和管理员,如下将用户test添加到mygroup群组
命令 su 用于切换用户(后面不跟用户名表示切换到root),- 代表用login-shell设定的环境变量登陆,-l(与 - 类似)后面需加上用户,-m和-p表示使用当前环境,而不是新用户的设置环境,-c 以某一用户身份运行后续的指令
如下以root身份查看/etc/shadow
命令 sudo 可以让用户以其他用户身份执行命令(定义在/etc/sudoers内的用户才能执行,执行时需输入当前用户密码),-b 将后面的指令放到背景中让系统自行执行(不影响当前shell),-u 后面接其他用户(无则为root)
如上以 test 的身份新建 1.txt
文件/etc/sudoers规定了sudo命令的使用规则
可对单一用户设置sudo权限
可设置群组的sudo权限,加入群组的用户可使用sudo
命令 w 可显示目前登陆在系统上面的使用者
命令 who 简略显示当前在线用户
命令 last 显示最近登陆的用户,而 lastlog 读取/var/log/lastlog文件中的信息
命令 write user 可向其他用户发送信息,输入完后按 Ctrl+d 结束输入
命令 mesg [y|n] 可选择是否接收其他用户(除root外)的信息
命令 wall 可向所有用户发送信息
上面的 write、wall 需在线才能使用,而命令 mail 可发送邮件给用户,每一个用户都有一个mailbox,其位置在 /var/spool/mail 中
mail -s "hello" song < 1.txt
如上命令发送一封标题为hello,内容在1.txt(结束的最后一行需输入小数点 . )的邮件,而查阅邮件直接输入 mail
命令 pwck 用于检查 /etc/passwd 中的内容,还可对比/etc/passwd和/etc/shadow中的信息是否一致,相对应群组检查用grpck
命令 pwconv 将/etc/passwd中的账号密码移动到/etc/shadow中
命令 pwunconv 将/etc/shadow内的密码写回到/etc/passwd,并删除/etc/shadow
命令 chpasswd 将未加密的密码,经过加密后,写回到/etc/shadow