linux用户和组管理

资源分派:
	Authentication:认证
Authorzation:授权
Accouting:审计
	Audition:
	token,identify(username,password)
Linux用户:Username/UID
	管理员:root,0
	普通用户:1-65535
		系统用户:1-499
			对守护进程获取资源进行权限分配。
		登录用户:500+
			交互式登录:
linux组:Groupname/GID
	管理员组:root,0	
	普通组:
		系统组:1-499
		普通组:500+
Linux安全上下文:
	运行中的程序:进程(process)
		以进程发起者的身份运行:
			root:cat
			tom:cat
		进程中所能够访问的所有资源的权限取决于进程的发起者身份。
Linux组的类别:
	用户的基本组(主组):
		组名同用户名,且仅包含一个用户,私有组
	用户的附加组(额外组):
Linux用户和组相关的配置文件:
	/etc/passwd保存用户及组属性信息(名称、UID、基本组ID等)
	/etc/shadow:用户密码及其相关属性
	/etc/gshadow:组密码及其相关属性

/etc/passwd:
	name:passwd:UID:GID:GECOS:directory:shell
	用户名:密码:UID:GID:GECOS:主目录:默认shell
/etc/group:
	hroup_name:password:GID:user_list
	组名:组密码:GID:以当前组为附加组的用户列表(分隔符为逗号)
	/etc/shadow:
用户名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:最大密码使用期限:密码警告时间段:密码禁用期:账户过期日期:保留字段
	加密机制:
加密:明文-->密文
		解密:密文-->明文
		单向加密:提取数据指纹
			md5:message digest,128bits
			sha1:secure hash algorithm,160bits
			sha384:385bits
			sha512:512bits
			雪崩效应:出事条件的微小改变,将会引起结果的巨大改变:
			定长输出:
		密码的复杂性策略:
                    1	使用数字、大写字母、小写字母及特殊字符中至少3种。
                    2	足够长
                    3	使用随机密码
                    4	定期更换:不要使用最近曾经使用过的密码

用户和组管理相关的管理命令:
	用户创建:useradd
		useradd [options] LOGIN
			-u UID:[UID_MIN,UID_MAC],定义在/etc/login,defs
			-g GID:指明用户所属基本组,可为组名,也可以GID。
			-c “COMMENT”:用户的注释信息。
			-d /PATH/TO/HOME_DIR:以指定的路径为家目录。
			-s SHELL:指明用户的默认shell程序,可用列表在/etc/shells文件中。
			-G GROUP1,GROUP2,…[,[groupn]]]:为用户指明附加组,组事先必须存在。
			-D
                        -r:创建系统用户
			默认值设定:/etc/default/useradd文件中
			useradd –D
				-s SHELL
    练习:
        创建用户gentoo,附加组为distro和linux,默认hsell为/bin/shell,注释信息为Gentoo Distribution。
	组创建:groupadd
		groupadd [OPTION]…group_name
			-g GID:指明GID:[GID_MIN,GID_MAX]
			-r:创建系统组
	查看用户相关的ID信息:id
		-u:UID
		-g:GID
		-G:Groups
		-n:Name
	切换用户以其他用户身份执行命令:
su [options...] [-] [user [args...]]
	切换用户的方式:
		su username:非登录方式切换,即不会读取目标用户的配置文件
		su – username:登录式切换,完全切换
			note:root su至其他用户无需密码,非root用户切换时需要密码
		换个身份执行命令:
			su [-] username –c ‘command’
		选项:
			-l:su –l username相当于登录式切换,相当于su – username
用户属性修改:
	usermode:
		-u UID:新UID
		-g GID:新基本组 
		-G GROUP1,GROUP2,…[,[groupn]]]:为用户指明附加组,原来的附加组会被覆盖;若想保留原有,则要同时使用-a选项,表示append。
		-s SHELL:新的默认SHELL
		-c ‘command’:新的注释信息
		-d HOME:新的家目录,原有家目录中的文件不会同时移动至新的家目录,若要移动,则同时使用-m选项。
		-l login_name:新的名字
		-L:lock指定用户
		-U:unlock指定用户
