本文为大家分享如何管理Linux系统中用户和组权限,因为Linux是一个多用户操作系统,所以使用Linux需要知道如何执行有效的用户管理,如添加、编辑、暂停或删除用户账户,及授权执行分配任务所需的权限等。
添加新用户账户,可以用root身份运行以下命令之一:
# adduser [new_account]
# useradd [new_account]
系统添加新的用户账户时,执行以下操作,先创建其主目录。以下隐藏文件会被复制到用户的主目录中,并用于为其用户会话提供环境变量:
bash_logout
.bash_profile
.bashrc
在 /var/spool/mail/ username为用户创建邮件池。创建一个组并赋予与新用户帐户相同的名称。
完整的账户信息存储在/etc/passwd文件中。此文件包含每个系统用户帐户的记录,格式如下(字段以冒号分隔)。
[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
x表示该帐户受影子密码(在/etc/shadow中)保护,需要该密码才能以[用户名]身份登录。[UID]和[GID]字段是整数,分别代表[用户名]所属的用户标识和主要组标识。[主目录]表示[用户名]主目录的绝对路径,[默认shell ]是此用户登录系统时可用的 shell。
组信息存储在/etc/group文件中。每条记录的格式如下:
[Group name]:[Group password]:[GID]:[Group members]
添加账户后,用usermod命令编辑:
# usermod [options] [username]
设置账户的到期时间,使用–expiredate标志,后跟YYYY-MM-DD格式的日期:
# usermod --expiredate 2034-10-30 tecmint
将用户添加到附加组
使用组合的-aG或–append –groups选项,后跟以逗号分隔的组列表。
# usermod --append --groups root,users tecmint
更改用户主目录的位置,使用-d或-home选项,后跟新主目录的绝对路径:
# usermod --home /tmp tecmint
更改-shell后跟新的shell路径:
# usermod --shell /bin/sh tecmint
显示用户所属的组:
# groups tecmint
# id tecmint
现在一次性执行上述所有命令:
#usermod --expiredate 2014-10-30 --append --groups root,users --home / tmp --shell / bin / sh tecmint
以上就是使用tecmint用户账户的到期日期设置为2034年10月30日。还把该账户添加到root和users组。最后把设置默认shell把目录位置更改为/tmp。
如果是现有账户,还可以执行以下操作,如通过锁定密码禁用账户。用L或者lock锁定用户密码:
# usermod --lock tecmint
用u或者unlock来解锁之前被阻止的用户密码:
# usermod --unlock tecmint
为需要多个用户访问的文件创建一个新的组,用于读写访问:
# groupadd common_group # Add a new group
# chown :common_group common.txt # Change the group owner of common.txt to common_group
# usermod -aG common_group user1 # Add user1 to common_group
# usermod -aG common_group user2 # Add user2 to common_group
# usermod -aG common_group user3 # Add user3 to common_group
删除群组:
# groupdel [group_name]
如文件归group_name所有,则不会删除这些文件,但组所有者将被设置为被删除组的GID 。