linux中用户、组的管理(密码管理、权限管理及其修改用户、组)(转)

process(进程)

1 计算资源

权限  

用户(获取资源或服务的凭证或标识)  

用户,容器,关联权限:用户组(标识符),方便地指派权限  

2 用户、组、权限  

 1 安全上下文(secure context):  
 2 
 3 权限:r,w,x  
 4 
 5 文件:  
 6 
 7 r:可读,可以使用类似 cat等命令查看文件内容;  
 8 
 9 w:可写,可以编辑或删除此文件;  
10 
11 x:可执行,eXacutable,可以命令提示符下当作命令提交给内核运行;

3 目录

 1 r:可以对此目录执行ls以列出内部的所有文件;  
 2 
 3 w:可以在此目录创建文件;  
 4 
 5 x:可以使用cd切换进此目录,也可使用ls -l查看内部文件的详细信息;  
 6 
 7 rwx:  
 8 
 9 r--:只读
10 
11 r-x:读和执行  
12 
13 ---:无权限
14 
15 0 000 ---:无权限
16 
17 1 001 --x:执行
18 
19 2 010 -w-:写  
20 
21 3 011 -wx:写和执行  
22 
23 4 100 r--:只读
24 
25 5 101 r-x:读和执行  
26 
27 6 110 rw-:读写  
28 
29 7 111 rwx:读写执行  
30 
31 eg:755:rwxr-xr-x  
32 
33 rw-r-----:640
34 
35 660:rw-rw----
36 
37 rwxrwr-x:775  
38 
39 用户:UID,/etc/passwd  
40 
41 组 :GID,/etc/group
42 
43 影子口令:etc/shadow  
44 
45 组:/etc/gshadow  

4 用户类别

 1   管理员:0  
 2 
 3   普通用户:1-65535  
 4 
 5   系统用户:1-499  
 6 
 7   一般用户:500-60000  
 8 
 9 用户组类别:  
10 
11   管理员组:  
12 
13   普通组:(包括系统组和一般组)  
14 
15 用户组类别:  
16 
17    私有组:创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组  
18 
19    基本组:用户的默认组  
20 
21    附件组,额外组:默认组以外的其它组  

5 解析:名称解析 

 1 /etc/passwd  
 2 
 3 account:登录名  
 4 
 5 password:密码  
 6 
 7 UID:用户组ID  
 8 
 9 GID:基本组ID  
10 
11 comment:注释  
12 
13 HOME DIR:家目录  
14 
15 SHELL:用户的默认shell  
16 
17 /etc/shadow  
18 
19 account:登录名  
20 
21 encrypted password:加密的密钥 

6 加密方法

 1 对称加密:加密和解密使用同一个密钥  
 2 
 3 公钥加密:每个密码都成对儿出现,一个为私钥(secret key),一个为公钥(publickey),公钥加密做密钥交换  
 4 
 5 单项加密,散列加密:提取数据特征码,常用于数据完整性校验,单项加密不可逆  
 6 
 7 1.雪崩效应(初始条件的微小改变将会引起结果的巨大改变)  
 8 
 9 2.定长输出  
10 
11 MD5:Message Digest9(信息摘要),128位定长输出  
12 
13 SHA1:Secure Hash Algorithm(安全的哈希算法),160位定长输出  
14 
15 eg:which useradd  
16 
17 ls -l useradd 查看当前用户下useradd命令  
18 
19 ls -l $(which useradd)  
20 
21 ls -l ’which useradd‘  
22 
23 /etc/passwd:  
24 
25 用户名:密码:GUI:GID 注释: 家目录:默认SHELL  
26 
27 /etc/group:  
28 
29 组名:密码:GID:以此组为其附加组的用户列表  
30 
31 /etc/shadow:  
32 
33 用户名:密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间 

7 useradd [options] USERNAME  

 1 -u UID:指定选项(普通用户ID>=500)  
 2 
 3 -g GID(基本组)  
 4 
 5 -G GID,...(附加组或额外组,组必须事先存在,组可以有多个,彼此间用“,”隔开)  
 6 
 7 -c "COMMENT":指定用户注释信息 eg:useradd -c "Tom" -d /home/blear user4  
 8 
 9 -d /path/to/somedirectory:指定家目录  
10 
11 -r 添加系统用户  
12 
13 -s SHELL:指定SHELL路径 eg:useradd -s /sbin/nologin user5  
14 
15 su user5  
16 
17 cat /etc/shells  
18 
19 (利用echo $shell可以查看自己的shell是什么)  
20 
21 /etc/shells :指定了当前系统可用的安全的shell  
22 
23 -M :不为用户创建家目录  
24 
25 就算/etc/login.defs下设定家目录也不创建  
26 
27 -m :强制为用户创建家目录  
28 
29 -k :把skel这个目录的所有文件在创建用户的家目录以后把这个目录下的所有文件复制到用户的家目录下去  
30 
31 skel是人的骨架,框架 (里面是一些bash的配置文件)  
32 
33 -m -k :两者通常同时使用  
34 
35 eg:ls -a /etc/shel  
36 
37 -r:添加为系统用户  

8 userdel(删除用户)

 1 userdel [option] USERNAME  
 2 
 3 -r :删除用户的同时也删除用户的家目录  
 4 
 5 id : 查看用户的账号属性信息  
 6 
 7 -u :只查看UID  
 8 
 9 -g :只查看GID  
10 
11 -G :查看当前用户所有组  
12 
13 -n :显示用户名  
14 
15 -u -n: 同时用可显示用户的名字,而不是只显示用户的id号 eg:id -u -n user1  
16 
17 -g -n: 同时用可显示组的名字 eg:id -g -n user1  
18 
19 -G -n: 同时用可显示所有组的组名 eg:id -G -n user1  
20 
21 -Gn :同时用可显示每一个组的组名 eg:id -Gn  
22 
23 finger:查看(检索)用户账号信息  
24 
25 finger USERNAME  

