1、用户管理
/etc/passwd用户名配置文件
/etc/shadow用户密码配置文件
(1)/etc/passwd的结构:
username:password:uid:gid:commit:userhomepath: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[homedirpath]-M[don'tcreatehomepath]
-s[shell如/sbin/nologin、/bin/bash][username]可以创建用户指定组
删除用户:userdel-r连同家目录一并删除
添加用户组:groupadd-g[gid][groupname]
删除用户组:groupdel[groupname]
查看:id[username]
实例:切换用户不成功,没有用户的家目录
解决方案:
#mkdir<homepath>
#cp-rv/etc/skel/.b*<homepath>
;#如果需要一并删除,家目录的属主属组都要为该用户
(2)更改用户账号的属性
usermod-u-g-G-s-d-L:锁死用户-U:解锁用户
chfnusername:增加对用户账户的描述
设定密码
随机生成密码:mkpasswd-l定长-s定义特殊字符-yuminstall-ymkpasswd)
记录工具:keepass
3、切换用户
su-[username]完全切换,环境变量和家目录等全部切换
su-C''command'-user用某个用户的权限临时执行命令
sudo可以让普通用户临时以指定用户的权限执行命令,
设置用户的密码sudo/bin/ls/root/
更改visudo配置,userALL=(源用户)NOPASSWD:(无需密码)执行命令的绝对路径
实例1:更改密码时仅输入一次
解决方案:passwd--stdin
echo-e"[newpassword]\n[newpasswd]\n"|passwdpasswd--stdin[username];\n是回车-e去意字符
实例2:远程登录连接太慢
解决方案:
vim/etc/ssh/sshd_config
将UseDNS*启用,值改为no
/etc/init.d/sshdrestart或servicesshdrestart
实例3:禁用远程root并不妨碍使用root权限执行命令
解决方案:
1.禁用root远程登录
vim/etc/ssh/sshd_config
将PermitRootLogin..启用,值改为no
/etc/init.d/sshdrestart或servicesshdrestart
2.更改切换执行权限
visudo
[username]ALL=(root)NOPASSWD:/bin/ls,/bin/su(位置:root那行下)不要密码切换
su-[username]
sudosu-