用户
超级用户
无限控制权限 |
SElinux 分级权限管理对超级用户权限约束 |
id=0 |
只要id=0的用户都是超级用户,可以一个用户id在passwd中修改为0,则这个用户就是超级用户 |
批量增加用户
编辑一个用户列表文件 users.txt
hh:x:503:502::/home/hh:/bin/bash
xq:x:504:502::/home/xq:/bin/bash
使用newusers批量创建用户:newusers< users.txt
将密码存储到/etc/passwd下:pwunconv
编辑一个密码对照表pwd.txt
hh:hhpwd
xq:xqpwd
创建密码:chpasswd < pwd.txt
重新存储密码到shadow中:pwconv
PS1:设置用户提示符
useradd
添加用户,默认使用的配置文件/etc/default/useradd
-p 选项要使用openssl passwd加密过的密码 useradd-p `openssl passwd iccs123` iccs
-m 建立默认用户目录
-d 指定用户目录,如果目录不存在,同时用 -m 选项自动建立目录
-g 用户组
-G 用户附加组
-s 指定用户登录的 shell -s /bin/bash
userdel
删除用户
-r 连同用户主目录一块删除
usermode:修改用户
-u 新用户id
-g 新用户基本组
-G 附加组,使用chgrp切换
-L 锁定用户
-U 解锁用户
-e YYYY-MM-DD 指定用户过期日期
passwd
修改用户密码
直接输入passwd修改当前用户口令,root可以使用passwd修改其它用户口令
-l 锁定用户口令,即禁用用户
-u 口令解锁
-n mindays 口令使用最短期限
-x 口令使用最长期限
-d 删除口令,下次用户登录时,系统将不再询问口令
-f 强制用户下次登录时修改口令
chage
-m 密码可更改的最小天数
-M 密码保持有效的最大天数
-w 密码到期前提前警告的天数
-E 账号到期日期
在/etc/login.defs中设置
PASS_MAX_DAYS99999
PASS_MIN_DAYS0
PASS_MIN_LEN5
PASS_WARN_AGE7
组
groupadd
-g 指定组id
-o 一般同-g一起用,表示新用户的组id可以同已有的组id相同
groupdel group_name
groupmod
-g 为用户组设置新的组号 groupmod -g 102 grp1
-o 一般同-g连用,表示新组号可以和已有的组号重复
-n 设置新的组名 groupmod -n grp2 grp1 将grp1改为grp2
gpasswd
设置组密码
-a user group
chsh
更改shell设置
-l 系统中可用shell列表
-s path 设置shell,在下次登录中默认,全路径名,立即更改设置直接输shell名回车
newgrp
用户有多个组切换用户组
newgrp grp2 切换用户为grp2组,这之后用户建立的文件属于grp2组
chage
密码失效是通过此命令来管理的
-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M 密码保持有效的最大天数。如 -M 99999 表示永不过期
-W 用户密码到期前,提前收到警告信息的天数。
-E 帐号到期的日期。过了这天,此帐号将不可用。0 立即过期,-1永远不过去
-d 上一次更改的日期
-I 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
用户密码输错后锁定一段时间
/etc/pam.d/sshd中增加
auth required pam_tally2.so deny=3 unlock_time=300
解锁faillog -u 用户名 -r
身份切换
su
切换用户
-c "cmd" 切换用户并执行命令
- 使用新用户的环境变量
-m 不重置环境变量,相当于 suuser
-s --shell=shell 使用指定的shell
sudo
临时提升身份执行
可以用 echo 'xxx' |su - root -c "ls" 在脚本内切换用户执行命令
身份
finger
查看用户信息,最后登录等,不跟参数显示自己,参数为用户名
chfn
更改finger指令显示信息
[-fname][-h tel][-o office_addr][-p office_tel][-uv username]
审计
last
列出系统登录记录,lastb显示登陆失败记录,格式一样,读取/var/log/btmp文件
-R 省略hostname栏位
-n10|-10 输出记录数
-f 指定log日志文件,默认读取/var/log/wtmp文件
-h 指定节点登陆情况,适用于多IP主机
pts/3 显示指定终端上的登陆情况
root root用户的登陆情况
-x 登陆、登出、系统关闭历史
lastlog
列出用户上次登录的时间终端等
users
显示当前系统登录的所有用户,如果用户登录了不止一次,则多次显示
login
登录系统,当/etc目录下有nologin文件只允许root用户登录
w
目前登陆系统的用户信息
-f 不显示用户登陆源
-h 不显示标题栏
-l 详细信息
-s 简洁格式
-u 忽略执行执行程序名称,以及该程序耗费的时间
who
更详细的系统登陆用户信息
-a 显示所有信息
-H 显示标题,默认不显示标题
-b 系统启动时间
-r 系统运行级别
-m 只显示当前终端用户情况,相当于whoami
-q 对登陆用户计数
-u 显示用户shell进程id和最后一次执行程序到现在的空闲时间
-l 显示登陆进程
whoami
查看当前用户名