当前位置: 首页 > 科技观察

Linux用户及权限管理

时间:2023-03-13 23:35:51 科技观察

1。Linux中的用户Linux是一个多用户、多任务的操作系统。因此,终端登录系统需要相应的机制来管理和使用计算机系统资源。一般需要解决三个问题:(1)认证(authentication)解决谁可以登录并使用计算机资源(2)授权(authorization)解决用户登录后可以使用计算机中的哪些资源,使用何种资源ofthingscanbedoneOperation(3)Audit(试听)记录用户进行的相关操作的信息2.Linux中用户的划分Linux中的用户级别大致分为两个级别:超级用户是管理员,普通用户。其中,普通用户根据系统程序的运行机制和安全性可分为系统用户和登录用户。系统用户无法登录系统,程序本身只是作为进程在后台作为服务运行。登录用户可以登录终端,通过交互界面与其他程序或文件进行交互。UserID(UID):二进制数据往往更容易被计算机理解,所以我们使用16位的二进制数来唯一标识用户,即UID。UID为0--65535。管理员的UID为0,普通用户的UID为1--60000。普通用户中系统用户的UID为1--499(centos6),1--999??(centos7);普通用户中的登录用户UID为500--60000(centos6),1000--60000(centos7)。名字解析:在计算机中经常用到,比如用户名<--->UID,它们之间相互解析。解析需要相应的解析库来提供对比。带有账户名和UID的解析库,按照不同的划分标准,就是文件/etc/passwd3.linux中的组,可以分为:管理员组和普通用户组;基本组和附加组:私有和公共。基本组和私有组可以简单理解为创建用户时自动创建的与用户同名的组。附加组和公共组可以简单理解为将自己的用户添加到其他用户的基本组中。该组对应的解析库是文件/etc/group。4、密码策略和加密算法为了保证系统的安全一般遵循一些基本原则:使用随机密码;尽量满足一定长度的密码;尽可能满足所用字符集的要求;并且最总是定期更改密码的加密算法:对称加密;非对称加密;单向加密(数据提取特征码,不可逆)5、linux重要用户和组分析库文件分析/etc/passwd文件分析:(每行7段)name:password:uid:gid:gecos(用户评论信息):home(用户家目录):shell/etc/shadow文件解析:(每行9段)用户名??:加密密码段:密码最后修改时间:最短密码使用期限:最长密码使用时间period:Warningperiod:Inactivetime:Expirationtime:Reservedfield/etc/group文件解析:groupname:password:gid:userlist(附加组的用户列表)6.用户和组管理命令groupadd添加组命令基本用法:groupadd[options]...组名常用选项:-ggid:添加组时指定GID-r:创建系统组如:#groupadd-g3306mariadb#groupadd-rarchlinuxgroupmod修改组命令基本用法:groupmod[option]...组名常用选项:-ggid:修改组的UID-nnewgroup:修改组名例子:#groupmod-g3307mariadb#groupmod-nmysqlmariadbgroupdeldeletegroup基本用法:groupdel[option]...groupnameuseradd创建用户命令基本用法:useradd[option]...用户名常用选项:-uuid:创建用户并指定用户的UID-ggid:创建用户时指定基本组GID-r:创建系统用户-ccomment:标记创建用户时的注释信息-ddir:指定创建用户时的主目录路径-sshell:指定创建用户shell时的默认登录(***在/etc/shells)-Ggid:创建用户时指定这个附加组,有多个附加组用逗号分隔-M:创建用户时不创建用户主目录-D:添加用户或设置更改时显示默认属性默认属性-f:不活动时间,0:不活动启用-1:不活动禁用实例:#useradd-u1008-g1008gentoo(这个组必须提前存在)#useradd-rfedora#useradd-c'slackwarelinux'slackware#useradd-d/var/tmp/debain-s/sbin/nologindebain(***是SELinux关闭了)#useradd-Ggentoo,slackwarezen#useradd-Mdocker#useradd-D-f0是修改/etc/default/useradd文件里的值usermod命令的基本用法修改用户-相关属性:usermod[option]...用户名常用选项:-uuid:改变用户的uid-ggroup:改变用户的基本组-G-a:经常一起使用(否则会被覆盖),更改用户的附加组-ccomment:更改注释信息-d-m:经常一起使用,更改主目录,将主目录下的文件一并传送-lnewname:更改新用户名-sshell:更改用户的shell-L:锁定用户-U:解锁用户例如:#usermod-gzendocker#usermod-aGzen,slackwaremysql#usermod-d/path/to/mysql-mmysql#usermod-lmysqldbmysqluserdelCom删除用户命令的mon选项:-r:删除用户,同时删除主目录下的文件。默认情况下,不会删除主目录中的文件。passwd密码管理命令的基本语法:passwd[option]...[user]常用选项:-l:锁定用户-u:解锁用户-d:删除密码-edata:密码有效期-idays:不活跃期-n天:最短密码期限-x天:最长期限-w天:警告期限-stdin:从标准输入获取密码实例:#echo'centos'|passwd--stdinusername&>/dev/nullgpasswd组密码管理命令的基本语法:gpasswd[options]...[groupname]常用选项:-ausername:添加用户到组-dusername;从组中删除用户而不添加选项,直接为当前用户组或指定组设置密码组密码,常用于用户需要登录或临时切换到某个组时使用;如果某个用户是某个组的成员,他可以不用密码直接登录或切换。newgrp用户登录或临时切换到某个组命令示例:#newgrp-group#登录组group#newgrpgroup#临时切换到组chage更改密码有效期信息基本用法:chage[options]...username常用选项:-l:列出用户的密码年龄信息-d:上次修改密码的日期-E:有效期限-W:警告期限-m:***期限-M:最长期限-i:Inactivetermid显示实际有效IDbasicusage:id[options]...username常用选项:-u:showUID-g:showgid-G:showgidofbasicandadditionalgroups-n:combinepreviousOption,displaynameinsteadofIDsuswitchusercommandloginswitch非登录切换常用选项:-c'command'不切换登录,只以指定用户运行这里指定的command例:#su-username-c'whoami'