用户管理
Posted yaozhiyuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户管理相关的知识,希望对你有一定的参考价值。
一、用户管理相关文件
1.用户特征信息:/etc/passwd
2.用户密码信息:/etc/shadow
3.用户组特征信息:/etc/group
4.用户组密码信息:/etc/gshadow
二、用户管理相关命令
1.useradd/adduser:添加用户命令
-s:指定用户使用的shell信息,如/bin/bash;/sbin/nologin
-M:指定创建用户的时候,不要有家目录(一般创建虚拟用户时使用)
-g:指定用户属于哪个用户组(不指定的话默认为用户组跟用户名一样)
-G:指定用户属于哪个附属的用户组(指定用户组时该用户组都必须存在)
-u:指定用户的uid
例:创建一个用户lxx,指定uid为888,禁止用户登录系统,不创建家目录(创建虚拟用户)
useradd lxx -u 888 -M -s /sbin/nologin
2.userdel:删除一个用户(单独使用时默认删除用户时不删除该用户家目录和邮箱文件)
-r:彻底删除用户,即删除用户时同时删除家目录和邮箱文件
注意:一般不用管该命令删除用户,会在/etc/passwd文件注释用户
3.usermod:修改用户信息
-g:修改用户属于哪个用户组
-G:修改用户附属用户组
-s:修改用户使用的shell信息
-u:修改用户uid
-c:修改用户注释信息
4.passwd:设置用户密码信息(只有root用户可以给其他用户设置密码)
1)交互方式设置密码:passwd 用户名
2)免交互方式设置密码:echo 123456|passwd -stdin 用户名
3)企业设置密码注意事项
①密码要复杂12位以上字母数字及特殊符号
②用软件保存好密码信息
③大企业用户和密码统一管理(相当于活动目录AD),例如openldap域
④动态密码:动态口令,第三方提供、自己开发也很简单
⑤利用指纹方式确保数据安全性
md5sum test.txt >/tmp/figer.txt; md5sum -c /tmp/figer.txt
如果test.txt未被修改,显示OK,反之,显示FAILED
5.chown:修改文件或目录所有者或所属组
-R:递归修改 chown -R test /test
只修改用户所有者:chown test /test
只修改用户所属组:chown .test /test
同时修改用户所有者和所属组:chown test.test /test
6.groupadd:创建用户组的命令
useradd使用 -g 参数添加用户组时,用户组必须已经存在,这就需要groupadd命令了。但是现在一般不设置-g参数,因为默认用户组和用户所有者信息一致,所以不常用
groupadd lxx ; useradd lxx -g lxx1
三、用户查询命令
1.id:查询用户是否存在,查询用户uid,gid,查询用户所属组
使用格式:id 用户名
2.w:查看系统用户登录信息,查看系统负载,查看一个用户是否远程登录(以某一个用户的身份连接到你的系统,不是切换用户)
pts --- 通过网络远程连接
tty --- 直接服务器登录
3.top:查看系统CPU、内存等的运行情况(实时监控)
M:按照内存使用率排序
P:按照CPU使用率排序
4.uptime:查看用户登录、负载等信息
5.ps -ef / ps -aux :查看系统中进程信息
6.free:查看系统内存使用信息
-h:以人类可读的形式显示
7.sort:对列的信息进行排序显示
-n:按照数字排序(默认从小到大)
-r:反向排序
-k:类似awk中$n,指定第几列进行排序
-h:以人类可读方式进行排序
使用格式:ps -aux|sort -nrk3
8.last:用户登录信息(哪个用户在哪里什么时候远程登录你的系统)
9.lastlog:显示linux中所有用户最近一次远程登录的信息
四、企业案例
1.如何实现脚本开机自动运行
方法一:将执行脚本的命令放入到/etc/rc.local
方法二:让脚本可以被chkconfig命令管理
1)让脚本文件具有执行权限:chmod a+x /a.sh
2)将脚本文件放入到/etc/init.d目录中,并且让chkconfig命令能管理
①vim /a.sh
#chkconfig: - 41 41
②cp -a /a.sh /etc/init.d
③chkconfig --add a.sh
④chkconfig a.sh on
3)检查测试:chkconfig |grep a.sh
2.利用单用户模式修改密码
1)在启动读秒时按任意键
2)选中要操作的内核按e键
3)在输出信息rhgb quiet后面加空格,输入“1”或“s”或“single”都可以
4)输入1后按回车会返回到选中页面,按b键启动系统
5)进入到单用户模式,在命令行输入passwd即可修改密码
3.切换用户时命令提示符显示不规范
原因分析:当前登录用户家目录下面的隐藏文件没有了
解决方法:cp -a /etc/skel/.bash* /home/lxx/
五、普通用户获取特殊权限
1.普通用户获取root权限
1)直接切换为root用户
su - :切换用户时更新环境变量
su :切换用户时不更新环境变量
2)修改命令的权限
chmod u+s /bin/ls
3)用sudo给用户提权,使普通用户临时获得root权限
2.sudo权限配置说明
1)掌握两个命令
①sudo
-l :查看当前用户的特权信息
-k :清除当前用户的密码缓存信息
②visudo:进行配置编写sudo权限文件,可检测语法,类似crontab -e
2)掌握一个文件
/etc/sudoers:sudo权限配置文件
vim /etc/sudoers == visodu
3)如何编辑sudo权限文件
①让用户拥有多个权利:lxx ALL=(ALL) /bin/ls, /bin/touch
②让用户拥有大量权限:lxx ALL=(ALL) /bin/*, /usr/bin/*
③不输入密码使用权限:lxx ALL=(ALL) NOPASSWD:/bin/ls
④当普通用户权限过大时,如何做出一定的限制:lxx ALL=(ALL) /bin/*, !/bin/vi
⑤给一个用户组特殊权限:%lxx ALL=(ALL) /bin/*
以上是关于用户管理的主要内容,如果未能解决你的问题,请参考以下文章