本文最后更新于9 天前,其中的信息可能已经过时,如有错误请发送邮件到d535048@foxmail.com
一、关机,重启
#立刻关机
shutdown -h now
#1分钟后关机
shutdown -h 1
#立即重启
shutdown -r now
#关机
halt
#重启
reboot
#将内存数据同步至磁盘
sync
二、登录和注销
#切换登录用户
su -用户名
#注销当前登录用户
logout
#添加用户
useradd
#修改/设置密码(←详细参数)
passwd 用户名
#删除用户
userdel 用户名 #删除用户但是保留家目录
userdel -r 用户名 #删除用户及所在家目录
#查询用户信息
id 用户名
#切换用户
su - 用户名
"""
1.从权限高的用户切换到权限低的用户不需要密码,反之则需要
2.需要返回到原用户时可以用exit/logout
"""
#查看登录用户
who am i #查询第一次登录的用户
whoami #查询当前登录的用户
三、用户组
类似于角色,系统可以对有共性/权限的多个用户进行统一管理
#新增组
groupadd 组名
#删除组
groupdel 组名
#向指定组中增加用户
useradd -g 用户组 用户名
#当创建用户时未指定组,则系统会自动创建一个与用户同名的组
#修改用户的组
usermod -g 用户组 用户名
四、用户和组相关的文件
1./etc/passwd
用户配置文件,记录用户的各种信息
#/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
从上面的例子我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
2./etc/shadow
口令配置文件
# /etc/shadow
root:Dnakfw28zf38w:8764:0:168:7:::
daemon:*::0:0::::
bin:*::0:0::::
sys:*::0:0::::
adm:*::0:0::::
uucp:*::0:0::::
nuucp:*::0:0::::
auth:*::0:0::::
cron:*::0:0::::
listen:*::0:0::::
lp:*::0:0::::
sam:EkdiSECLWPdSa:9740:0:0::::
它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用”:”隔开。这些字段是:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
- “登录名”是与/etc/passwd文件中的登录名相一致的用户账号
- “口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合 { ./0-9A-Za-z }中的字符,则对应的用户不能登录。
- “最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCO Linux 中,这个时间起点是1970年1月1日。
- “最小时间间隔”指的是两次修改口令之间所需的最小天数。
- “最大时间间隔”指的是口令保持有效的最大天数。
- “警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
- “不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
- “失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
3./etc/group
组的配置文件,记录Linux包含的组信息
# /etc/group
root::0:root
bin::2:root,bin
sys::3:root,uucp
adm::4:root,adm
daemon::5:root,daemon
lp::7:root,lp
users::20:root,sam
组名:口令:组标识号:组内用户列表
- “组名”是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
- “口令”字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。
- “组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组。
- “组内用户列表”是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。