Linux用户及权限命令

142 阅读3分钟

------------ 本文来自 阿P官方博客

###一、用户相关信息存储位置

	账户信息存储:/etc/passwd
	密码信息存储:/etc/shadow
	组信息:/etc/group

###二、用户管理

	useradd:创建
		创建tom账户,所属tom组,家在/home/tom
			useradd tom
		指定主组为root,副组为创建用户名,并指定家目录。
			useradd -d /big/banzhang -g root banzhang
		创建jerry,主组root,副组adm、bin,shell程序指定为/bin/sh
			useradd -g root -G adm,bin -s /bin/sh jerry
	usermod:修改
		为用户追加附加组
			usermod -aG sys tom:为tom追加sys组
		修改用户附加组
			usermod -G sys tom:删除tom附加组,并修改为sys
	userdel:删除
		只删除用户(家目录依然存在)
			userdel jerry
		删除用户并删除用户信息
			userdel -r jerry(实际工作中,一般是不会加-r参数,该用户有可能会回来)
	su:切换用户
		切换到tom,仍然使用当前登录用户环境
			su tom
		切换到tom,使用tom用户环境
			su - tom

###三、密码管理

	passwd:修改密码
		修改当前登录账户的密码(普通用户执行时,密码必须满足高强度)
			passwd
		修改tom的密码(需要管理员权限)
			passwd tom
	锁定密码(锁定和解锁密码不常用,故这里大家了解便好)
	解锁密码(同上)

###四、用户组管理

	groupadd:创建
		创建一个用户组a,指定groupid为1000
			groupadd -g 1000 a
		创建用户组d,和a组相同的groupid
			groupadd -g 1000 -o d
	groupmod:修改
		将group1修改为group2,并将id修改为1000
			groupmod -g 1000 -o -n group2 group1
		group2合并到group1。(group1的gid=1000)
			groupmod -g 1000 -o group2
	groupdel:删除
		删除group1组:
			groupdel group1(如果删除的组只作为附加组,可删。如果是主组,必须先删除所属主组账户,才可删除)
	newgrp:如果有多个用户组,可以在多个组之间切换。

###五、逻辑权限:在某个文件能看到的信息。

	chmod:修改权限的命令
		修改A文件777权限
			chmod 777 A
		删除A组其他人、用户组可读权限
			chmod o-w,g-w A
		组内成员共享A,其他人无权查看
			chmod 750 A
		B组全部加入A组。(合并组)
			vi /etc/group
			将B组的gid,改为A组gid
	chown:修改文件所属的用户和用户组
		修改test文件的用户和用户组为root、root
			chown root:root test		字符、数字权限:Linux每个文件,都有三组权限分别是:用户、用户组、其他人。(对应位置没有权限,用 - 表示)
		r:读(4)
		w:写(2)
		x:执行(1)
		例如:rwxrw-r--:代表该用户具有读写执行、同用户组读写、其他人只读。对应的数字权限为764

###六、物理权限

	不能修改的目录:尽量不改动系统目录权限。
		/:
		/dev:记录linux块文件(硬盘、光驱等)
		/tmp:临时目录
		/var:服务器数据
	chattr:修改物理权限
		a:可以追加,其他操作不可(可以追加,但不能删除。多用于日志文件) 
		i:任何人都不得更改(包括root用户,多用于配置文件)
		+[属性]:开启权限
		-[属性]:关闭权限
		例如:将/etc/目录修改为任何人不可更改
			chattr +i /etc
	lsattr:查看权限

###七、设置普通用户(admin)为root权限

	vi /etc/sudoers
	新增:admin  ALL=(ALL)       ALL

	我们在做完以上操作后,登录admin账户,即可通过sudo +命令的形式,来利用root权限操作相关文件。
	例如:想要admin用户修改/etc/passwd信息
		sudo vim /etc/passwd