Linux自学笔记——用户和组管理

简介:

资源分派:

       Authentication:认证

       Authorization:授权

       Accouting:审计

              Audition

       token,identity(username/password)

linux用户:username/UID

       管理员:root,0

       普通用户:1-65535

              系统用户:1-499,1-999

                     对守护进程获取资源进行权限分配;

              登录用户:500+,1000+

                     交互式登录;

Linux组:groupname/GID

       管理员组:root,0

       普通组:

              系统组:1-499, 1-999

              普通组:500+, 1000+

Linux安全上下文:

       运行中的程序:进程(process)

              以进程发起者的身份运行;

                     root:cat

                     tom:cat

              进程所能够访问的所有资源的权限取决于进程的发起者的身份;

Linux组的类别:

       用户的基本组(主组)

              组名同用户名,且仅包含一个用户:私有组

       用户的附加组(额外组):

Linux用户和组相关的配置文件:

       /etc/passwd:用户及其属性信息(名称、UID、基本组ID等等);

       /etc/group:组及其属性信息;

       /etc/shadow:用户密码及其相关属性;

       /etc/gshadow:组密码及其相关属性;

/etc/passwd

       name:password:UID:GID:GECOS:directory:shell

       用户名:密码:UID:GID:GECOS:主目录:默认shell

/etc/group

       group_name:password:GID:user_list

       组名:组密码:GID:以当前组为附加组的用户列表(分隔符为逗号)

/etc/shadow                                                                root:$6$QBOOu5fJ9rGlA8mU$2Gi8zdRUONPxkaYhcwfR/cSangkqV0bnXnxMqrLNGU1xOfL5EmVfsKNz84Oop41THyXMUtzQsCsv80Bn7fwqe0::0:99999:7:::

用户名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:最大密码使用期限:密码警告时间段:密码禁用期:账户过期日期:保留字段

  加密机制:

         加密:明文 à 密文

         解密:密文 à 明文

        

         单向加密:提取数据指纹

                md5:message digest ,128bits

                sha1:secure hash  algorithm,160bits

                sha224:224bits

                sha256:256bits

                sha384:384bits

                sha512:512bits

        

                雪崩效应:初始的条件的微小改变,将会引起结果的巨大改变;

                定长输出:

  密码的复杂性策略:

1.      使用数字、大写字母、小写字母及特殊字符中至少3种;

2.      足够长;

3.      使用随机密码;

4.      定期更换;不要使用最近曾经使用过的密码;

 

用户和组相关的管理命令:

用户创建:useradd

       useradd [options]  LOGIN

              -u  UID:[UID_MIN,UID_MAX],定义在/etc/login.defs

              -g  GID:指明用户的所属基本组,可为组名,也可以为GID;

              -c “COMMENT”:用户的注释信息;

              -d  /path/to/home_dir:以指定的路径为家目录;

              -s  SHELL:知名用户的默认shell程序,可用列表在/etc/shells文件中;

              -G  GROUP1[,GROUP2,…]:为用户指明附加组;组必须事先存在;

              -r:创建系统用户

                     Centos6:ID<500

                     Centos7:ID<1000

       默认值设定:/etc/default/useradd文件中

 

组创建:groupadd

       groupadd  [option] … groupname

              -g GID: 指明GID号;[GID_MIN, GID_MAX]

              -r: 创建系统组;

                     CentOS 6: ID<500

                     CentOS 7: ID<1000

 

查看用户的相关的id信息:id

       id  [option] … [user]

              -u:UID

              -g:GID

              -G:GROUPS

              -n:Name

 

切换用户或以其他用户身份执行命令:su

       su  [options]  [-]  [user  [args…]]

              切换用户的方式:

                     su  username:非登录式切换,即不会读取目标用户的配置文件;

                     su  - username:登录式切换,会读取目标用户的配置文件;完全切换;

 

                     Note:root  su至其他用户无需密码;非root用户切换时需要密码;

              换个身份执行命令:

                     su [-] username  -c  ‘COMMAND’

              选项:

                     -l:“su -l  username”相当于“su  -  username”

 

