1、/etc/ passwd
每一行就是一个用户的信息。以‘:’分隔为七段;
第一段:用户名
第二段:密码控位符,加密后的密码保存在 /etc/shadow。为空的话,表示不去验证密码。
第三段:UID,用户ID。0是root用户,1-499是系统用户,500以上是普通用户。
第四段:GID,组ID。默认情况下GID跟UID是一样的。
第五段:用户描述。chfn 修改用户描述。
第六段:用户家目录。
第七段:用户bash(shell)。默认情况下为/bin/bash。如果是nologin,没有shell,表示用户不能登陆。
vi进去手动更改,UID=0时 。 普通用户也跟root具备 一样权限,系统以UID来辨别身份。
系统默认有一个备份文件:/etc/passwd-
2、/etc/shadow
每一行对应一个用户。以':'分隔为九段;
第一段:用户名
第二段:加密后密码。$6开头为sha-512加密;$5开头为sha-256加密;$1开头为md5加密;!!表示空密码;* 表示用户被锁定;!开头表示用户被锁定,!!开头表示密码被锁定。
第三段:密码更改后离1970-1-1(第一个时间戳开始的那天)过去了多少天
第四段:表示多少天后才可以更改密码。0表示不限制。
第五段:密码失效天数,表示多少天后密码失效(最大值9999)。
第六段:警告时间,表示距密码失效前多少天,提示密码N天后会失效。
第七段:默认为空。表示帐号的失效时间。密码到期后,过N天帐户会被锁定。
第八段:生命周期。表示帐号可以存活多久。
第九段:保留字段
系统默认有一个备份文件:/etc/shadow-
3、用户和组管理
groupadd 创建组。groupadd xxxx 创建xxxx组。
/etc/group 查看组相关信息。系统默认有一个备份文件:/etc/group-
/etc/gshadow 组密码信息。系统默认有一个备份文件: /etc/gshadow- groupadd -g NUM XXXX 创建并指定xxxx组的GID groupdel 删除组。groupdel xxxx 删除组。前提是该组不存在用户。useradd 创建用户。useradd xxxx 创建xxxx用户
-u 指定UID。 -g 加入指定主组(组名或者GID),加入后即为该用户的主组。前提是指定的组已经存在。 -G 加入指定的附属组(组名或者GID)。前提是指定的组已经存在。 -c 用户描述 -d 指定家目录。useradd -d /home/xxxx username -M 不创建家目录,手动再去创建家目录的时候,要注意目录的权限 -s 指定用户shelluserdel 删除用户
-f:强制删除用户,不管用户是否已登陆
-r:删除与用户相关的所有文件
usermod 更改用户帐户属性信息
-L 锁定用户,用户无法登陆
-U 解锁用户
-u 指定UID。
-g 加入指定主组(组名或者GID),加入后即为该用户的主组。前提是指定的组已经存在。-G 加入指定的附属组(组名或者GID)。前提是指定的组已经存在。
-s 指定用户shell
passwd 更改用户密码。passwd xxxx
-l 锁定用户密码,无法登陆。
-u 解决用户密码
passwd --stdin username 更改密码时只需要输入一次,不过密码是明文输入。
echo "password" | passwd --stdin username 更改密码
echo -e "password\npassword\n" |passwd username 输入两次密码。-e的作用是激活转义字符。
su 切换用户。
su username 用户环境都不会切换过去
su - username 完全切换
su -c "touch /tmp/1.txt" - user1 以用户user1的身份创建一个文件"/tmp/1.txt"
visudo sudo命令相关的配置文件
示范:
##Allow root to run any commands anywhere
root ALL=(ALL) NOPASSWD:ALL
第一段表示用户
第二段的第一个ALL,表示所有来源;第二个(ALL),表示临时切换的用户
第三段临时可执行的命令,必须输入绝对路径;NOPASSWD:表示不输入密码
user1 ALL=(root) /bin/cp
上面这一段,表示,user1用户可以在以任何地址登陆的情况下,临时以root的身份,执行cp命令
%XXX表示组
使用sudo命令的时候,会要求输入用户的密码。输入密码后会保存一段时间,密码保存在某个文件中
su和sudo命令的区别
http://www.cnblogs.com/LinuxSuDa/p/4300562.html
不允许root用户远程登陆
ssh_config 是客户端的配置文件 sshd_config 是服务端的配置文件 vi /etc/ssh/sshd_config #PermitRootLogin yes ==>PermitRootLogin no 保存退出,重启sshd服务
打开终端后,等很长时间才到输入用户名的界面
vi /etc/ssh/sshd_config #UseDNS yes ==>UseDNS no 保存退出,重启sshd服务
生成不规则字符串的工具
yum install -y expect 安装好后,可以使用命令 mkpasswd生成不规则字符串-l 指定密码长度 -s 指定特殊字符个数
keepass记录密码的工具
/etc/skel/普通用户的默认权限的模板
id username 查看用户的UID、GID。主组跟附属组都会列出来。
id=xxx,gid=xxx,gid就是指主组,其它的为附属组
时间同步:
手动更改时间:date -s “2015-3-23 11:10:00”
ntpdate time.windows.com 自动同步时间