Linux用户管理
Linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。
Linux用户的分类
- 超级用户root:权限最大,限制最小,uid=0。
- 普通用户:用来完成日常工作的用户,uid:500-60000。
- 系统用户:为了能够让那些后台进程或服务类进程以非管理员的身份运行的用户,不能登录服务器。uid:1-499。
Linux用户组的分类
- 普通用户组:可以加入多个用户。
- 系统组:一般加入一些系统用户。
- 私有组:创建用户时,若没有指明所属组,则会定义一个私有用户组,名称与用户名相同。当把其他用户加入到私有组,私有组就变成了普通用户组。
相关配置文件
- 保存用户信息的文件:
/etc/passwd
- 保存用户密码的文件:
/etc/shadow
- 保存用户组的文件:
/etc/group
- 保存用户组密码的文件:
/etc/gshadow
- 用户配置文件:
/etc/default/useradd
用户管理
添加用户
useradd [选项] 用户名
选项:
-c 备注
-d home目录
-s shell程序
-g 用户的主组(初始组)
-G 用户的附加组
-u 新用户的id
新创建的用户必须设置密码,才能进行登录,设置(更改)密码的命令:
passwd 用户名
删除用户
userdel [选项] 用户名
选项:
-r 删除用户账号的同时删除目录
-f 强制删除
修改用户
usermod [选项] 用户名
选项:
-u 用户id
-g 用户的主组
-G 用户的附加组
例如:将alice用户的id修改为1008,主组修改为sport_group
usermod -u 1008 -g sport_group alice
用户组管理
创建用户组
groupadd [选项] 用户组名
选项:
-g :用来显式指定新建组的组id。
将用户添加到组中
gpasswd -a 用户名 组名
将用户从指定组中删除
gpasswd -d 用户名 组名
查看用户所在的全部组
groups [用户名]
修改组
groupmod [选项] 组名
选项:
-g 用来修改组id
-n 用来修改组名
删除组
groupdel 组名
Linux文件权限
三种基本权限
r
读权限(read)w
写权限(write)x
执行权限(execute)
权限位置解释
chmod
修改文件权限命令(change mode)
参数:
-R 下面的文件和子目录做相同权限操作(Recursive递归的)
例如:chmod u+x a.txt
注意:
u
:文件所属用户g
:文件所属的组o
:其他用户a
:所有用户
管理文件的所有者和所属组
chown
更改文件的所有者chown [新所有者] 文件名
- 更改文件所有者和所属组为指定用户和组
chown user1:group1 filename
chgrp
命令更改文件的所属组chgrp [新所属组] 文件名