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

Linux 用户及权限管理

2015-12-14 11:39 429 查看
Linux 用户及权限管理
用户管理: 创建用户、修改用户属性、删除用户、创建组、修改组属性、删除组用户 : 计算机中识别一个个体的一个专用标识--通常指用户名。用户登录系统分为--3A: 认证:Authentication: 授权:Authorization: 审计:Audition: 用户类别: 管理员、普通用户。 管理员: 是root用户,可以对系统进行一切操作; 普通用户:分为系统用户、登录用户。 系统用户:是为了能让那些后台进程或服务进程以非管理员的身份运行,通常需要创建多个普通用户: 登录用户:需要操作计算机的交互式登录的用户》 用户标识:UserID--简称UID,解析库:/etc/passwd 用16bits二进制数字:0-65535之间
管理员的标识:0 普通用户:1.65635 系统用户:1-499(centos6),1-999(Centos7) 登录用户:500-60000(Centos6),100-60000(Centos7) 组的类别: 管理员组、普通用户组。 普通用户组: 系统用户组、登录用户组。 基本组、附加组。 私有组:组名同用户名,且只包含一个用户; 公共组:组内包含了多个用户; 组标识GroupID,简称GID 解析库:/etc/group 管理员组的GID 为0 普通用户组:1-65635
系统用户组:1-499(CentOS6), 1-999(CentOS7)
登录用户组:500-60000(CentOS6), 1000-60000(CentOS7)

用户认证:
用户登录计算机时,计算机通过对比事先存储的数据与登录时提供的信息是否一致
密码的使用策略:
1、使用随机密码;
2、最短长度不要低于8位;
3、应该使用大写字母、小写字母、数字和标点符号四类字符中至少三类;
4、定期更换;
加密算法:
对称加密:加密和解密使用同一个密码;
非对称加密:加密和解密使用的一对儿密钥;
密钥对儿:
公钥:public key
私钥: private key
单向加密:只能加密,不能解密;提取数据特征码; 算法:
md5: message digest, 128bits
sha:secure hash algorithm, 160bits
sha224
sha256
sha384
sha512
在计算之时加salt,添加的随机数;
/etc/passwd:用户的信息库
name: password:UID:GID:GECOS:directory:shell
name:用户名
password:可以是加密的密码,也可是占位符x;
UID:
GID:用户所属的主组的ID号;
GECOS:注释信息
directory:用户的家目录;
shell:用户的默认shell,登录时默认shell程序;
用户密码:/etc/shadow: 用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期段:过期期限:保留字段。

Linux用户和组管理:
创建用户 : useradd
登录 [选项] useradd
-u, --uid UID:指定UID;
-g, --gid GROUP:指定基本组ID,此组得事先存在;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;
-c, --comment COMMENT:指明注释信息;
-d, --home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;
-s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
-r, --system:创建系统用户;

注意:创建用户时的诸多默认设定配置文件为/etc/login.defs

useradd -D:显示创建用户的默认配置;
useradd -D 选项: 修改默认选项的值;修改的结果保存于/etc/default/useradd文件中;

usermod命令:修改用户属性

usermod [选项] 登录
-u, --uid UID:修改用户的ID为此处指定的新UID;
-g, --gid GROUP:修改用户所属的基本组;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;
-a, --append:与-G一同使用,用于为用户追加新的附加组;
-c, --comment COMMENT:修改注释信息;
-d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;
-m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;
-l, --login NEW_LOGIN:修改用户名;
-s, --shell SHELL:修改用户的默认shell;

-L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";
-U, --unlock:解锁用户的密码;

userdel命令:删除用户

userdel [选项] 登录
-r:删除用户时一并删除其家目录
组管理命令: groupadd命令:添加组

groupadd [选项] group_name

-g GID:指定GID;默认是上一个组的GID+1;
-r: 创建系统组;

groupmod命令:修改组属性

groupmod [选项] GROUP
-g GID:修改GID;
-n new_name:修改组名;

groupdel命令:删除组

groupdel [选项] GROUP

权限管理及命令:
passwd命令:

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

(1) passwd:修改用户自己的密码;
(2) passwd USERNAME:修改指定用户的密码,但仅root有此权限;

-l, -u:锁定和解锁用户;
-d:清除用户密码串;
-e DATE: 过期期限,日期;
-i DAYS:非活动期限;
-n DAYS:密码的最短使用期限;
-x DAYS:密码的最长使用期限;
-w DAYS:警告期限;
--stdin:
echo "PASSWORD" | passwd --stdin USERNAME

gpasswd命令:
组密码文件:/etc/gshadow

gpasswd [选项] group
-a USERNAME:向组中添加用户
-d USERNAME:从组中移除用户
newgrp命令:临时切换指定的组为基本组;

newgrp [-] [group]

-: 会模拟用户重新登录以实现重新初始化其工作环境;

chage命令:更改用户密码过期信息

chage [选项] 登录名

-d 修改最近一次修改密码
-E 修改密码过期时间
-W 非活动期限
-m 讲过期限
-M 最短使用期限
权限管理:

ls -l
rwxrwxrwx:
左三位:定义user(owner)的权限
中三位:定义group的权限;
右三位:定义other的权限

进程安全上下文:
进程对文件的访问权限应用模型:
进程的属主与文件的属主是否相同;如果相同,则应用属主权限;
否则,则检查进程的属主是否属于文件的属组;如果是,则应用属组权限;
否则,就只能应用other的权限;
权限:
r:readable, 读
w:writable, 写
x:excutable,执行

文件:
r:可获取文件的数据;
w: 可修改文件的数据;
x:可将此文件运行为进程;
目录:
r:可使用ls命令获取其下的所有文件列表;
w: 可修改此目录下的文件列表;即创建或删除文件;
x: 可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息;

权限组合机制:
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
权限管理命令:
chmod命令:
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...

三类用户:
u:属主
g:属组
o:其它
a: 所有
(1 )chmod [OPTION]... MODE[,MODE]... FILE...
MODE表示法:
赋权表示法:直接操作一类用户的所有权限位rwx;
u=
g=
o=
a=

授权表示法:直接操作一类用户的一个权限位r,w,x;
u+, u-
g+, g-
o+, o-
a+, a-

(2) chmod [OPTION]... OCTAL-MODE FILE...
chmod 660 fstab
(3) chmod [OPTION]... --reference=RFILE FILE...
chmod--reference=/var/log/messages fstab
选项:
-R, --recursive:递归修改
递归修改文件权限时,最好只用于授权表示法中,因为目录有执行权限,递归修改文件后,所有文件也拥有了执行权限

注意:用户仅能修改属主为自己的那些文件的权限

从属关系管理命令:chown, chgrp
属主chown命令:
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...

选项:
-R:递归修改

属组chgrp命令:

chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...

注意:仅管理员可修改文件的属主和属组;
Umask作用及管理:
Umask的作用:文件的权限反向掩码,遮罩码;
文件:
666-umask (因为文件默认不应该拥有执行权限)
目录:
777-umask(目录默认应该拥有执行权限)

注意:之所以文件用666去减,表示文件默认不能拥有执行权限;如果减得的结果中有执行权限,则需要将其加1;
umask: 023
666-023=644
777-023=754
Umask的管理命令:
umask:查看当前umask
umask MASK: 设置umask

注意:此类设定仅对当前shell进程有效;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息