愚蠢的地球人

删除Mac OS文件系统的附加属性

有时候在Mac系统下读写NTFS分区时,会发现一些文件不能打开。提示错误为:
    项目“XXX”已被OS X使用,不能打开。
出现这种情况往往是因为文件被添加了附加属性。

ls -al 命令可以看到:
    -rwxr-xr-x@
文件的读写权限中被加上了一个@符号,这就是 Mac OS X 文件系统的附加属性(extended attributes)。

查看详细的附加属性内容:
    xattr -l filename

彻底删除附加属性的办法:
    xattr -c filename
去除当前文件夹中所有 txt 的附加属性。再次 ls -al 可以发现没有了@符号。

某些博客和贴吧推荐的:
    xattr -d com.apple.FinderInfo XXX.txt
或者其他带有com.apple.****的都可能删除不彻底。只有用-c 参数才能彻底删除。

清除目录下所有文件的属性
    find . -name "*.*" -exec xattr -c {} \;
或者:
    find . -type f -print0 | xargs -0 xattr -c

还有更简单的指令:
    xattr -c -r path
或者
    xattr -rc path

如果路径中有空格或特殊字符的长路径:
打开Terminal.app并开始输入xattr -rc,包含尾随空格,然后将文件或文件夹拖到Terminal.app窗口,它将自动添加正确转义的完整路径。


Mac和Windows双系统共用蓝牙设备无需重新配对

转自https://github.com/digitalbirdo/BT-LinkkeySync/issues/12

一、生成Mac系统下的蓝牙配置文件

首先在Mac系统下配对蓝牙鼠标,配对之前可以先删除系统的蓝牙配对文件:

sudo rm  /private/var/root/Library/Preferences/com.apple.bluetoothd.plist
sudo rm /Library/Preferences/com.apple.Bluetooth.plist

配对鼠标,然后导出配置文件供以后修改:

More...


光猫绑定VLAN解决网络和IPTV共用一根网线的问题

装修时弱电箱到客厅只预埋了一根网线,但这时要同时连路由器上网和观看IPTV怎么办?
通常的做法是单网线8芯分双线4芯解决方案(某宝有成品网线一分二)。原理是使用百兆网络时,网线只用1、2、3、6,其余是闲置的,一般网线都是8芯,所以解决方案就是用4芯来接一个水晶头,这样就可以把一根网线变两根。
但是现在家用宽带的带宽基本都超过100兆了,如果用这种办法就会浪费上网的带宽,有没有更好的解决方案呢?
我曾经试过电力猫,但是非常不稳定,很多号称百兆的电力猫,在实际的电力使用环境下,连10兆的稳定连接都不能保证,后来我花高价换了一对号称千兆的电力猫,刚换上的时候非常稳,看高清节目都很流畅。结果半年不到,就莫名其妙的发卡了,现在都基本没法正常观看节目了。
最完美的解决方案是利用VLAN,将Internet和IPTV绑定到光猫的同一个LAN口,然后再用一台VLAN交换机将Internet和IPTV数据分到两个接口上。
首先,登录光猫的管理后台,各地不同运营商不同的光猫登录地址账号密码都不一样,请自行百度。

More...


OpenWrt路由器下面设备直接访问光猫

目前大部分的家庭宽带都是路由器的WAN口直接连接光猫的LAN口,光猫设置为桥接模式,路由器进行PPPOE拨号上网。假如光猫的LAN口地址为192.168.0.1,路由器的LAN口IP地址为192.168.1.1,电脑通过DHCP获取到的IP地址为192.168.1.100。如果想访问路由器的管理页面,很简单,直接通过浏览器访问http://192.168.1.1就可以。但是由于电脑跟光猫不在同一个局域网,所以电脑上无法直接通过192.168.0.1这个地址来访问光猫。如果想要访问光猫的管理页面就只能重新找根网线直接将电脑跟光猫的LAN口连接,然后手动设置电脑的IP地址为192.168.0.x,这样才能访问,比较麻烦。有没有什么办法能直接从192.168.1.100访问192.168.0.1呢?如果你使用的的是OpenWrt的路由器,这里介绍两种办法。

More...


威联通Container Station安装Gateone踩坑笔记

