小鱼儿与花无雀

来源:互联网 发布:pdf合并软件下载 编辑:程序博客网 时间:2024/04/30 16:00

一。/etc/nolog
早上来了没什么事看会鸟哥的Linux私菜房,看看用户管理的相关东西。知道了Linux用户管理最重要的两个文件就是/etc/passwd和/etc/shadow这两个文件。其中/etc/passwd是用来存储登陆用户信息的,它的基本格式如下:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
由上面的格式可以看出,每一行代表一个用户的信息,一共包括7个字段的信息,每个字段的信息用冒号隔开。这7个字段分别代表:
1. 账号名称:即登陆时的用户名
2. 密码:早期UNIX系统的密码是放在这个文件中的,但因为这个文件的特性是所有程序都能够读取,所以,这样很容易造成数据被窃取,因此后来就将这个字段的密码数据改放到/etc/shadow中了
3. UID:用户ID,每个账号名称对应一个UID,通常UID=0表示root管理员
4. GID:组ID,与/etc/group有关,/etc/group与/etc/passwd差不多,是用来规范用户组信息的
5. 用户信息说明栏: 用来解释这个账号是干什么的
6. 家目录:home目录,即用户登陆以后跳转到的目录,以root用户为例,/root是它的家目录,所以root用户登陆以后就跳转到/root目录这里
7. Shell:用户使用的shell,通常使用/bin/bash这个shell,这也就是为什么登陆Linux时默认的shell是bash的原因,就是在这里设置的,如果要想更改登陆后使用的shell,可以在这里修改。另外一个很重要的东西是有一个shell可以用来替代让账号无法登陆的命令,那就是/sbin/nologin。
当我看到这里的时候,我就去登陆我们实验室的服务器,打开/etc/passwd这个文件,里面果然有很多的类似上面格式的用户账号信息。由于我们实验室服务器开放了ftp服务,而我正好有一个ftp的账号,我看到我的账号信息是这样的lxb:x:530:525::/opt/ftp:/sbin/nologin,通过上面的学习,我觉得它的意思大概是这样的,用户名是lxb,x表示密码经过加密放到/etc/shadow文件中了,UID是530,GID是525,访问的目录是/opt/ftp,我看了一下,这个目录下的内容正好是我登陆ftp后所看到的,至于最后一个/sbin/nologin,应该是登录时候使用的shell,但是它为什么是nologin呢,难道不让我登陆吗?
于是我用root权限登陆到里面,把后面的/sbin/nologin改成了/bin/bash,重新用ssh进行登陆,真的登陆进去了,而且登陆后的目录正好是/opt/ftp。但是我的权限依旧没有改变,很多文件还是打不开。于是我明白了,这个nologin的作用就是限制某些用户通过ssh登陆到shell上。有时候为了进行系统维护工作,临时禁止其他用户登录,可以使用 nologin 文件,具体做法是在/etc/目录下创建一个名称为 nologin 的文件。例如:

touch /etc/nologin

这样将禁止随后的用户登录到系统中。禁止用户登录时,/etc/nologin 文件中的内容将会显示给用户,会一闪而过。例如,按如下方式创建 nologin 文件:
disable login by admin temperarily!
当用户试图登陆时,将会给用户显示”disable login by admin temperarily!”,当系统维护结束以后,再删除/etc/nologin文件,其他用户就又可以恢复登陆了,这只是限于能登陆shell的用户来说的,对于那些登陆shell为/sbin/nologin的用户来说没有影响,因为他们本身就无法登陆shell。

二。env命令
env命令用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。该命令只使用”-“作为参数选项时,隐藏了选项”-i”的功能。若没有设置任何选项和参数时,则直接显示当前的环境变量。 如果使用env命令在新环境中执行指令时,会因为没有定义环境变量”PATH”而提示错误信息”such file or directory”。此时,用户可以重新定义一个新的”PATH”或者使用绝对路径。 语法 env(选项)(参数) 选项 -i:开始一个新的空的环境; -u<变量名>:从当前环境中删除指定的变量。 参数 变量定义:定义在新的环境中变量,定义多个变量定义用空格隔开。格式为“变量名=值”; 指定:指定要执行的指令和参数。 实例 [root@localhost ~]# env hostname=LinServ-1 TERM=linux SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=192.168.2.111 2705 22 SSH_TTY=/dev/pts/0 USER=root LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:.cmd=01;32:.exe=01;32:.com=01;32:.btm=01;32:.bat=01;32:.sh=01;32:.csh=01;32:.tar=01;31:.tgz=01;31:.arj=01;31:.taz=01;31:.lzh=01;31:.zip=01;31:.z=01;31:.Z=01;31:.gz=01;31:.bz2=01;31:.bz=01;31:.tz=01;31:.rpm=01;31:.cpio=01;31:.jpg=01;35:.gif=01;35:.bmp=01;35:.xbm=01;35:.xpm=01;35:.png=01;35:.tif=01;35: mail=/var/spool/mail/root PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin INPUTRC=/etc/inputrc pwd=/root LANG=zh_CN.UTF-8 SHLVL=1 HOME=/root logname=root SSH_CONNECTION=192.168.2.111 2705 192.168.2.2 22 LESSOPEN=|/usr/bin/lesspipe.sh %s G_BROKEN_FILENAMES=1 _=/bin/env

v

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 吃了海兔的内脏怎么办 吃了鱿鱼的吸盘怎么办 想开个烧烤店没学过怎么办 墨鱼汁弄衣服上怎么办 干鱿鱼泡开发黄怎么办 吃了芥末胃疼怎么办 手撕鱿鱼咸了怎么办 孕妇吃了点芥末怎么办 葡萄酒上面有一层白霉怎么办 手机一不小心把视频删了怎么办 柑橘7月份果实小怎么办 鹦鹉鱼身上有小白点怎么办 鹦鹉鱼身上烂了怎么办 红鹦鹉鱼变黑了怎么办 唱美声总夹嗓子怎么办 发财树树干出褶怎么办 月季花夏天换盆出现黄叶怎么办 刚种的月季枯了怎么办 新买的月季黄叶了怎么办 月季花叶孑轰发黄怎么办? 新种的月季苗弱怎么办? 月季换盆后浇透水叶子黄了怎么办 肉肉移栽后浇透水怎么办 月季花扦插的没长根发芽了怎么办 君子兰发的小苗怎么办 蔷薇光长枝条不开花怎么办 牡丹发芽又干了怎么办 擦皮炎平后皮肤变黑怎么办 误喝发霉的咖啡渣怎么办 狗吃了速溶咖啡怎么办 咖啡机放豆的地方进水怎么办 干吃咖啡粉上瘾怎么办 去良友花艺住宿怎么办 充气娃娃放了气怎么办 煮杜鹃根没有锅怎么办 淘宝店卖鲜花被买家拒收货怎么办 执业医师电子注册忘记密码怎么办 怀孕吃了油炸的怎么办 百合长得太高怎么办 百合的杆没了怎么办 百合花长得太细怎么办