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 -