(6)用户、组与权限管理

来源:互联网 发布:淘宝进口食品货源 编辑:程序博客网 时间:2024/06/05 02:47
用户、组与权限管理
用户(User)与组(Group)
--------------------------------------------
一、用户账号
>> 超级用户:Root,拥有操作系统最高权限。
>> 普通用户:由Root用户或其他管理员创建,拥有的权限受到一定的限制。
>> 程序用户:低权限用户,一般用于安装运行应用程序,不可用于登录系统。
二、用户标识符
虽然我们登录Linux系统的时候可以直接输入用户名和密码登录,但是Linux主机并不直接认识你的账号名称,它只认识ID号(数字0和1)。所以说用户标识符是Linux系统识别用户身份的一个符号,每个用户都有对应的ID号被称之为UID,每个用户所对应的组ID号被称之为GID。
标注:Root用户的UID是0,1~499是系统用户使用,500~65535可用于登录系统用户。
三、用户与组配置文件路径
/etc/passwd //存放用户账号信息
/etc/shadow //存放用户密码信息
/etc/group //存放用户组信息
/etc/gshadow //存放用户组成员信息
四、用户与组管理
Linux系统提供一组命令实现用户与组管理,Useradd、Passwd、Usermod、Userdel、Groupadd、Gpasswd、Groupdel、Groups。
>用户管理<
【useradd命令】
用途:用于创建用户。
选项参数:"-u":指定UID号、“-d”:指定用户的宿主目录、“-e”:指定用户的失效时间、“-g”:指定用户所属组、“-G”:指定用户附加组、“-s”:指定用户登录所使用的Shell、“-m”:强制创建用户家目录、“-M”:不创建用户家目录、“-D”:查看useradd的默认值。
标注:“-s”所指定的参数可以有/bin/bash(允许使用该账号登录系统)和/sbin/nologin(不允许该账号登录系统)、默认创建用户则会创建一个对应的用户组。
常用示例:
# useradd tom -g zhangsan -G lisi -d /home/tom -s /bin/bash
//创建用户tom,指定tom所属组为Zhangsan,附加组为lisi,指定tom的家目录位置,允许tom登录系统。
# useradd -D//查看useradd的默认参数

释义:
“GROUP=100”:新建账户使用的GID为100
“HOME=/home”:默认家目录/home
“INACTIVE=1”:密码过期是否失效,-1表示永不不失效,0表示密码过期立即失效
“EXPIRE=”:账号失效的日期
“SHELL=/bin/bash”:账号是否可以用于登录系统,/bin/bash表示允许,/sbin/nologin表示不允许
“SKEL=/etc/skel”:用户家目录的参考基准目录,当创建家目录中的文件参数都是通过它复制过去的
“CREATE_MAIl_SPOOL=yes”:是否创建用户的邮件信箱
【passwd命令】
用途:用于修改用户密码。
选项参数:“-d”:删除用户密码、“-f”:强制执行、“-l”:锁定用户账户、“-u”:解锁用户账户、“-S”:查看用户账户的状态、“--stdin”:用于从管道导入密码
常用示例:
# echo “admin” | passwd --stdin root//修改管理员密码
# passwd -S root//查看管理员用户账户状态
【usermod命令】
用途:用于后期修改用户属性。
选项参数:“-u”:修改用户ID号、“-d”:修改用户家目录、“-e”:修改用户失效时间、“-g”:修改用户所属组、“-G”:修改用户附加组、“-s”:修改用户是否可用于登录系统、“-L”:锁定用户账户、“-U”:解锁用户账户。
常用示例:
# usermod tom -g lisi -G wangwu -d /home/tom -s /bin/nologin
//修改用户tom,指定tom所属组为lisi,附加组为wangwu,指定tom的家目录位置,不允许tom登录系统。
【userdel命令】
用途:用于删除用户账户。
选项参数:“-r”:递归删除,删除用户相关所有文件、“-f”:强制删除,即使用户已登录。
常用示例:
# userdel -rf tom//强制删除用户tom

>组管理<
【groupadd命令】
用途:用于创建用户组。
选项参数:“-g”:指定组的ID号。
常用示例:
# groupadd administrator//创建用户组administrator
【gpasswd命令】
用途:用于添加、删除组成员。
选项参数:“-a”:添加组成员、“-d”:删除组成员、“-M”:连续指定组成员。
常用示例:
# gpasswd -a tom root//将用户tom添加到root管理员组
【groupdel命令】
用途:用于删除工作组。
选项参数:
常用示例:
# groupdel tom//删除tom工作组
【groups命令】
用途:查看用户所属组。
选项参数:
常用示例:
# groups root//查看用户所属组
【id命令】
用途:查看当前用户ID和组ID。
选项参数:
常用示例:
# id//查看当前GID和UID
【w命令】
用途:查看当前系统用户登录情况。
选项参数:
常用示例:
# w//查看当前系统有哪些用户登录

注释:我们可以看到有用户从两个地方登录,并可以看到来源。
【su命令】
用途:用于用户切换。
选项参数:”-c“:使用指定用户执行命令、”-“:表示切换到一个新的Shell环境,不加”-“表示使用当前Shell环境。
常用示例:
# su - tom//切换到新的Shell环境并使用tom用户登录


文件权限管理
---------------------
一个文件有可读(r)、可写(w)、可执行(x)三种权限以及文件的所属用户与组,我们可以通过”ls -l“命令看到一个文件的详细权限信息。
该文件的权限分为三段:rwxrwxrwt

第一段:rwx表示所属用户的权限,表示该用户有读、写、执行的权限。
第二段:rwx表示所属用户组的权限,表示该工作组中的用户对该文件具有读、写、执行权限。
第三段:rwt表示其他用户对该文件的操作权限,”t“为特殊权限,表示其他用户不可随意删除该文件。
>文件权限管理<
【chmod命令】
用途:设置文件或目录的权限。
选项参数:”a+rwx权限“:配置所有用户文件权限、”u+rwx“:配置所属用户文件权限、”g+rwx“:配置所属用户组文件权限、”o+rwx“:配置其他用户对该文件拥有的权限。
注释:a(all)表示所有、u(user)表示文件所属用户、g(group)表示文件所属用户组、o(other)表示其他用户。
常用示例:
# chmod a+x a.sh//授予所有用户执行a.sh文件的权限
# chmod 777 a.sh//授予所有用户完全控制a.sh文件的权限
释义:Linux文件权限可以由二进制数来表示,rwx对应二进制数421,权限一共有三段,则每一段可以用二进制表示,第一段7表示所属用户拥有完全控制权限,第二段表示用户组,第三段表示其他用户,所以”777“则可以理解所有用户对该文件拥有完全控制权限。
【chown命令】
用途:设置文件所属用户和组。
选项参数:
常用示例:
# chown root:root a.txt//修改a.txt文件的所属用户和组为root
【chattr命令】
用途:文件特殊控制,用于该变文件属性。
选项参数:”+或-i”:表示文件内容不可变、“+或-a”:文件不可删除,只可以读写。
常用示例:
# chattr +i a.txt//修改a.txt文件不可变
# lsattr -a//列出文件特殊属性,包含隐藏文件