通常情况下,在Windows系统下通过SSH登录家里的NAS系统或者是登录Openwrt路由器,我一般使用Putty。家里内网中NAS主机或者Openwrt路由器想要从外网SSH登录的话需要在路由器上做端口映射,但是把NAS跟路由器的的SSH端口暴露在公网上可能会有一些安全性的问题。后来我发现了一个叫Gateone的神器,这是一个能在浏览器上运行的SSH客户端。只要有一个支持HTML5的现代浏览器你就能SSH登录到linux服务器。而且如果你把Gateone部署在内网中,你就可以在外网的浏览器上先连接到gateone,然后直接输入内网的IP来登录内网中的linux主机。其实说实话,除了装B之外并没有多大的实际意义,想象一下你在高铁上或者咖啡厅里优雅的拿出ipad打开safari然后SSH登录家里NAS的情景。

正文开始
1.添加Docker Hub的镜像服务器。
Gateone的docker镜像文件有好几百MB,国内连接Docker官方服务器比较慢,所以最好是使用国内的镜像服务器。
打开Container Station,在属性的Registry里面添加镜像服务器,我使用的是阿里云的镜像服务。

More...


单网口软路由配合VLAN交换机单线复用原理分析

趁着6.18大促,入手了一台威联通TS-453Bmini。之所以选这款机器主要是看中了它双网口的配置,想利用它来做一个软路由,另外还有HDMI接口,可以用做HTPC。


一开始设计的方案是一个网口做WAN,另一个网口做LAN。但是这个方案有一个致命的缺陷:一旦LAN口用于PC和NAS之间拷贝数据,这个LAN口的千兆带宽会被完全占用,这时候其他设备再通过这个LAN口访问外网的速度肯定会受影响。所以最后我定下来的方案是保留一个网口供NAS专用,另一个网口做一个单网口的软路由。另外,为了维护的方便,我将原来的硬路由保留下来作为备用,平时不通电,当NAS升级或者维护的时候只需要拔下软路由跟交换机之间的网线然后将备用的硬路由插上电源即可。整个网络的拓扑图如下:

More...


用WinSCP以root权限登录群晖DSM6.2.2

使用putty连接DSM,admin账号登录成功后,输入sudo -i

会提示输入密码password,这边还是输入admin的密码。

看到root@……:~#这样的信息就是已经进入到root账号了。

设置root账号密码,输入synouser --setpw root password 这里的password最好和admin密码一样,这样不容易搞错。

输入vi /etc/sudoers,按i键进入编辑模式,找到%administrators ALL=(ALL) ALL改为ALL=NOPASSWD: ALL,修改完之后按ESC输入:wq回车保存退出。

输入vi /etc/ssh/sshd_config 修改ssh配置文件,按i键进入编辑模式,修改#PermitRootLogin prohibit-password 为 PermitRootLogin yes,然后按ESC键输入:wq回车保存退出。

编辑文件时如果提示没有权限,可以先执行chmod -R 755 /etc/sudoers

输入reboot重启DSM

然后打开winscp高级站点设置 -> 环境 -> SCP/Shell,把Shell的默认改成sudo su - 然后直接登录就是root了


Linux计划任务工具Crontab使用详解

Ubuntu自带Crontab,默认没有开启cron日志记录

1.开启Crontab日志

vi /etc/rsyslog.d/50-default.conf

把#cron.*前面的#号去掉

重启rsyslog服务

service rsyslog restart

然后再重启crontab服务

service cron restart

2.开启定时任务:crontab –e

周期有5个域,分别是分钟,小时,日(day of month),月(month of year),周几(day of week)
每个域不加限制任意的话用*,格式为:

*  *  *  *  *  command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

间隔执行时间设定
* * * * *  每分钟执行
*/5 * * * *  每五分钟执行 (/表示频率)  
0 * * * *  每小时执行
* */2 * * * 每2小时执行
0 0 * * *  每天执行
0 0 * * 0  每周执行
0 0 1 * *  每月执行
0 0 1 1 *  每年执行
30 8 * * * 每天8:30分执行
30,50 * * * * 每小时的30和50分各执行一次(,表示并列)
30 8 3-6 * * 每个月的3号到6号的8:30执行一次 (-表示范围)
30 8 * * 1 每个星期一的8:30执行一次 (周的范围为0-7,0和7代表周日)

