用户管理

首先介绍一下基础:

用户、组、权限。安全上下文,保证每个用户运行的权限规则。在Linux中,哪个用户发出命令(或者开始某个进程),则该进程的权限和该用户一样。用户的权限用三种:rwx,为了方便管理,分别用三位二进制与之对应,-表示没有,例如rwx,三位二进制标识为111,r--为100,那么对应换成十进制,则r对应为4,w为2,x为1,如rwx就可以用4+2+1 = 7来表示。在Linux中,系统会自动创建一些用户(ID<500),比如超级用户root,ID为零,不能修改,其他用户在1-499之间。用户创建的用户ID>499;在Linux中,分为用户和组,用户在系统中是唯一的,计算机用UID来标识(计算机会在文件/etc/passwd中查找用户),当人我们用用户名在标识。而用户组(/etc/group)可以包括多个用户,一个用户也可以属于多个组。Linux管理用户和组都会管理其密码,在/etc/shadow,和/etc/gshadow中(影子口令)。下面就开始介绍用户管理的流程和常用命令;

1.添加用户(需要root才能有权限):useradd     用户名

创建用户后,删除。在默认情况下是不删除家目录。该命令有返回值,0表示创建成功,其他的表示创建失败,具体man 来查看说明。在lLinux中,如果创建用户没有给其制定一个组,则系统会默认创建一个和用户名一样的组。创建用户过程:切换到root,然后useradd  用户名,此时还不能用,必须设置用户密码才能用,用passwd 用户名来设置密码。用finger 用户名来查看用户信息。

su root  #切换到root权限
useradd user_name 
passwd user_name #修改用户密码
finger user_name #查看用户信息。
cat /etc/passwd |more #查看passwd文件中用户添加的信息
在创建用户命令的过程中,系统完成了几个工作,其中之一就是向passwd文件添加基本的信息。即上面例子最后一条命令可以查看这些信息。这些信息以“:”分格,比如我的电脑查看其中一条用户信息为:

first_user : x : 1001 : 1001 :附加组 : /home/first_user:/bin/bash
第一个是用户名,第二个x表示密码,用于passwd对所有用户可读,所以这里不显示(具体是放在/etc/shadow中,称为影子口令),1001:1001表示用户UID和GID,最后是用户价目录和默认的shell类型。这些都可以在useradd创建是通过选项来设置,或者创建完成后通过其他命令修改设置。那么/etc/shadow是什么格式?请看如下格式:

用户名 : 加密后的用户密码 :最后一次修改口令的天数(从1970.1.1开始算) :两次修改密码最短时间间隔 :最长间隔:密码失效天数:等
first_user : dhawi13rieh : 16652 : 0 : 9999 : 7 : : :
如果密码前有“!”标识该用户被锁定,可以手动修改/etc/shadow,或者用命令usermod -L 用户名。从上面可以看出,有何多参数我们在创建用户时并没用指定,系统却有一个默认参数,这个默认设定就在文件/etc/default/useradd文件中(系统用户的某些参数在/etc/login.defs中)。里面有创建用户时默认指定的家目录,UID,GID的范围等。

添加用户的过程完全可以手动完成为,流程:在/etc/passwd中添加信息,然后在/etc/shadow文件中添加密码信息(此时加密的密码位空缺),然后用passwd添加密码,然后建立组(用命令时系统会自动创建,手动则需要手动创建)编辑 /etc/group,然后修改组密码/etc/gshadow中修改,然后用mkdir创建家目录,最后还要拷贝用户所需要的文件,并修改文件的属组属主,这样才完成。

修改用户属性usermod 选项  参数 用户名

其中常用选项有: -u:UID; -g: GID, -l:该登录名, -L:锁定账户; -U:解锁;-G:追加到附加组。还有其他密码时间的设定等。

chsh:change shell ,修改用户的默认shell
chfn:change finger,修改用户注释信息(电话、邮箱等)
passwd 用户名:修改密码(没有密码不能登录)
pwch:检查用户帐号的完整性
userdel 选项 用户名 :删除用户(默认不删除用户的家目录,可以在配置文件中修改默认设定)
组管理:

groupadd,groupmod,groupdel,gpasswd

修改文件的权限,属主属组

chown :修改文件的属主,常用格式:chown 属主 file_name,如果是目录,可以递归修改
chgrp :修改文件的属组,用法同上
chmod :修改文件的权限
用户家目录中有一系列隐藏文件,.hash_history(上次关机的命令历史) .bash_logout(用户退出系统执行的脚本,可做修改) .bash_profile(用户最重要的一些信息,比如环境变量等)。查看环境变量:echo $PATH;

超级用户root,UID,GID都为零,超级用户的家目录不再/home下,而是在/root下。超级用户有最高的权限,尽量不要用超级用户登录。

特殊权限SUID,SGID:如果文件设置了SUID,则任何用户访问该文件时都具有文件属主的权限,SGID类似。那么普通用户就能修改一些文件(比如普通用户不能修改自己的密码,因为无法修改passwd,此时就需要设置特殊权限),格式如下:

chmod u+s file_name:添加SUID权限
chmod u-s file_name:取消SUID权限
chmod g+s file_name:
chmod g-s file_name:









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值