一.配置文件说明
1./etc/passwd :用户信息文件
格式:用户名:密码位:UID:GID:注释:宿主目录:shell
UID说明:
root:UID=0
伪用户:UID 1-499,比如ftp,sshd,mail,shutdown等等
普通用户:UID 500-60000,新增用户
2./etc/shadow :密码文件
格式:用户名:密码:最后一次修改密码的天数:两次修改密码的最小天数间隔:密码保持有效的最多天数:密码失效前提前警告的天数:账号闲置时间:密码已经失效的天数:标志(一般不用)
3./etc/group :用户组文件
格式:组名:组密码位:GID:组内用户列表
4./etc/gshadow:组密码文件
5./etc/skel/*:新用户环境变量文件
6./etc/login.defs:使用useradd默认创建用户时的缺省配置,比如UID范围,GID范围,密码有效期,密码长度限制,等等
7./etc/default/useradd:使用useradd默认创建用户时的缺省配置,比如宿主目录位置,默认shell,默认使用的新用户环境变量文件位置(/etc/skel),等等
二.添加、删除用户
1.使用命令创建
useradd 用户名
-u:指定UID
-g:指定所属用户组GID或组名称
-G:指定所属多个组名称,逗号分隔
-d:宿主目录,会自动创建,如果目录已经存在,则不会将环境变量文件拷贝到该目录,需要手工拷贝
-s:命令解释器shell
-c:描述信息
-e:指定失效时间
例子:
useradd utest -u 600 -g 0 -G sys,adm -d /home/utest -s /bin/bash -c "this is a testuser"
passwd 用户名:设置密码
2.编辑配置文件创建
1)分别在/etc/passwd、/etc/group和/etc/shadow中增加一行记录
密码设置:echo 123456 | sha512sum
2)创建宿主目录
3)拷贝默认的配置文件到宿主目录: cp -rf /etc/skel/* dir
4)设置用户初始密码
3.删除用户
userdel -r 用户名
-r:删除用户宿主目录
4.修改用户
usermod -G 组名称 用户名:将用户添加到组中
usermod -l 新用户名 -d dir -g 组名称 用户名:将用户的登录名改为新用户名,并且加入到组中,同时修改宿主目录
三.添加、删除组
1.创建组
groupadd 组名
-g:指定GID
2.删除组
groupdel 组名
3.修改组名称
groupmod -n newname oldname
4.设置组密码
设置密码:gpasswd 组名
将用户加入组:gpasswd -a 用户名 组名
从组中删除用户:gpasswd -d 用户名 组名
删除组密码:gpasswd -r 组名
禁止用户添加到该组:gpasswd -R 组名
设置组管理员:gpasswd -A 用户名 组名
四.SetUID与SetGID
ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 Feb 22 2012 /usr/bin/passwd
说明:
当一个可执行程序具有SetUID权限,用户执行这个程序时将以这个程序所有者身份执行。
当一个可执行程序具有SetGID权限,用户执行这个程序时将以这个程序所属组身份执行。(这个用的不多)
SetUID设置:chmod 4755 程序 或者 chmod u+s 程序
SetUID取消:chmod 755 程序 或者 chmod u-s 程序
SetGID设置:chmod 2755 程序 或者 chmod g+s 程序
SetGID取消:chmod 755 程序 或者 chmod g-s 程序
查找SetUID和SetGID程序:
find / -perm -4000 -o -perm -2000
五.用户管理命令
1.id:查看当前用的UID,GID和组信息
uid=600(utest) gid=0(root) groups=0(root),3(sys),4(adm)
2.su - 用户名:切换用户,带环境变量,exit退出
3.finger :查看用户详细信息 安装:yum install finger -y
4.passwd -S 用户名:查看用户密码状态
5.vipw:编辑/etc/passwd文件
6.groups 用户名:查看用户隶属于哪些组
7.chgrp 组名 file/dir :修改文件所属组 目录加 -R
8.chown 用户名 file/dir :修改文件所属用户 目录加 -R
chown -R 用户名.组名 file/dir
9.vigr:编辑/etc/group文件
10.newgrp 组名:将当前用户加入到该组中,要求该组已经设置过密码
11.pwck:检查/etc/passwd内容是否有效,比如宿主目录是否存在等等
12.grpck:检查/etc/group内容是否有效
13.chage -l 用户名:查看用户密码配置信息
六.用户禁用与恢复
禁用:锁定用户,不能登录
usermod -L 用户名
passwd -l 用户名
恢复:解锁
usermod -U 用户名
passwd -u 用户名
七.sudo
配置文件/etc/sudoers
格式:用户名(%组名) 主机地址=命令(绝对路径)
例子:root ALL=(ALL) ALL
wap ALL=/usr/local/bin/redis-server
visudo:编辑/etc/sudoers
sudo command:执行命令,需要输入当前用户密码
sudo -l:查看当前用户可以使用sudo执行哪些命令
八.粘着位
如果一个权限为777的目录被设置了粘着位,则每个用户都可以在该目录下创建文件,但只能删除自己创建的文件
设置:chmod o+t 目录 或者 chmod 1777 目录
取消: chmod o-t 目录 或者 chmod 777 目录
九.批量添加用户,适用于少量添加,大量可以编写个脚步
1.编辑一个用户信息文件,比如user.info,格式与/etc/passwd相同
2.newusers < user.info :写入/etc/passwd,会自动创建宿主目录
3.pwunconv:关闭shadow passwd功能
4.创建一个密码文件,比如passwd.info,格式与/etc/shadow相同,但密码是明文
5.chpasswd < passwd.info:写入/etc/shadow
6.pwconv :开启shadow passwd功能,写入password密文
相关推荐
程序员必会的Linux命令
内容包括Linux常用命令、文件操作、环境安装与配置、shell语法、权限管理、进程管理、vim、git、ssh、tmux、docker、thrift、多线程与多进程、各种编程语言的编译与执行等内容。
计算机基础知识学习笔记-程序员必知的硬核知识大全
linux常用命令,如基础命令,用户管理,进程管理,软件包管理,shell编程,等等
简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选...
linux常用命令全集
简历模板-程序员-通用-精选简历模板-程序员-通用-精选简历模板-程序员-通用-精选简历模板-程序员-通用-精选简历模板-程序员-通用-精选简历模板-程序员-通用-精选简历模板-程序员-通用-精选简历模板-程序员-通用-精选...
WINDOWS程序员使用指南(一)----DLL和内存管理.rar
所以今天收集了qt-opensource-linux-x64-5.10.0.run 、 qt-opensource-linux-x64-5.12.1.run 、qt-opensource-linux-x64-5.12.6.run、qt-opensource-linux-x64-5.12.9.run 、qt-opensource-linux-x64-5.12.12.run给...
JAVA程序员之路-----看专业程序员的成长之路
Linux命令全集,收录的程序员常用的linux命令,不过这个文档我还没用过。是菜鸟家族的人推荐的我就迫不及待的分享给大家了
Linux常用命令,对开始学习Linux的学习者是很有用的。 php C C++程序员 多学习学习。
screen-4.0-程序员运维必备-后台运行应用-linux-64-32位.rar 1. 资源内容:后台运行应用screen 可方便管理后台应用,告别 -d ,告别nohup 2. 使用目标:运维,后台运行应用,linux 后台运行 3. 应用场景:部署 和 ...
linux高级命令教程及代码Python-linux高级命令教程及代码Python-linux高级命令教程及代码Python-linux高级命令教程及代码Python-linux高级命令教程及代码Python-linux高级命令教程及代码Python-linux高级命令教程及...
实用经典算法,每一个程序员都必知必会的算法
程序员现场运维必备-Linux命令大全-45页全面解释-工具书备用.zip
某马程序员-linux基本命令
WINDOWS程序员使用指南(三)----OLE_DDEWINDOWS程序员使用指南(三)----OLE_DDE
常用命令、安装部署jdk tomcat mysql等程序员必备技能
WINDOWS程序员指南1--DLL和内存管理