linux系统命令用户管理


用户管理,理论
用户管理
是指多个用户共同使用同一个操作系统来维护一个服务器终端,每个用户都在做自己的事,每个人都有自己的账号和密码,权限也不一样,好比老板权限最大,员工权限较低,多用户大多都是远程登录去控制服务器
多用户多任务
现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源
用户是什么
用户是指操作服务器的Linux系统维护人员的账号用户
为什么要账户管理
现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源。
普通用户在所分配到的资源内进行各自的操作,相互之间不受影响。但是这些普通用户的权限是有限制的,且用户太多的话,管理就不便,从而引入root用户。
Linux用户分类
一般三大类:root 用户权利最大,可以操作任意命令,普通用户
权限较低做一些特定的工作,虚拟用户 也是假用户 没有登录系统功能系统一些运行需要它的加入 如 bin,ftp,mail
.用户角色划分
root老板级的 普通用户员工 虚拟用户假用户
用户组合用户的关系
为了方便管理属于同一组的用户,Linux 系统中还引入了用户组的概念。通过使用用 户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方 便为组中的用户统一规划权限或指定任务。
root
UID,user Identify,好比身份证号
GID,group Identify,好比户口本的家庭编号
在Linux系统中,用户也有自己的UID身份账号且唯一
在Linux中UID为0,就是超级用户,如要设置管理员用户,可以改UID为0,建议用sudo
系统用户UID为1~999 Linux安装的服务程序都会创建独有的用户负责运行。
普通用户UID从1000开始:由管理员创建(centos7),最大值1000~60000范围
centos6创建普通用户是500开始
UID 用户id号,身份证号
GID 用户组id号,部门编号
root 用户、组、id都为0,属于老板
用户和组的关系
一对一,一个用户可以存在一个组里,组里就一个成员
一对多,一个用户呆在多个组里面
多对一,多个用户在一个组里,这些用户和组有相同的权限
多对多,多个用户存在多个组里
10.用户合文件权限的联系
inux/unix是一个多用户、多任务的操作系统。
root:默认在Unix/linux操作系统中拥有最高的管理权限。可以理解为qq群的群主,普通用户:是管理员或者具备管理权限的用户所创建的,只能读、看,不能增、删、改。
Linux配置文件
/etc/passwd文件内容
/etc/passwd文件内容
/etc/passwd 用户信息
/etc/shadow 用户密码信息
/etc/group 用户组信息
/etc/gshadow 用户组密码信息
/etc/skel

什么是Linux管理员
	为了方便管理属于同一组的用户,Linux 系统中还引入了用户组的概念。通过使用用 户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方 便为组中的用户统一规划权限或指定任务。

假设有一个公司中有多个部门,每个部门中又 有很多员工。
如果只想让员工访问本部门内的资源,则可以针对部门而非具体的员工来设 置权限。
例如,可以通过对技术部门设置权限,使得只有技术部门的员工可以访问公司的 数据库信息等。
Linux管理员在创建用户时,将自动创建一个与其同名的用户组,这个用户组只有该用户一个人,

groupadd
-g gid
设置组id
groupadd -g 1200 opslinux
默认从1000开始依次递增
groupadd opslinux

groupmod
修改组信息
-g gid
修改组id
-n 新组名
修改组名

groupdel
删除组
groupdel opslinux

useradd
/etc/passwd
useradd 用户名
1.在/etc/passwd文件中创建一些关于用户的数据
2.在/etc/shadow文件新增一行关于密码的数据
3.在/etc/group文件中创建一行与用户同名的组
4.在/etc/gshadow 文件中新增一行与新增群组相关的密码信息
5.自动创建用户的家目录,默认在/home下,与用户同名
-g
设置主组
useradd 用户名
用户
xxx组
主组
yyy组
附加组
-G
设置附加组
useradd -G xxx组名
-u
设置 id
useradd -u id1000之后
-c
设置用户注释
useradd -c /etc/passwd 用户名
给用户一个解释
-s
设置用户登录shell解释器
/bin/bash
useradd -s /bin/bash 用户名
用户登录后,给他使用bash翻译官
/sbin/nologin
该用户无法登录
/etc/passwd
配置文件 字段详解

id
用于检查用户和组以及对应的UID,GID等信息
id -u 显示用户id
id -g 显示组id
id -un 显示用户名
id -gn 显示组名

usermod
对存在的用户修改其用户信息
-g 设置主组 group
-G
设置附加组
-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s:修改用户登入后所使用的shell;
-u:修改用户ID;
-U:解除密码锁定。
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;

passwd
配置文件 字段详解
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
-i:密码过期多少天后禁用账户
-x:设置x天后可以修改密码
-n:设置n天内不得改密码
-e:密码立即过期,强制用户修改密码
-w:用户在密码过期前收到警告信息的天数
/etc/shadow
默认是0权限,任何用户不得查看
修改密码
passwd 用户名 密码
交互式设置密码
--stdin
标准输入
#:echo '密码'|passwd --stdin 用户名

userdel
--f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。

.whoami、who、w、last、lastlog
whoami 打印当前用户名
who
显示当前登录的用户终端信息
tty 虚拟终端的代称
pts/序号 ssh远程终端的代称
w 显示系统登录用户信息,以及负载信息
last 显示近期登录的终端记录
lastlog 显示关于用户的登录记录

su
切换到指定用户
-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;
-f或——fast:适用于csh与tsch,使shell不用去读取启动文件;
-l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量
-m,-p或--preserve-environment:变更身份时,不要变更环境变量
-s或--shell=:指定要执行的shell;
--help:显示帮助
--version;显示版本信息。

sudo
-b:在后台执行指令;
-h:显示帮助;
-H:将HOME环境变量设为新身份的HOME环境变量;
-k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。
-l:列出目前用户可执行与无法执行的指令;
-p:改变询问密码的提示符号;
-s:执行指定的shell;
-u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
-v:延长密码有效期限5分钟;
-V :显示版本信息。

visudo
visudo用于编辑/etc/sudoers文件,且提供语法检测,用于配置sudo命令

		1.直接输入visudo命令,相当于打开vim /etc/sudoers
		找到如下行
		 89 ## The COMMANDS section may have other options added to it.
		 90 ##
		 91 ## Allow root to run any commands anywhere
		 92 root    ALL=(ALL)       ALL
		 2.添加你想让执行sudo命令的用户
		 89 ## The COMMANDS section may have other options added to it.
		 90 ##
		 91 ## Allow root to run any commands anywhere
		 92 root    ALL=(ALL)       ALL
		 93 zy88888  ALL=(ALL)       ALL
		 3.保存退出,使用vim/vi的模式,此时已经可以用zy88888用户,使用sudo命令了
特别注意不要和重定向符号结合使用

相关