给用户添加密码:passwd
passwd [options] username
	passwd username:修改指定用户的密码,仅root用户有权限
	passwd:修改自己的密码
		常用选项:
			-l:锁定指定用户
			-u:解锁指定用户
			-n mindays:指定使用期限
			-x maxdays:最大使用期限
			-w:warndays:提前多少天开始警告
			-i:inactivedays:非活动期限
			-e YYYY:MM-DD:指明账户过期日期
                        -f inactive:设定非活动期限。
			--stdin:从标准输入接受用户密码	
			echo “PASSWORD” | passwd –stdin username
			Note:/dev/null,bit buckets
					/dev/zeros
	删除用户:userdel [option] …login
		-r:删除用户及目录:
组属性修改:groupmod
	groupmod [option]…group
		-n group_name:新名字
		-g GID:新的GID	
组删除:groupdel
	groupdel group
组密码:gpasswd	
	gpasswd [option] group
		-a user:将user添加到指定组
		-d user:删除用户user的以当前组为组名的附加组
		-A:user1,user2…:设置有管理权限的用户列表
newgrp命令:临时切换基本组:
	如果用户本不属于此组,则需要密码。
修改用户属性:chage
	-d  LAST_DAY
	-E  XPIRE_DATE
	-I  ACTIVE
	-m, --mindays MIN_DAYS
其他命令:
	chfn,chsh,finger
命令总结:
	useradd,groupadd,su,id,usermod,groupmod,userdel,groupdel,passwd,su,newgrp,pwck,chage,chfn,chsh,finger
权限管理:
	文件的权限主要针对三类对象进行定义:
		owner:属主,u
		group:属组,g
		other:其他,o
每个文件针对没类访问者都定义了三种权限:
	r:Readable
	w:Writable
	x:Excutable
	文件:
r:可使用文件查看类工具获取其内容
	w:可修改其内容
	e:可以把此文件提请内核启动为一个进程。
目录:
	r:可以使用ls查看目录中文件列表
	w:可在此目录中创建文案,也可删除此目录中的文件
		/tmp/test/a.txt
	x:可以使用ls –l查看此目录中文件列表,可以使用cd进入目录。
            --- 000 0
            --x 001 1
            -w-010 2
            -wx011 3
            r--100 4
            r-x101 5
            rw-110 6
            rwx 111 7
修改文件权限:chmod
	chmod [OPTION]... MODE[,MODE]... FILE...
	MODE:
		修改一类用户的所有权限:
		u=
		g=
		o=
		ug=
		a=
		u=,g=
	chmod [OPTION]... --reference=RFILE FILE...
		参考RFILE文件吃的权限,将RFILE的组改为同RFILE
修改文件的属主和属组:
	仅root可用
	修改文件的chmon
		chown [OPTION]... [OWNER][:[GROUP]] FILE...
		用法:
			owner
			owner:group
			:group
			note:命令中的冒号可用.替换
		-R递归
修改文件的属组:chgrp
	chgrp [OPTION]... GROUP FILE...
	chgrp [OPTION]... --reference=RFILE FILE...
	-R递归
文件或目录创建时的遮罩码:umask
	FILE:666-umask
	note:如果某类的用户的权限减得的结果中存在x权限,在将其权限+1
DIR:777-umask
umask:查看
umask #:设定
命令总结:chmod,chown,chgrp,umask
linux在创建用户是将用户默认的shell指定为/sbin/nologin即可阻止用户登录,命令为
useradd user -s /sbin/nologin,其中-s指定用户的默认shell
如果用户已经存在于系统,用root身份修改/etc/passwd文件,将要阻止的用户的shell改为/sbin/nologin,如下所示
user:x:502:502::/home/user:/sbin/nologin

猜你喜欢

转载自blog.csdn.net/matengbing/article/details/80237435