目录
Linux账号与用户组
用户标识符:UID与GID
在Linux中,系统的用户和密码信息分别是存放在/etc/passwd和/etc/shadow文件中的;当我们输入正确的用户名和密码才可以进入系统;但是对于计算机而言,使用的并不是用户名;而是使用的是UID(user ID);系统中每个用户都具有一个UID,其中root的UID为0,也就是说当一个用户的UID如果设置为0,就表示该用户成为了管理员;除了root用户之外,系统中还存在了很多的其它用户,称之为系统用户。其中系统用户的UID范围为:1~499;普通用户的UID范围为:500~65535。
系统中的每一个用户都必须要属于一个组,在Windows系统中创建的用户默认都属于Users组,而在Linux中每当创建一个用户的时候系统都会为其创建一个同名的组;(例如:创建用户张三,属于张三组),每一个组也都有一个组ID,即GID
查看用户的信息:grep zhangsan /etc/passwd
注:passwd文件中由7个部分组成;分别对应的是用户名、x密码占位符、UID、GID、用户的注释信息、用户家目录、用户使用的shell信息
查看用户的密码文件:grep zhangsan /etc/shadow
注:shadow文件由3个部分组成;分别对应的是用户名、密码、密码属性信息(密码经历时间、最小使用天数、最大使用天数、到期警告天数)
有效与初始用户组:groups,newgrp
在Linux中一个用户可以属于多个组
查看用户属于的组:groups zhangsan
将用户添加到其它组:gpasswd -a zhangsan siteadmin
注:第一个表示主组,后面的表示附属组;在系统中的很多操作都默认属于主组
临时更换主属组:newgrp siteadmin
账号管理
增加、删除用户
图形化界面操作:
注:任何用户都不能切换到nologin,否则无法登陆shell;nologin的作用可以给用户提供登录到主机中的服务,而不允许用户登录到系统;从而保护了系统的安全
命令行创建:useradd
useradd bob 创建bob用户,不加参数使用默认值
useradd -D 查看添加用户的默认选项
创建带有参数的用户信息:useradd -c "Im bob" -s /sbin/nologin -d /bob -g zhangsan -G siteadmin -u 1020 bob
注:-c表示附加信息,即全称;-s表示指定登陆的shell;-d表示指定用户的家目录;-g表示指定主属组,-G表示指定辅属组;-u表示指定用户UID
删除用户:userdel
userdel -r bob
注: -r表示删除用户的主目录和临时文件;不加参数则表示只删除用户
修改密码:passwd
添加密码:passwd bob
查看密码信息:passwd -S bob
清空密码:passwd -d bob
用户密码的锁定与解锁:passwd -l bob ; passwd -u bob
指定密码使用天数:passwd -x 20 bob
更改用户属性
usermod
例:usermod -s /bin/bash bob
更多选项参看帮助信息:usermod -h
chage
修改密码时间戳:chage -d 2009-09-18 tom
添加密码过期时间:chage -E 2012-12-21 tom
chage -m 10 -M 20 -W 7 tom -m为设置密码最小使用天数,-M为最大使用天数,-W密码过期警告天数
chage -I 4 bob 大写的i设置缓冲时间,在密码过期之后登入系统,系统会在4天之内强制要求输入新密码
列出账号信息:chage -l tom
用户功能:fingle、chfn、chsh、id
finger bob 查看用户属性信息
chfn bob 修改用户属性信息
chsh -l 查看用户支持的shell信息
chsh -s /sbin/nologin bob 更改用户shell
id bob 查看用户id信息
新增与删除用户组
grougadd bob 添加bob组
groupdel bob 删除bob组
将用户加入到指定组:gpasswd -a tom bob
将用户从组中删除:gpasswd -d tom bob
将组中成员设置成管理员:gpasswd -A tom bob
注:当组中的某一个用户被设置成了管理员,该用户就可以对组中的用户进行管理;例如将其它用户加入到组(类似于群管理员的功能)
主机的具体权限规划:ACL的使用
什么是ACL
ACL即访问控制列表,我们知道在Linux中一个文件或者文件夹有三种权限组,分别是所有者权限、所在组权限、其他人权限,即ugo;(详细参看第三章) 当系统中存在过个用户的时候,ugo就不好给多人分配不同权限了;这个时候就需要用到ACL(访问控制列表),我们可以通过使用访问控制列表对某一个用户单独地设置权限
ACL的设置技巧:getfacl,setfacl
查看文件的ACL设置:getfacl xx
给用户添加ACL权限:setfacl -m u:zhangsan: rw- xx
注:ACL的优先级默认比普通ugo要高,所以当我们给某个用户设置了ACL权限系统会使用ACL的权限;
m参数表示修改,u表示指明用户;当我们为一个文件或者文件夹增加了ACL权限,文件的属性信息中会出现一个+号
取消用户的ACL权限:setfacl -x u: zhangsan xx
注:x参数表示取消acl权限
给组添加acl权限:setfacl -m g:zhangsan:rw- xx
注:如果需要对组设置ACL,将u改成g即可
取消组的acl权限:setfacl -x g:zhangsan xx
给文件夹设置ACL:setfacl -m u : bob : rwx rhce/
给文件夹设置默认用户权限:setfacl -m d:u:zhangsan:rwx tmep
注:d参数表示default;以后这个文件夹中创建的任何文件zhangsan用户都具有rwx权限
取消用户在文件夹上的默认权限:setfacl -x d:u:zhangsan: rwx tmep
原创文章,转载请注明来源