您的位置:首页 > 运维架构 > Linux

linux中的用户管理及相关指令介绍

2016-10-27 17:05 393 查看
沟通交流共同学习可加QQ:2206208995 QQ群: 392081935 微信号:ITYWJK 微信公众号:IT运维极客座右铭:通过共享学习,走过一个从SB到NB的蜕变之路本章主要介绍与用户和用户权限相关的命令和知识

用户: 使用者获取资源的凭证,是权限的结合。用户名关联着uid,系统通过uid识别用户
组:是一个权限的集合,任何加入这个组的用户都获取这个组的权限。
组也有密码:用来用户临时加入某个组的时候需要输入密码。
权限:用户-组-其他 rwxrwxrwx 数字是777

文件权限:r:可用,可以用cat、more等
w:可写,可编辑于删除
x:提交内核执行
文件权限:r:可以使用ls列出内部所有文件
w:在目录创建文件
x:可以用cd切换,用ls -l查看。
默认情况下文件不应该有执行权限,但是目录应该有
用户:UID:/etc/passwd
组:GID:/etc/group
密码:/etc/shadow
组:/etc/gshadow
用户和组分类:
用户分类:管理员:0 ,系统用户:1-499,普通用户500--65534
组分类:管理组,普通组(系统组、一般组)。
用户组:
基本组:用户默认组
附加组:默认组以外的组
私有组:创建用户不指定组会创建一个跟用户名相同的组(一般组ID也一致)
创建用户,不指定组,就会创建一个和用户名字相同的组。
/etc/passwd的格式
student:x:500:500::/home/student:/bin/bash
1:account:登录名
2:password:密码
3:UID:用户ID
4:GID:基本组ID
5:comment:注释
6:Home Dir:家目录
7:Shell:默认shell
/etc/shadow
oracle:$6$CHCzNK9T$4ejZA7MjTwRkMqtSvRxjO3Sl9K7a16AuVVmWOoHzmgFr/N6TrRh2cRJM2njhPd4gpoMpRrgJm.kVqET0dPqFn.:17064:0:99999:7:::
1:组名
2:密码。(加密后的密码)!! 和*表示被锁定。($加密方法$杂质(8位随机码)$密码)
3:日期(密码修改日期)
4:密码最短使用日期(改了多久不让改密码,0为无限制)
5:密码最长使用日期(过了多久必须改密码,99999为无限制)
6:密码离过期多少天预警
7:在密码被过期但未禁用的天数
8:密码到什么时候被禁用(1970/01/01开始计算)
9:保留字段
加密方法:
对称加密:加密与解密用同一个密码
公钥加密:每个密码成对存在,一个为私钥(security key),一个为公钥(public key)。公钥加密,私钥解密,反之亦然。
单向加密:主要用于数据提取,提取数据的特征值。(散列加密)
特点:不可逆,雪崩效应,定长输出。
加密方法:MD5(128位,256位,512位)(Message Digest)
SHA1:Secure Bash Algorithm(160位定长输出)
计算特征码:md5sum 文件名
/etc/group:
study:x:500:
1:组名:组密码:组id:以此组为附加组的用户列表。
/etc/shells:系统可以用的shell。
相关指令:
用户管理:useradd,userdel,usermod,passwd,chsh,chfn,finger,id,change
组管理:groupadd,groupdel,groupmod,gpasswd
权限管理:chown,chgrp,chmod,umask
useradd :adduser:-u:uid 指定uid
-g :gid 指定基本组
-G:指定追加组(可以有多个)
-c:注释信息
-d:指定家目录
-s:指定shell(/etc/shells:指定可用shell),如果不想让某个用户登录,可以把此用户的shell更换为/etc/nologin
-m:强制创建家目录及(-K)/etc/skel下的文档(常与-k一起使用)
-M:不创建家目录
-r:添加系统用户
useradd -g 组名 -G 附加组 -d 家目录
默认属性:/etc/default/useradd,/etc/login.defs
userdel:userdel [-r] login。不带R,不删除家目录,带则删除。
finger:显示常用用户账号信息
id:显示用户信息
-u:显示用户名
-g:显示基本组信息
-G:显示附加组信息
-n:显示名字
usermod:修改账户属性。
-G:为用户修改附加组,会覆盖原有组
-u:修改用户UID
-e:修改用户停用日期
-d:修改用户家目录。加-m会把原来家目录的内容也迁移过去。
-l:修改登录名
-c:修改注释
-f:账号过期几日后永久停用。
-s:修改用户shell
-L:锁定用户
-U:解锁用户。
-r:增加一个系统用户。系统用户没有家目录。
chsh:修改用户shell
chfn:修改用户注释信息(finger和command信息)
passwd:修改密码。
1、--stdin:从标准输入读入密码
2、-l:锁定用户账号
3、-u:解锁
4、-n:密码最短时间
5、-x:密码最长时间
6、-w:密码警告时间
7、-d:删除用户密码
pwck:检查密码文件的完整性。
手动创建一个用户涉及到的文件:/etc/passwd,/etc/shadow,/etc/group 创建家目录,把/etc/skel文件复制到家目录下,并修改文件属性。
密码生成方法:openssl passwd -l -salt '12345678'
文件默认权限:文件 666 目录777
用户的登陆
登陆shell:通过账户登陆或切换的shell
非登陆shell:1、su不加-切换的shell
2、图形终端中的terminal
3、自动执行的脚本
bash的配置文件:1、全局配置文件 /etc/profile /etc/profile.d/*.sh /etc/bashrc
2、个人配置 .bash_profile .bashrc
groudadd:增加用户组
1、-g:制定GID。(大于500,且在上一组+1)
2、-r:增加一个系统组。
groupmod:修噶组属性
1、-g:修改GID
2、-n:修改组名
groupdel:删除组
grouppwd:给组增加密码。(密码是临时修改组属性的时候使用) newgrp MYGROUP。登陆的组为附加组的时候不需要组密码
chage:-d:最近一次修改时间
-e:禁用时间
-l:过期时间
-m:最短时间
-M:最长时间
-w:警告时间
权限管理:
chown:修改文件输主
chown [OPTION]... --reference=RFILE FILE...
chown [OPTION]... [OWNER]:[GROUP] FILE...
chown [OPTION]... [OWNER].[GROUP] FILE...
chown 用户名:组名 文件名
chown :属组 文件名 只修改属组
-R:递归修改,修改目录下的所有文件与子目录与子子目录等。
--reference 把某个文件的属主和属组改的和某个文件一样。

chgrp:修改属组,和chown用法相似
chmod:修改三类用户的权限。修改某类用户的某些用户权限,修改某类用户的某位或某些位权
chmod 755 文件名
chmod 用户类别=权限 用户类别:u g o a 权限 r w x
chmod u+x/u=x 文件名 u、g、o、a
chmod a+x /a=x 文件名
-R:递归修改。
--reference 把某个文件的权限修改的和某个文件一样。
1、创建一个没有家目录的用户openstack
useradd -M openstack
2、复制/etc/skel为/home/openstack
cp -r /etc/skel /home/openstack
3、改变/home/openstack及其内部文件的属主属组均为openstack
chown -R openstack:openstack /home/openstack
4、/home/openstack及其内部的文件,数组和其它用户没有任何访问权限
chmod -R 700 /home/openstack
手工添加一个用户
1、在/etc/group /etc/shadow /etc/passwd 中添加相应的用户和组
当前日期计算方法 date +%s 1971-1-1到现在的秒数,/8600等于天数
密码计算方法:openssl passwd -1(加密方法) -salt '12345678'(盐) 结果即为passwd中要求的密码
umask:权限掩码
文件:666-umask 目录:777-umask
文件不能有执行权限,有的话自动加1
站在用户的角度,shell的分类
登录shell:
1、正常通过某终端登录的
2、通过su - username切换过去的
3、通过su -l username 切换过去的
非登录shell
1、su username切换过去的
2、图形终端打开的命令行窗口
3、自动执行的shell脚本
bash的配置文件
全局配置文件
/etc/profile /etc/profile.d/*.sh /etc/bashrc
个人配置
~/.bash_profile ~/.bashrc
bashrc类文件功能:
1、设定本地变量
2、定义命令别名
profile类文件功能:
1、设定环境变量
2、运行命令或者脚本
登录shell: /etc/profile----/etc/profile.d/*----~/.bash_profile----~/.bashrc----/etc/bashrc
非登录shell:~/.bashrc----/etc/bashrc----/etc/profile.d/*.d
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 用户管理