9 修改用户账号属性

 1 usermod  
 2 
 3 -u UID :改用户的信息 eg:user -u 2002  
 4 
 5 -g GID :改基本组  
 6 
 7 -a -G GID :改用户的附加组信息,为用户在原有组的基础上额外附加组,不使用-a选项,会覆盖此前的附加组  
 8 
 9 -c :指定注释信息  
10 
11 -d -m:既指定新的家目录,又移动此前的文件移至新的家目录当中去  
12 
13 -s :改用户的shell  
14 
15 -l :改用户的登录名  
16 
17 -L :锁定用户账号  
18 
19 -U :解锁账号  
20 
21 -e : 指定用户的过期时间  
22 
23 -f : 指定非活动时间(即密码过期了)  
24 
25 chsh(change shell的简写): 修改用户的默认shell  
26 
27 chfn(change finger):修改用户的注释信息  

10 密码管理

 1 普通用户只能用passwd修改自己的密码  
 2 
 3 passwd [USERNAME] 管理员用于修改其他用户的密码  
 4 
 5 --stdin :标准输入
 6 
 7 passwd --stdin :从标准输入读取密码,标准输入在键盘  
 8 
 9 eg:echo “redhat”| passwd --stdin user3
10 
11 -l :锁定用户账号  
12 
13 -u :解锁  
14 
15 -d :删除用户密码  
16 
17 -w :警告时间  
18 
19 pwck:检查用户账号的完整性  
20 
21 组管理:  
22 
23 创建组:groupaddwhich useradd  
24 
25 groupadd  
26 
27 -g:指定GID  
28 
29 -r: 添加为系统组  
30 
31 eg:# groupadd -r nginx  
32 
33 # tail -1 /etc/group
34 
35 groupmod  
36 
37 -g GID  
38 
39 -n GRPNAME  
40 
41 groupdel(删除组)  
42 
43 gpasswd:为组设定密码  
44 
45 newgrp GRPNAME <--> exit
46 
47 change  
48 
49 -d:最近一次的修改时间  
50 
51 -E:过期时间  
52 
53 -I:非活动时间  
54 
55 -m:最短使用期限  
56 
57 -M:最长使用期限  
58 
59 -W:警告时间  
60 
61 groupadd USERNAME  
62 
63 用户管理:  
64 
65 useradd,userdel,usermod,passwd,chsh,chfn,finger,id,change  
66 
67 组管理:  
68 
69 groupadd,groupdel,groupmod,gpasswd  

11 权限管理:(r,w,x)

  1 三类用户:  
  2 
  3 u:属主  
  4 
  5 g: 属组  
  6 
  7 o: 其它用户  
  8 
  9 chown:改变文件属主(只有管理员可以使用此命令)  
 10 
 11 # chown USERNAME file,...  
 12 
 13 -R:修改目录及其内部文件的属主  
 14 
 15 --reference=/path/to/somefile file,...
 16 
 17 chown USERNAME:GRPNAME file (可改属组也可改属主)  
 18 
 19 chown :GRPNAME file (属主不动只改组)  
 20 
 21 # chgrp GRPNAME file,...  
 22 
 23 -R  
 24 
 25 --reference=/path/to/somefile file,...
 26 
 27 chmod:修改文件的权限  
 28 
 29 修改三类用户的权限:  
 30 
 31 chmod MODE file,...  
 32 
 33 -R :递归修改  
 34 
 35 --reference=/path/to/somefile file,...
 36 
 37 修改某类用户或某些类用户权限:  
 38 
 39 u,g,o,a  
 40 
 41 chmod 用户类别=MODE file,...  
 42 
 43 修改某类的用户某位或某些位权限:  
 44 
 45 u,g,o,a  
 46 
 47 chmod 用户类别+|-MODE file,...  
 48 
 49 su - openstack  
 50 
 51 bc 是计算器  
 52 
 53 openssl passwd 生成密码 eg: openssl passwd -1(数字1)-salt '12345678'
 54 
 55 umask:用户创建文件用的遮罩码/掩码  
 56 
 57 # umask  
 58 
 59 文件默认不能具有执行权限,如果算得的结果中有执行权限,则将其权限加1;  
 60 
 61 umask:023  
 62 
 63 文件:666-023=643  
 64 
 65 目录:777-023=754  
 66 
 67 站在用户登录的的角度来说,SHELL的类型:  
 68 
 69 登录式shell:  
 70 
 71 正常通常某终端登录  
 72 
 73 su - USERNAME  
 74 
 75 su -1 USERNAME  
 76 
 77 非登录式shell:  
 78 
 79 su USERNAME  
 80 
 81 图形终端下打开命令窗口  
 82 
 83 自动执行的shell脚本  
 84 
 85 bash的配置文件:  
 86 
 87 全局配置  
 88 
 89 /etc/profile,/etc/profile.d/*.sh,/etc/bashrc  
 90 
 91 个人配置  
 92 
 93 ~/.bash_profile,~/.bashrc  
 94 
 95 profile类的文件:  
 96 
 97 设定环境变量  
 98 
 99 运行命令或脚本  
100 
101 bashrc类的文件:  
102 
103 设定本地变量  
104 
105 定义命令别名  
106 
107 登录式shell如何读取配置文件?  
108 
109 /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc
110 
111 非登录式shell如何读取配置文件?  
112 
113 ~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh

本文出自 “show_only” 博客,请务必保留此出处http://10240214.blog.51cto.com/6634068/1144108

原文地址:https://www.cnblogs.com/jikexianfeng/p/6149425.html