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

Linux用户、用户管理的常见命令用法以及用户的权限管理

2017-07-14 18:24 525 查看
用户和用户组的基本概念:
Linux的用户是通过账号和密码登录到Linux系统的,而Linux主机并不会直接识别账号和密码,它只认识ID。那么Linux系统用户的ID分为以下类别: 系统管理员:root,0-UID
普通用户:1-65535-UID
普通用户有分为:系统用户和登录用户
系统用户:1-999-UID
登录用户:1000-65535-UID
Linux用户组(GID)的分类:
管理员组:root,0(GID)
普通用户组:1-65535(GID)
普通用户组又分为:
系统组:1-999(GID)登录用户组1000-65535(GID)一个用户可以有多个不同的组,叫做用户的基本组(主组)和附加组。基本组的组名和用户名相同,只包含一个用户,也叫私有组。基本组之外的组就是用户的附加组。与Linux用户和组相关的配置文件为/etc/passwd,此文件记录用户和用户的属性信息。可以通过whatis passwd来查看起对应的配置文件的帮助信息。或者也可以通过#man 5 passwd命令行去查看。 name:password:UID:GID:GECOS:directory:shell分别表示的信息是:用户名:密码:UID:GID:用户的注释信息:用户的家目录:用户默认的shell类型。组的相关的配置文件/etc/group。和passwd一样可以通过命令行去查看此配置文件的帮助信息。group_name:password:GID:user_list分别表示的信息是:组名:密码:GID:以此组为附加组的用户列表。/etc/shadow 保存用户的密码、账号有效期等信息,每一行对应一个用户的密码记录,九个字段 用户名:加密密码:最近修改密码时间:密码最短有效期:密码最长有效期:密码的警告时间段:密码禁用期:账号过期日期:保留字段。当用户登录系统时,系统通过比对事先存储的信息与登录时提供的信息是否一致。组配置文件保存的路径: /etc/group:保存组帐号基本信息 /etc/gshadow:保存组帐号的密码信息 用户管理常见命令的常见用法:
1、groupadd:表示创建一个新的用户组。-g 指定用户组的UID(默认是上一个组的GID+1)-r 创建系统组 2、groupdel:删除组 3、groupmod:修改组属性-g 表示修改GID-n 表示修改组名 4、useradd:表示创建用户 -u:表示指定用户的UID -g:表示指定用户的基本组名(此组事先必须存在)-c:表示指明注释信息-d:表示以指定路径为用户的家目录,通过复制/etc/skel目录,并重命名实现。指定的家目录路径如果事先存在则不会为用户复制环境的配置文件 -r:表示创建系统用户 -G:指定用户的附加组名(或GID号)多个附加组用逗号隔开 -M:表示不为用户创建主目录 -s:指定用户的默认的Shell可用的shell列表在/etc/shells文件中 -D:表示显示创建用户的默认配置 5、usermod:修改用户属性信息-u:表示修改用户的ID-g:表示修改用户所属的基本组-G:表示修改用户的附加组,原来的会被覆盖。如果想保留原来的附加组,则使用-a选项,与-G一同使用则表示增加附加组。-c:表示修改注释信息-d:表示修改用户的家目录。用户原有的家目录文件不会被转移代新的目录中,而如果和-m选项一同使用则表示将原来的家目录移动为新的家目录。-l:表示修改用户名-s:表示修改用户的默认的shell-L:锁定用户的密码-U:解锁用户的密码 6、userdel:删除用户-r:表示在删除用户的同时,删除用户的家目录 7、passwd:修改用户的密码#passwd username 修改指定用户的密码,仅root有此权限。Root不需要知道其他用户原来的密码。-l、-u:表示锁定和解锁用户的密码-d:表示清除用户的密码-e:过期期限-i:非活动期限-n:密码的最短使用期限-x:密码的最长使用期限-w:警告期限--stdin:eg:#echo ‘111111111’ | passwd --stdin username将某用户的密码设置为111111111 8、gpasswd 设置组帐号密码、添加/删除组成员 -a:向组内添加一个用户 -d:从组内删除一个用户成员 9、newgrp:临时切换基本组 10、chage:改密码的 过期信息 11、id:查看用户的相关ID信息-u:显示ID-g:显示基本组的GID-G:显示所有的附加组-n:显示name 12、su:switch user 用户切换 su - username /su -l username 表示登录式切换,重新读取用户的配置文件来重新初始化。 su username 表示非登录式切换,不会读取目标用户的配置文件进行初始化。-c:eg:#su - docker -c ‘whoami’-----------docker 命令引用 用户的权限管理:用户对于文件或目录的访问权限有三种分别是: r:readable 可读的 , 4 w:writable 可写的 ,2 x:excutable 可执行的 , 1而对于文件或者目录的访问者也有三种分别是: user:属主,u group:属组,g other:其他,o属主:拥有该文件或目录的用户帐号属组:拥有该文件或目录的组帐号 进程对文件或目录的访问权限应用模型:访问者的访问权限与文件或目录的属主是否相同,如果相同,应用属主权限,否则检查进程的发起者是否属于属组,如果属于,则使用属组权限访问,如果不同,则使用其他访问权限访问。被访问的对象如果是文件则: r:便是可获取文件的数据 w:表示可修改文件的数据 x:可将此文件发起运行为进程被访问的对象如果是目录则: r:可用ls命令获取其下的所有文件列表 w:可修改此目录下的文件列表 x:可cd至此目录中,且可使用ls -l获取文件详细属性信息权限的表示方法: 权限、 二进制、 八进制 ——— 000 0——x 001 1—w— 010 2—wx 011 3r—— 100 4r—x 101 5rw— 110 6rwx 111 7 权限管理命令: chmod -R:表示递归chmod u= 、g= 、o=、ug= ..........chmod u+ 、g+ 、o+、ug+ ..........chmod u- 、g- 、o-、ug- ..........chmod 660............... file
chmod ......--reference=rfile file........引用参考文件 从属关系管理命令:chown命令chown [OPTION]....[OWNER][:[GROUP]] FILE......
-R:表示递归
1、owner只改属主
2、owner: group 修改属主和属组
3、group只修改属组
chgrp:修改文件的属组

umask:文件或目录创建时的遮罩码,遮罩码就是创建一个文件或目录时的默认权限
文件的默认遮罩码是666-umask 目录的默认遮罩码是777-umaskumask命令umask:查看umask值umask #:设定umask值 install命令 复制文件和设置属性单源和多源复制 -d:创建空目录-m:设定目标文件的权限,默认是755-o:设定目标文件的属主-g:设定目标文件的属组 mktemp命令 创建临时文件 -d:创建临时目录-u:用于测试 dry run
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos 7