例:
每晚的21:30重启apache
30 21 * * * /usr/local/etc/rc.d/lighttpd restart

每2分钟运行Python脚本
*/2 * * * * /usr/bin/python3.5 /root/1.py &>> /root/auto.log

常用的几个命令格式
crontab -l #显示用户的crontab文件的内容
crontab -e #编辑用户的crontab文件的内容
crontab -r #删除用户的crontab文件

3.查看crontab日志
less /var/log/cron.log



Git入门笔记

安装和使用
1. 下载安装Git,地址;http://git-scm.com/downloads

2. 使用git –version或者which git命令查看
VScode配置Git:
文件-->首选项-->设置,搜索git.path, 将该项值设置为git执行文件的路径。
"git.path": "C:\\Program Files\\Git\bin\\git.exe"
"git.path": "usr/bin/git"

3. 创建一个用户名、邮箱、让Git记住登陆密码
git config --global user.name "username"
git config --global user.email "user@email.com"
git config --global credential.helper store

4. 制作SSH key
ssh-keygen -t rsa -C "user@email.com"
生成的密钥对存放在 ~/.ssh/ 目录下
私钥的名字是id_rsa
公钥的名字是id_rsa.pub
MacOS如果在推送的时候提示权限问题,需要修改私钥文件的权限:
chmod 600 ~/.ssh/id_rsa(只有属主有读写权限)

5. 将公钥添加到Git Server

6. 在Server上新建空仓库(Repository)
然后记下SSH地址,例如:
git@github.com:yourname/proj.git

7. 创建本地仓库并上传
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:yourname/repository.git
git push -u origin master

8. 克隆Server上已有项目 到本地
git clone https://github.com/yourname/repository.git

Git基础命令;
clone 克隆远程仓库
init 初始化仓库
remote 连接远程仓库
pull 从远程仓库下拉获取新数据
push 将本地仓库新增或修改文件上传到远程仓库
add 添加文件或者修改文件,commit以及push之前使用
log 当前仓库提交过的日志信息
status 当前仓库版本状态
commit 提交到当前仓库中
branch 分支命令,相关增删查操作
checkout 使用远程仓库最后一个版本完全覆盖当前仓库内容/选择分支branch
diff 对比版本内容
merge 合并版本内容

git仓库删除所有提交历史记录
1. 根据当前分支(假设当前分支为master)创建一个独立无父级的新分支
git checkout --orphan latest_branch

2. 把所有的文件重新添加用于提交
git add -A

3. 提交这次更改
git commit -am "init commit"

4. 删除原有分支master
git branch -D master

5. 重命名当前独立分支为master
git branch -m master

6. 最后强制更新服务端仓库master分支
git push -f origin master

More...


Linux用户用户组以及文件权限

Linux是一个多用户、多任务的操作系统。用户在系统中是分角色的,在Linux系统中,由于角色不同,权限和所完成的任务也不同;比如一台Linux服务器,上面有 FTP 用户、系统管理员、超级管理员 root、web 用户、常规普通用户等,不同用户所具有的权限也不同,要完成不同的任务得需要不同的用户。多用户既可以本地登录也可以通过远程来登录。多用户系统对系统管理更方便更安全,比如某用户下的某个文件不想让其它用户看到,只需要设置一下文件的权限,只有本用户可读可写就行了。

Linux的用户分为以下几类:
超级管理员用户 root:系统唯一,是真实的,可以登录系统,可以操作系统任何文件和命令,拥有最高权限;
虚拟用户:虚拟用户实际上就是去掉了登录SHELL权限的用户,因为默认登录shell是 '/sbin/nologin'。他没有能力登录系统,但可以进行其他任何操作,是系统运行不可缺少的用户,比如 nobody 和 ftp 等,我们访问服务器上的的 Web Server,就是 nobody 用户;我们匿名访问 FTP Server 时,会用到用户 ftp 或 nobody ;这类用户有些是系统自身拥有的,而非后来添加的,当然我们也可以添加虚拟用户;
普通真实用户:这类用户能登录系统,但只能操作自己家目录的内容;权限有限;这类用户都是系统管理员自行添加的;

用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的;

