首页 > 代码库 > Linux学习笔记四
Linux学习笔记四
第五单元
##########################用户操作命令#################
(一)id的使用
id用户名##查看用户信息
id -u ###用户uid(userid)
-g ###用户gid(初始组的id,只有一个)
-a ###用户所有信息
-G ###用户所有组的id(包括大学,linux组等)
-un ###用户名字
-gn ###用户初始组名称
-Gn ###用户所在所有组名称
执行vim /etc/login.dafs,可知用户的uid默认的是1000!
运行情况是:
[kiosk@foundation12 Desktop]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
[kiosk@foundation12 Desktop]$ which ls
alias ls=‘ls --color=auto‘
/usr/bin/ls
(二)切换用户的环境
echo $PATH###查看当前用户的用户环境,即显示当前PATH环境变量,该变量的值由一系列冒号分隔的目录名组成。
echo $USER###显示当前用户的信息
su - username###切换当前用户所使用的环境
##kiosk原本的环境
[kiosk echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/kiosk/.local/bin:/home/kiosk/bin
##root原本的环境
[root echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
##root用su - kiosk切换到kiosk,同时切换到了kiosk自己的环境变量
[root su - kiosk
[kiosk echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/kiosk/.local/bin:/home/kiosk/bin
##root用su kiosk切换到kiosk,但还是root的path,没有切到kiosk的path
[root su kiosk
[kiosk echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
在切换用户时,su student和su - student的不同之处:
1.su - student切换用户、及用户的环境,加了”-”环境变量也改变了;
2. 不加”-”即su student就只是切换用户。
(三)用户及组的操作
1. 用户
① 用户类型
a. 管理员Root:具有所有权限的用户,uid的值为0
b. 普通用户:正常创建的用户,uid为500~60000
c. 系统用户:保障系统运行的用户,一般不提供密码登陆系统,uid为1~499
② 用户相关文件
a. /etc/passwd##用户信息文件
存放用户的基本属性,从中可查看linux的所有用户。格式为:
『用户名:密码:用户id:用户主组id:用户说明(如姓名、年龄、电话等):用户根目录:用户编程环境(使用的shell)』
每个用户组有一个主组(私有组),一个或多个附加组。
b. /etc/shadow##用户认证信息
存放用户密码的一些策略,格式为:
『用户名:密码:最近更改密码的日期:密码不可更改的天数:密码更改前的警告期限:密码过期的宽限时间:帐号失效日期:保留』
c. /home/username##用户家目录
d. /etc/skel/.*##用户的基本信息配置
③ 用户命令
a. 新增用户:useradd -d 根目录 -g主组 -G 附加组列表(逗号隔开) 用户名
b. 重置密码:passwd 用户名
c. 修改用户:usermod -d 根目录 -g主组 -G 附加组列表(逗号隔开) 用户名————该命令的-G会把用户从原来的附加组移出来,可以使用-a参数指明是新增模式
d. 删除用户:userdel -r 连根目录一起删除 用户名
e. 查看所有用户:cat /etc/passwd
f. 查看单个用户详细:id 用户名
g. 查看当前所有的登陆用户:whho
2. 用户组
用户组是用户的容器,用户能从用户组继承权限。
① 用户组类型
a. 普通用户组:可以加入多个用户
b. 系统用户组:一般加入一些系统用户
c. 私有用户组:创建用户的时候,如果没有指明用户组,都会为该用户创建一个同名的用户组。私有用户组其实也是普通用户组的一种。
② 用户组相关文件
a. /etc/group##用户组信息
存放组的基本信息。格式为;
【组名:组密码:组id:用户列表】
b. /etc/gshadow
与用户组的shadow相似
③ 用户组命令
a. 新增组:groupadd -g uid号 组名————如果不指定uid号则自动生成
Groupadd -g 888 test(指定uid为888)
Groupadd hehe(未指定uid)
b. 修改组:gruopmod -n 新组名 组名————可以用来改组名
Groupmod -n jack jaak
c. 删除组:groupdel 组名————如果组内还有用户则无法删除
d. 查看所有组+查看某个组内的用户:cat /etc/gruop
e. 查看用户的组信息:id 用户名
输出:
uid=0(root) gid=0(root) groups=0(root)
uid是主组,gruops是附加组
f. 将用户添加进组里:gpasswd -a用户名 组名
g. 将用户从组里移除:gpasswd -d 用户名 组名
-----------------------------------------------------------------
(四)用户的详细操作
useradd###新建用户
-u###指定用户的uid
-g###指定用户初始组,这个组一定要存在
-G###指定附加组,组同样要存在
-c###用户说明
-d###指定用户加目录
-s###指定用户使用的shell,shell种类参看/etc/shells
userdel -r####删除用户
groupadd-g###新建组,-g表示指定组的id
groupdel###删除组
passwd####更改用户密码
『例』useradd -u 1016(已存在的组号) -g 1016(已存在的组号) test(用户名)
##################首先监听passwd###########
Watch -n1 tail -n 3 /etc/passwd
1.
Useradd 添加test用户
Useradd test
当有一个进程正在使用而无法删除test时:
Kill + 该进程号
然后再:
Userdel -r test
这样就能顺利删除了
2.
可以同时指定用户的uid和gid
Useradd -u 888 -g 888 test
3.
添加用户说明(要先删除test才能建立)
Useradd -c “test user” test
4.
指定用户家目录
Useradd -d /mnt/test test
5.
指定用户使用的shell类型
Useradd test -s /bin/tcsh
6.
查看shell的种类
 123 123
 123
 123
 123
 123 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
 123
&
 123
 123
 123
 123
 123
 123
 123
 123
 123
Linux学习笔记四