用户管理:
先看下用:户管理需要的几个文件
1) /etc/passwd 用户身份信息
--用户名称:用户密码(已经移植到/etc/shadow中):uid:gid:用户说明:用户家目录:用户所使用的shell
2)/etc/group 用户组信息
--组名称:组密码:gid:附加成员
3)/home/username 家目录
4)/etc/skel/.*用户家目录骨架文件
5)/etc/shadow 用户加密信息,专门管理密码相关数据(chage -d -m -M -W -I -E)
--用户名字:密码加密字符:3密码被使用的天数(1970.1.1为1开始累加,1971.1.1就是366):密码最短有效期(密码不可被改动的天数,即最后一次更改后多少天可以再次改,为0表示随时可以改):5密码最长有效期(在最近一次更改后,多少天内重新设置密码,99999(273年)表示密码更改没有强制性限制):警告期(密码到期前n天内系统发出警告):密码过期后还能用多少天(3+5,过期后登陆时系统要求必须重设密码才可登陆):密码锁定期限(无论密码是否过期锁定后均不能登陆):无利用(为以后添加新功能保留)
普通用户默认情况下不能新建用户
用useradd创建用户时修改的是/etc/passwd和/etc/group这两个文件夹
超级用户不受密码权限限制,可以随时修改普通用户的密码
使用root用户可以创建和修改新用户的属性:
1) 使用命令useradd [选项] 参数
useradd 用户名 ####添加用户
useradd -u 8000 用户名 ####创建一个ID为8000的用户
useradd -g 2000 用户名 ####修改用户的组ID
useradd -G 2000 用户名 ####把已经存在的用户附加到ID为2000的用户组
useradd -aG 2000 用户名 ####保留自己原来在的那个组,同时附加到别的组
useradd -c "说明文字" 用户名 ####修改该用户的说明
useradd -d /mnt/ 用户名 ####修改该用户的家目录
useradd -s /sbin/nologin 用户名 ####修改该用户使用的shell
useradd -G 2000 用户名
2) 使用命令userdel [选项] 参数 删除用户
eg: userdel -r 用户名 ####删除用户
3) 也可使用usermod修改用户的属性:用法与useradd相似
usermod [选项] 参数
参数:usermod -u -g -G -aG -c -d -md -s -U -L
特别说明 -d 和-md两个参数:
usermod -d /home/lee lee #### 修改用户的家目录,但是不修改/home下的名称
usermod -md /home/lee lee #### 修改用户的家目录,同时修改/home下的名称
-U ####用户解锁
-L ####用户加锁
##############################################################################################
watch -n 1(tail -2 /etc/passwd;echo ===========;tail -2 /etc/group;)
watch -n 1(tail -2 /etc/passwd;echo ===========;tail -2 /etc/group;echo===========;ls -l /home‘) 监视信息:1秒监视一次,并显示home目录下的信息
##############################################################################################
文件管理:
1 visudo用户权限下放
visudo ##为某一个用户下放权限时,使用命令visudo(用vim /etc/sudoers也可以进去这个文件但不能修改),为了规范操作,进去修改99行的内容(:99)。
eg(添加内容为): test(用户名) 主机名(用hostname命令查看)=(root) NOPASSWD: /usr/sbin/useradd ,/user/sbin/userdel (执行什么命令)
##表示给用户test一个可以创建新用户和删除用户的权限,NOPASSWD表示执行该权限时不需要输入test用户的密码。不添加NOPASSWD:时,会出现【sudo】passwd for test的提示。
[[email protected] ~]$ sudo useradd username ##当使用test用户创建和删除用户时,命令前必须加sudo来调用在/etc/sudoers文件中添加的内容,否则test用户添加新用户不被允许。
hostname ##查看主机名
which useradd ##查看useradd所在文件的路径(在本机上使用该命令得到路径为/usr/sbin/useradd,给用户下放权限时添加的命令要用到该命令的路径。如上eg)
2 /etc/shadow
/etc/shadow 用户加密信息,专门管理密码相关数据(chage -d -m -M -W -I -E)
--用户名字:密码加密字符:3密码被使用的天数(1970.1.1为1开始累加,1971.1.1就是366):密码最短有效期(密码不可被改动的天数,即最后一次更改后多少天可以再次改,为0表示随时可以改):5密码最长有效期(在最近一次更改后,多少天内重新设置密码,99999(273年)表示密码更改没有强制性限制):警告期(密码到期前n天内系统发出警告):密码过期后还能用多少天(3+5,过期后登陆时系统要求必须重设密码才可登陆):密码锁定期限(无论密码是否过期锁定后均不能登陆):无利用(为以后添加新功能保留)
chage ##修改密码权限 (用户密码权限控制)
-d ##第3栏,密码被使用多少天
-m ##第4栏,密码最短有效期(修改后多少天可以改)
-M ##第5栏,密码最长有效期(多久要重新设置)
-W ##第6栏,警告期(密码到期前n天系统发出警告)
-I ##第7栏,密码过期后还可用的天数
-E ##第8栏,密码锁定期
3 文件的权限:
ls -al命令看到文件权限:
---------- ###-(目录【d】,文件【-】或链接文件【l】)---(文件所有者【user】权限rwx)---(文件所属用户组【group】权限rwx)---(其他人【other】对文件的权限rwx)
r(读) ##可读取此文件的实际内容,如读取文本文件的文字内容
w(写) ##可以编辑,新增或者是修改该文件的内容(但不含删除该文件)
x(执行) ##该文件具有可以被系统执行的权限
目录的权限:(要开放目录给任何人浏览时,至少给r和x权限,w权限不能随便给)
r: ##查询目录下的文件名数据,用ls显示目录内容(最多只能看到文件名)
w: ##该目录下的文件名变动有关
//新建新的文件与目录
//删除已经存在的文件与目录(不论该文件权限如何)
//将已经存在的文件或目录重命名
//转移该目录内的文件,目录位置
x: ##用户能否进入该目录成为‘工作目录’(目前所在的目录)的用途,即能否在该目录下执行命令
ls -ld ##查看本级目录的权限[用户@主机 目录]
4 修改文件的属性
chown ##改变文件所有者 eg:chown lee test (-R) 表示把文件test的所有者改为lee,加R表示递归修改所有者
//也可以用来修改用户组 eg:chown root:lee test 表示把文件test的所有者改为root,所有组改为lee
chgrp ##改变文件所属用户组 eg:chgrp root test 表示把文件test所属的用户组改为root
chmod ##改变文件权限 方式有2种(字符和数字)
字符:chmod (u|g|o|a)(+|-|=)(r|w|x) ##u【user】,g【group】,o【other】,a(all,所有身份),+(加上),-(减去),=(设置)
eg:u+x u-x u+rwx ug+x ug-x
chmod u+x directory -R ##表示该目录下的所有文件都递归的在【user】权限上增加了x权限
数字:r:4 w:2 x:1
eg:chmod 755 directory -R ##表示该目录下所有文件的权限都为 -rwxr-xr-x
5 文件特殊权限
u+s(suid冒险位) ##若文件(/usr/bin/touch)有权限u+s,不管是谁发起touch命令创建新文件,所建立的新文件的用户都是文件(/usr/bin/touch)的用户,与命令的发起者无关。
##用于权限的提升或下放,即(/usr/bin/touch的所有者是root)让普通用户暂时获得root用户创建文件的权限,本来在某些目录下只允许root创建文件的权限被普通用户得到,使普通用户也可以创建。
g+s(sgid粘制位) ##对文件(/usr/bin/touch)来说,若有权限g+s,则不论谁执行文件(/usr/bin/touch)创建所得的新文件所属用户组都是文件(/usr/bin/touch)的用户组,与touch命令的执行者是谁无关。
##对目录来说,如果目录的权限是g+s,则只要在该目录下,无论是哪个用户执行的新建文件的命令,新建文件所属的用户组都和该目录相同,与命令的执行者所处的用户组无关。
o+t(sticky强制位) ##若一个目录有该权限,则目录内的文件只能被文件所有者删除(t对文件无意义,只针对目录来说)
6 设置umask
umask ##显示默认减去的权限
修改默认减去权限的步骤:
步骤1:vim /etc/profile(进入文件)->输入/umask(查找修改位置) -> 修改权限(if后修改,改变的是普通用户的权限;else后修改,改变的是超级用户的权限)->wq(保存退出)
步骤2:vim /etc/bashrc(进入文件)-> 输入/umask(查找修改位置) -> 修改权限(if后修改,改变的是普通用户的权限;else后修改,改变的是超级用户的权限)->wq(保存退出)
步骤3:两个文件的修改必须统一,执行命令source /etc/profile和source /etc/bashrc(读一次,使修改生效)
步骤4:修改umask成功,新建文件的权限和未修改前不一样了。
注意:linux系统默认所有文件都不可执行,即默认文件权限减去111,要执行须手工添加(病毒就是可执行文件,在linux系统中新加入的文件全都默认去掉可执行的权限,所以病毒不能执行,这也就是linux系统比较安全的原因)