用户和用户组的对应关系是:一对一、多对一、一对多或多对多;
一对一:某个用户可以是某个组的唯一成员;
多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组;
一对多:某个用户可以是多个用户组的成员;
多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组;

查看用户和用户组的命令:
whoami 查看当前登录用户名,例如:
liugeng@liugeng-Ubuntu:~$ whoami
liugeng
groups 查看当前登录用户的组内成员,例如:
liugeng@liugeng-Ubuntu:~$ groups liugeng
liugeng : liugeng adm cdrom sudo dip plugdev lpadmin sambashare
liugeng@liugeng-Ubuntu:~$ groups root
root : root

Linux的用户信息保存在/etc/passwd文件中,/etc/shadow文件存放的是用户密码相关信息。
/etc/passwd文件格式:
用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell
其中UID为0则是用户root,1~499为系统用户,500以上为普通用户
/etc/shadow保存用户密码信息,包括加密后的密码,密码过期时间,密码过期提示天数等。


/etc/group 用户组(group)配置文件;
/etc/gshadow 用户组(group)的影子文件;
/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件,root用户组的用户也是可以执行的;用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去。
/etc/group 的格式如下:
group_name:passwd:GID:user_list
第一字段:用户组名称;
第二字段:用户组密码;
第三字段:GID(Group ID);
第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;
用户登录后,/etc/passwd 文件里的GID为用户的初始用户组。
用户的初始用户组这一事实不会在 /etc/group 中体现。


管理用户(user)的工具或命令:
useradd 添加用户
adduser 添加用户
passwd 为用户设置密码
usermod 修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov 同步用户从/etc/passwd 到/etc/shadow
pwck 校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 是 pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger 查看用户信息工具
id 查看用户的UID、GID及所归属的用户组
chfn 更改用户信息工具
su 用户切换工具
sudo 是通过另一个用户来执行命令(execute a command as another user),sudo 后面直接执行命令;
visudo 是编辑 /etc/sudoers 的命令,也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
 

管理用户组(group)的工具或命令:
groupadd 添加用户组;
groupdel 删除用户组;
groupmod 修改用户组信息
groups 显示用户所属的用户组
grpck grpconv 通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv 通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;
 

/etc/skel目录是存放用户启动文件的目录,这个目录是由root权限控制,当我们添加用户时,这个目录下的文件自动复制到新添加的用户的家目录下;/etc/skel 目录下的文件都是隐藏文件,也就是类似.file格式的;我们可通过修改、添加、删除/etc/skel目录下的文件,来为用户提供一个统一、标准的、默认的用户环境;

liugeng@liugeng-Ubuntu:~$ ls -la /etc/skel/
总用量 40
drwxr-xr-x   2 root root  4096 12月 10 02:35 .
drwxr-xr-x 146 root root 12288 12月 15 11:43 ..
-rw-r--r--   1 root root   220 9月   1  2015 .bash_logout
-rw-r--r--   1 root root  3771 9月   1  2015 .bashrc
-rw-r--r--   1 root root  8980 4月  20  2016 examples.desktop
-rw-r--r--   1 root root   807 6月   7  2019 .profile


/etc/skel 目录下的文件,一般是我们用 useradd 和 adduser 命令添加用户(user)时,系统自动复制到新添加用户(user)的家目录下;如果我们通过修改 /etc/passwd 来添加用户时,我们可以自己创建用户的家目录,然后把 /etc/skel 下的文件复制到用户的家目录下,然后要用 chown 来改变新用户家目录的属主;

/etc/login.defs 配置文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的;


用户用户组文件权限操作命令详解:

切换有效用户组:
[root@Ubuntu]#newgrp 用户组名
要离开新的有效用户组,则输入exit回车。

新建用户:
[root@Ubuntu]#useradd 用户名 -g 初始用户组 -G 其他用户组(修改/etc/group) -c 用户说明 -u 指定UID

建完用户需要为用户设置密码:
[root@Ubuntu]#passwd 用户名

用户要修改自己密码:
[root@Ubuntu]#passwd

修改用户信息:
[root@Ubuntu]#usermod 参数 用户名
参数:
 -c 说明
 -g 组名 初始用户组
 -e 过期日期 格式:YYYY-MM-DD
 -G 组名 其他用户组
 -l 修改用户名
 -L 锁定账号(在/etc/shadow文件中用户对应密码密码串的前面加上两个叹号(!!))
 -U 解锁

