CentOS用户账号管理详解
脚本之家
1、用户管理
/etc/passwd 用户名配置文件
/etc/shadow 用户密码配置文件
(1)/etc/passwd 的结构:
username:password:uid:gid:commit:user home path:shell
说明:
uid和gid系统默认按序自增;
用户的家目录——普通用户在/home,root在/(或~);
shell指登录方式——常见/bin/bash,/sbin/nologin(设置成不可登录形式);
(2)/etc/shadow 的结构
username:用户名
password:密码,加密方式$1(md5)、$5(sha-256)、$6(sha-512)、!!无密码、*锁定用户
最近一次更改密码的时间:距离1970-1-1的天数
多少天后可以更改密码:
密码失效期限:
警告密码失效:密码失效几天之前通知
失效账号期限:及时更改密码,以免用户不可用
后面的为保留字段
插:Linux时间同步
date -s 定义时间(date的格式)
ntpdate 时间服务器地址
hwclock -h:与BIOS里时间一致
2、对用户账号的操作
(1)基本操作
添加用户:useradd -u [uid] -g [gid] -G [group] -d [home dir path] -M [don't create home path]
-s [shell 如/sbin/nologin、/bin/bash] [username]可以创建用户指定组
删除用户:userdel -r 连同家目录一并删除
添加用户组:groupadd -g [gid] [groupname]
删除用户组:groupdel [groupname]
查看:id [username]
实例:切换用户不成功,没有用户的家目录
解决方案:
#mkdir <home path>
#cp -rv /etc/skel/.b* <home path>
;#如果需要一并删除,家目录的属主属组都要为该用户
(2)更改用户账号的属性
usermod -u -g -G -s -d -L:锁死用户 -U:解锁用户
chfn username:增加对用户账户的描述
设定密码
随机生成密码:mkpasswd -l 定长 -s 定义特殊字符-yum install -y mkpasswd)
记录工具:keepass
3、切换用户
su - [username]完全切换,环境变量和家目录等全部切换
su -C ''command' - user 用某个用户的权限临时执行命令
sudo 可以让普通用户临时以指定用户的权限执行命令,
设置用户的密码sudo /bin/ls /root/
更改visudo配置,“user ALL=(源用户) NOPASSWD:(无需密码)执行命令的绝对路径”
实例1:更改密码时仅输入一次
解决方案:passwd --stdin
echo -e"[new password]\n[new passwd]\n" |passwd passwd --stdin [username];\n是回车 -e去意字符
实例2:远程登录连接太慢
解决方案:
vim /etc/ssh/sshd_config
将UseDNS*启用,值改为no
/etc/init.d/sshd restart或service sshd restart
实例3:禁用远程root并不妨碍使用root权限执行命令
解决方案:
1.禁用root远程登录
vim /etc/ssh/sshd_config
将PermitRootLogin..启用,值改为no
/etc/init.d/sshd restart或service sshd restart
2.更改切换执行权限
visudo
[username] ALL=(root)NOPASSWD:/bin/ls,/bin/su (位置:root那行下)不要密码切换
su - [username]
sudo su -