linux命令之用户管理
1.useradd : 添加用户
-u: 指定用户uid
useradd -u 1003 u1
-r: 添加一个系统账号,系统账号没有家目录,默认不允许登陆系统
useradd -r -s /sbin/nologin sysuer
-g:创建一个基本组,前提是这个组必须存在
groupadd mysql
useradd -g mysql mysql
-G:新建用户并添加到加组,前提附件组必须存在
groupadd testgroup
useradd -G testgroup u2
-d: 指定家目录
useradd -d /home/dhome u3
-s: 指定shell
useradd -s /bin/tcsh u4
-m: 强制创建家目录
-M: 创建用户是,不创建家目录,常用
useradd -M -s /sbin/nologin aaa
2.userdel : 删除用户
userdel user: 默认不删除家目录
-r: 同时删除家目录
useradd u5
userdel -r u5
3.id: 显示当前系统账号的id 信息
id: 不指定用户时,显示系统当前账号
id user
id -u: 显示当前系统用户id号 ,脚本中常用
id -g:显示组id 号
id -n: 显示用户名
id -n user2
4.finger: 查看用户账号属性的相关信息
finger user
5.usermod : 修改用户账号属性
-l: 修改登录名
usermod -l 新用户名 旧用户名
usermod -l user2 user1
-u: 修改uid
-g: 修改基本组
-G: 修改附加组,默认会覆盖其他附加组,如果要追加,需要加 -a 选项
usermod -aG newgroup user
-L: 锁定账号
-U: 解锁账号
6. chsh修改用户的默认shell
chsh -s /bin/tcsh u4: 将u4的默认shell修改为tcsh
7. passwd.密码管理
linux 的重要应用是避免捕获用户接口,也就是所谓的尽量避免交互,在脚本中有常用
修改密码: passwd user 这种方式需要交互,输入2遍密码,在脚本中不适用,所以通常使用下面的方式修改密码,
--stdin: 从标准输入获取密码,如下,但是也有缺陷,就是密码会暴露,保存在历史记录里,使用 history -c 清空历史纪录
echo "ttdfjlsjll" |passwd --stdin user
-d: 删除密码:
passwd -d user
8.groupadd 添加组
groupadd mysql