删除用户:
[root@Ubuntu]#userdel [-r] 用户名
其中,参数-r为删除用户的home目录。
其实,可能在系统其他地方也有该用户文件,要完整删除一个用户和其文件要先找到属于他的文件:
[root@Ubuntu]#find / -user 用户名
然后删除,再运行userdel删除用户。

查看可用shell:
[root@Ubuntu]#chsh -l
修改自己的shell命令:
[root@Ubuntu]#chsh -s

查看自己或某人UID/GID信息:
[root@Ubuntu]#id [用户名]
返回信息中groups为有效用户组

新增用户组:
[root@Ubuntu]#groupadd 用户组名

修改用户组名:
[root@Ubuntu]#groupmod -n 名称

删除用户组:
[root@Ubuntu]#groupdel 用户组名

设置用户组密码:
[root@Ubuntu]#gpasswd 用户组名

如果gpasswd加上参数则有其他功能

设置用户组管理员:
[root@Ubuntu]#gpasswd -A 用户名 用户组名

添加某帐号到组:
[root@Ubuntu]#gpasswd -M 用户名 用户组名

从组中删除某帐号:
[root@Ubuntu]#gpasswd -d 用户名 用户组名

passwd相关参数操作:
-l 锁用户
-u 解锁用户
-n 天数  密码不可改天数
-x 天数  密码过期天数
-w 天数  警告天数


文件权限操作命令详解:
先看个实例:
[root@Ubuntu]#ls -al
ls -al 命令是列出目录的所有文件,包括隐藏文件。隐藏文件的文件名第一个字符为'.'
-rw-r--r--  1 root root    81 08-02 14:54 gtkrc-1.2-gnome2
-rw-------  1 root root   189 08-02 14:54 ICEauthority
-rw-------  1 root root    35 08-05 10:02 .lesshst
drwx------  3 root root  4096 08-02 14:54 .metacity
drwxr-xr-x  3 root root  4096 08-02 14:54 nautilus

列表的列定义如下:
[权限属性信息] [连接数] [拥有者] [拥有者所属用户组] [大小] [最后修改时间] [文件名]

权限属性列表为10个字符:
第一个字符表示文件类型,d为目录 -为普通文件 l为连接 b为可存储的接口设备 c为键盘鼠标等输入设备
2、3、4个字符表示所有者权限,5、6、7个字符表示所有者同组用户权限,8、9、10为其他用户权限
第二个字符表示所有者读权限,如果有权限则为r,没有权限则为-
第三个字符表示所有者写权限,如果有权限则为w,没有权限则为-
第四个字符表示所有者执行权限,如果有权限则为x,没有权限则为-
第五个字符表示所有者同组用户读权限,如果有权限则为r,没有权限则为-
第六个字符表示所有者同组用户写权限,如果有权限则为w,没有权限则为-
第七个字符表示所有者同组用户执行权限,如果有权限则为x,没有权限则为-
第八个字符表示其他非同组读权限,如果有权限则为r,没有权限则为-
第九个字符表示其他非同组写权限,如果有权限则为w,没有权限则为-
第十个字符表示其他非同组执行权限,如果有权限则为x,没有权限则为-

修改文件所属组:
[root@Ubuntu]#chgrp [-R] 组名 文件名
其中-R为递归设置

修改文件的所有者和组:
[root@Ubuntu]#chown [-R] 用户[:用户组] 文件名

修改文件访问权限:
[root@Ubuntu]#chmod [-R] 0777 文件名