用户属性修改:usermod

       usermod  [option]  login

              -u  UID:新的UID;

              -g  GID:新基本组

              -G  GROUP1[,GROUP2,…]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append

              -s  SHELL:新的默认shell

              c 'COMMENT':新的注释信息;

              -d HOME: 新的家目录;原有家目录中的文件不会同时移动至新的家目录;若要移动,则同时使用-m选项;

              -l login_name: 新的名字;

              -L: lock指定用户

              -U: unlock指定用户

              -e  YYYY-MM-DD: 指明用户账号过期日期;

              -f  INACTIVE: 设定非活动期限;

给用户添加密码:passwd

       passwd  [OPTION] username:修改指定用户的密码,仅root用户权限

       passwd:修改自己的密码;

              常用选项:

                     -l:锁定指定用户;

                     -u:解锁指定用户;

 

                     -n  mindays:指定最短使用期限;

                     -x  maxdays:最大使用期限

                     -w  warndays:提前多少天开始警告

                     -I  inactivedays:非活动期限

 

                     --stdin:从标准输入接收用户密码:

                            echo “PASSWORD”| passwd  --stdin  USERNAME

删除用户:userdel

       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

       chage [OPTION]... LOGIN

              -d LAST_DAY

              -E, --expiredate EXPIRE_DATE

              -I, --inactive INACTIVE

              -m, --mindays MIN_DAYS

              -M, --maxdays MAX_DAYS

              -W, --warndays WARN_DAYS

权限管理:

文件的权限主要针对三类对象进行定义:

       owner: 属主, u

       group: 属组, g

       other: 其他, o

每个文件针对每类访问者都定义了三种权限:

       r: Readable

       w: Writable

       x: eXcutable

 

文件:

              r: 可使用文件查看类工具获取其内容;

              w: 可修改其内容;

              x: 可以把此文件提请内核启动为一个进程;

       目录:

              r: 可以使用ls查看此目录中文件列表;

              w: 可在此目录中创建文件,也可删除此目录中的文件;

              x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录;

       --- 000 0

       --x 001 1

       -w- 010 2

       -wx 011 3

       r-- 100 4

       r-x 101 5

       rw- 110 6

       rwx 111 7

             

例如:

              640: rw-r-----

              rwxr-xr-x: 755

修改文件权限:chmod

chmod [OPTION]... OCTAL-MODE FILE...

              -R: 递归修改权限

chmod [OPTION]... MODE[,MODE]... FILE...

              MODE:

                     修改一类用户的所有权限:

                            u=

                            g=

                            o=

                            ug=

                            a=

                            u=,g=

                     修改一类用户某位或某些位权限

                            u+

                            u-

       chmod [OPTION]... --reference=RFILE FILE...

              参考RFILE文件的权限,将FILE的修改为同RFILE;

修改文件的属主和属组:

       仅root可用;

       修改文件的属主:chown

              chown [OPTION]... [OWNER][:[GROUP]] FILE...

                     用法:

                            OWNER

                            OWNER:GROUP

                            :GROUP

                     Note: 命令中的冒号可用.替换;

                     -R: 递归

              chown [OPTION]... --reference=RFILE FILE...

修改文件的属组:chgrp

      chgrp [OPTION]... GROUP FILE...

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

              -R

文件或目录创建时的遮罩码:umask

    FILE: 666-umask

          Note: 如果某类的用户的权限减得的结果中存在x权限,则将其权限+1

DIR: 777-umask    

 

    umask: 查看

    umask #: 设定

 



本文转自 claude_liu 51CTO博客,原文链接:http://blog.51cto.com/claude666/2061593,如需转载请自行联系原作者

相关文章
|
3天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
39 0
|
28天前
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
61 5
|
1月前
|
域名解析 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
56 1
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
33 0
|
1月前
|
搜索推荐 Shell Linux
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
37 2
|
15天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
2天前
|
Linux Android开发
Linux(6)CH9434 SPI调试笔记
Linux(6)CH9434 SPI调试笔记
12 0
|
2天前
|
Linux
Linux(5)WIFI/BT调试笔记
Linux(5)WIFI/BT调试笔记
17 0
|
9天前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
101 2