linux学习:用户管理
一、管理用户(user)
主要工具命令
useradd 注:添加用户
adduser 注:添加用户
passwd 注:为用户设置密码
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
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及所归属的用户组
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit 注:和sudo 功能差不多;
新增用户:
useradd 选项 用户名
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
useradd –d /usr/sam -m sam #此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。
useradd -s /bin/sh -g group –G adm,root gem #此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
useradd -u 1010 user1 #指定新添加用户的UID,普通用户的UID必须大于499且不能和已存在的UID重复。
删除用户:
userdel 选项 用户名
userdel -r sam #把用户的主目录一起删除。
修改用户:
usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
usermod -a -G apache test #将test增加到用户组apache中,使此用户组成为该用户的附加用户组,-a 参数代表 append, 也就是将用户添加到新用户组中而不必离开原有的其他用户组。不过需要与 -G 选项配合使用
usermod -g apache test #同时将 test 的主要用户组改为 apache,则直接使用 -g 选项
gpasswd -d user group #将一个用户从某个组中删除(group 不能是user的主组)
修改用户密码:
passwd 选项 用户名
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
passwd #修改当前用户口令
passwd data #root修改data用户的口令
给用户增加sudo权限
添加到sudo组中的用户可以通过 ·sudo su· 的方式切换到root,中间只需要输入本用户的密码。
usermod -aG wheel data #Centos系统下用root执行命令,将data用户加入wheel组中
usermod -aG sudo data #Ubuntu系统下用root执行命令,将data用户加入sudo组
二、管理用户组(group)
主要工具或命令
groupadd 注:添加用户组;
groupdel 注:删除用户组;
groupmod 注:修改用户组信息
groups 注:显示用户所属的用户组
grpck
grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;
新增用户组
groupadd 选项 用户组
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
groupadd group1 #新增用户组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1
groupadd -g 101 group2 #增加了一个新组group2,同时指定新组的组标识号是101。
删除用户组
groupdel 用户组
groupdel group1 #删除用户组group1
groupmod –g 10000 -n group3 group2 #将组group2的标识号改为10000,组名修改为group3。
修改用户组
groupmod 选项 用户组
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
groupmod -g 102 group2 #将组group2的组标识号修改为102。
切换用户组
newgrp root #将当前用户切换到root用户组(该用户属于多个用户组的条件下)
三、用户登录信息
who #获取当前登陆的用户信息
w #同上
users #列出当前登录主机的用户列表
uptime #查看系统已经通电运行了多长时间
last #获取前一次的启动及用户登录会话的信息
last user #获取单个用户的会话信息
inotifywait -m -r -e create,move,delete,open,close,access,modify,attrib /data/test -q >> test.log #监视/data/test目录的创建,移动,删除,打开,关闭,访问,修改,文件元数据被修改等事件。-m持续监视,-r递归监视目录,-e需要监视的时间列表,-q简化输出