linux 查看用户及用户组的方法
------------------------------------------------------------------
whois
功能说明:查找并显示用户信息。
语  法:whois [帐号名称]
补充说明:whois指令会去查找并显示指定帐号的用户相关信息,因为它是到Network Solutions 的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。
------------------------------------------------------------------
whoami
功能说明:显示用户名称。
语  法:whoami [--help][--version]
补充说明:显示自身的用户名称,本指令相当于执行"id -un"指令。
参  数:
--help  在线帮助。
--version  显示版本信息。
------------------------------------------------------------------
who
功能说明:显示目前登入系统的用户信息。
语  法:who [-Himqsw][--help][--version][am i][记录文件]
补充说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的    终端机,登入时间以及从何处登入或正在使用哪个X显示器。
参  数:
-H或--heading  显示各栏位的标题信息列。
-i或-u或--idle  显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串。
-m  此参数的效果和指定"am i"字符串相同。
-q或--count  只显示登入系统的帐号名称和总人数。
-s  此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题。
-w或-T或--mesg或--message或--writable  显示用户的信息状态栏。
--help  在线帮助。
--version  显示版本信息。
------------------------------------------------------------------
w
功能说明:显示目前登入系统的用户信息。
语  法:w [-fhlsuV][用户名称]
补充说明:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w
指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。
参  数:
-f  开启或关闭显示用户从何处登入系统。
-h  不显示各栏位的标题信息列。
-l  使用详细格式列表,此为预设值。
-s  使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。
-u  忽略执行程序的名称,以及该程序耗费CPU时间的信息。
-V  显示版本信息。
------------------------------------------------------------------
finger
finger 命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。
该命令的一般格式为:
finger [选项] [使用者] [用户@主机]
命令中各选项的含义如下:
-s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。
-l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。
-p 除了不显示.plan文件和.project文件以外,与-l选项相同。 
[例]在本地机上使用finger命令。
$ finger xxq
Login: xxq Name:
Directory: /home/xxq Shell: /bin/bash
Last login Thu Jan 1 21:43 (CST) on tty1
No mail.
No Plan. 
$ finger
Login Name Tty Idle Login Time Office Office Phone
root root *1 28 Nov 25 09:17
……
------------------------------------------------------------------
vlock(virtual console lock)
功能说明:锁住虚拟终端。
语  法:vlock [-achv]
补充说明:执行vlock指令可锁住虚拟终端,避免他人使用。
参  数:
-a或--all  锁住所有的终端阶段作业,如果您在全屏幕的终端中使用本参数,则会将用键盘
切换终端机的功能一并关闭。
-c或--current  锁住目前的终端阶段作业,此为预设值。
-h或--help  在线帮助。
-v或--version  显示版本信息。
------------------------------------------------------------------
usermod
功能说明:修改用户帐号。
语  法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号]
补充说明:usermod可用来修改用户帐号的各项设定。
参  数:
-c<备注>  修改用户帐号的备注文字。
-d登入目录>  修改用户登入时的目录。
-e<有效期限>  修改帐号的有效期限。
-f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
-g<群组>  修改用户所属的群组。
-G<群组>  修改用户所属的附加群组。
-l<帐号名称>  修改用户帐号名称。
-L  锁定用户密码,使密码无效。
-s  修改用户登入后所使用的shell。
-u  修改用户ID。
-U  解除密码锁定。
------------------------------------------------------------------
userdel
功能说明:删除用户帐号。
语  法:userdel [-r][用户帐号]
补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
参  数:
-f  删除用户登入目录以及目录中所有文件。
------------------------------------------------------------------
userconf
功能说明:用户帐号设置程序。
语  法:userconf [--addgroup <群组>][--adduser <用户ID><群组><用户名称>][--delgroup <群组>][--deluser <用户ID>][--help]
补充说明:userconf实际上为linuxconf的符号连接,提供图形界面的操作方式,供管理员建立与管理各类帐号。若不加任何参数,即进入图形界面。
参  数:
--addgroup<群组>  新增群组。
--adduser<用户ID><群组><用户名称>  新增用户帐号。
--delgroup<群组>  删除群组。
--deluser<用户ID>  删除用户帐号。
--help  显示帮助。
------------------------------------------------------------------
useradd
功能说明:建立用户帐号。
语  法:useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][用户帐号] 或 useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ]
补充说明:useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
参  数:
-c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。 
-d<登入目录>  指定用户登入时的启始目录。
-D  变更预设值.
-e<有效期限>  指定帐号的有效期限。
-f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。
-g<群组>  指定用户所属的群组。
-G<群组>  指定用户所属的附加群组。
-m  自动建立用户的登入目录。
-M  不要自动建立用户的登入目录。
-n  取消建立以用户名称为名的群组.
-r   建立系统帐号。
-s  指定用户登入后所使用的shell。
-u  指定用户ID。