RSS
 

理解shadow和gshadow

26 Jul

如下几个文件和linux中的用户和组相关

/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow

/etc/passwd中的内容形如

root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin

其格式如下:

username:password:UID:GID:GECOS:Home Directory:Shell

/etc/shadow中的内容形如

root:$1$RwETwzjv$ifht7L/HiLCPR8Zc935fd0:13675:0:99999:7:::

对比passwd文件和shadow文件,有两个疑问

1.为什么passwd中的存在password字段却存放密码?

2.为什么需要设计一个 shadow文件来存放密码,passwd文件不行吗?

参阅了一些资料,才知道,passwd中的password字段是历史遗留,现在的linux只用一个x来标识是否存在密码,由于passwd文件中存放了除了密码以外还有一些需要被所有用户都需要访问的信息,所有passwd文件对所有用户都是可读的,如果在passwd文件中存放密码,无论是明文还是密文,都是不安全的。任何用户都可以获得passwd文件的拷贝,并对其他用户的密码进行暴力破解(brute-force cracking ).于是设计了shadow文件,以hash的方式来存放用户密码,该文件只有root用户才有读写权限。

用户使用密码进入认证还好理解,group和gshadow有什么作用?难道说用户组也需要认证?

linux下有一个newgrp命令,可以让某个用户临时性的获得默个用户组的权限,此事需要使用用户组密码

$ newgrp finance

可以使用gpasswd密码来设置用户组密码

$ gpasswd finance

参考:

http://meinit.nl/a-group-password-in-linux

http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlshadow.html

 
No Comments

Posted in linux

 

列出系统中所有支持的Shell

26 Jul

Redhat:

$ chsh -l

或者

$ cat /etc/shells

Ubuntu:

$ cat /etc/shells
 

useradd在RedHat和Ubuntu中的差异

26 Jul

linux下使用useradd命令创建一个新用户。

useradd

[-c comment] [-d home_dir]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-m [-k skeleton_dir] | -M] [-s shell]
[-u uid [ -o]] [-n] [-r] login

该命令在RedHat(CentOS)和Ubuntu中有些小小的差异。

在RedHat下

即使不不使用-m参数,默认也会创建用户主目录,如果想不创建用户主目录,可以使用-M

在Ubuntu下

默认不会创建用户主目录,如果需要创建主目录需要使用-m参数。

也就是说Redhat中默认是-m,而Ubuntu下默认是-M

 

linux用户登陆过程

25 Jul

当我们在命令行提示符或者GUI界面前键入用户名和密码后发生了什么呢?虽然这个过程会随着linux发行版的不同有所差异,但通常一个叫作Login的程序会被调用,并执行以下过程:

1.检查该用户或组是否存在以及该用户是否允许登陆

2.检查该用户是否允许从该位置登录(有些用户只允许从命令行或者本地界面登陆)

3.验证密码是否正确,如果错误,允许有限次的尝试(一般是3次)

4.验证密码是否有限,如果过期了提示用户设定新密码

5.设置用户目录、PATH之类的环境变量

6.启动Shell进程

7.呈现命令行提示符或者GUI界面

 
No Comments

Posted in linux

 

Google Picasa被墙

19 Jul

ggpht.com是Google Picasa相册的图片地址域名。

由于GFW直接屏蔽了ggpht.com而不是”.ggpht.com”,所有可以暂时使用下面的方式翻墙

打开hosts文件[C:\Windows\System32\drivers\etc或者/etc/hosts],添加如下内容

203.208.33.100    lh1.ggpht.com
203.208.33.100    lh2.ggpht.com
203.208.33.100    lh3.ggpht.com
203.208.33.100    lh4.ggpht.com
203.208.33.100    lh5.ggpht.com
203.208.33.100    lh6.ggpht.com
203.208.33.100    lh7.ggpht.com
203.208.33.100    lh8.ggpht.com

 
No Comments

Posted in GFW

 

Ubuntu强制卸载ksplice-uptrack

19 Jul

使用常规方法卸载

$ sudo apt-get remove ksplice-uptrack

正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
下列软件包是自动安装的并且现在不再被使用了:
python-decoratortools python-pycurl libyaml-0-1 kerneloops python-yaml
使用’apt-get autoremove’来删除它们
下列软件包将被【卸载】:
ksplice-uptrack
共升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 0 个软件未被升级。
解压缩后将会空出 786kB 的空间。
您希望继续执行吗?[Y/n]y
(正在读取数据库 … 系统当前总共安装有 192832 个文件和目录。)
正在删除 ksplice-uptrack …
You are running an unofficial kernel from the “mainline” PPA:
<http://kernel.ubuntu.com/~kernel-ppa/mainline>.  Ksplice
Uptrack for Ubuntu only supports kernels that were actually released
with Ubuntu Jaunty or one of its official updates.

dpkg:处理 ksplice-uptrack (–remove)时出错:
子进程 pre-removal script 返回了错误号 1
正在处理用于 python-support 的触发器…
在处理时有错误发生:
ksplice-uptrack
E: Sub-process /usr/bin/dpkg returned an error code (1)

无法卸载,使用如下方法可以强制卸载

cd /var/lib/dpkg/info/
sudo rm ksplice-uptrack.*
sudo aptitude purge ksplice-uptrack
sudo aptitude update
sudo aptitude upgrade

参考:[问题]如何强制卸载未正确安装的软件包

 
5 Comments

Posted in ubuntu

 

利用VPN翻墙

19 Jul

在众多的梯子中,VPN和SSH无疑是效率最高的。Linkideo提供的VPN不再免费后,UltraVPN无疑是一个很好的替代品。

UltraVPN提供的VPN服务基于开源的OpenVPN,网站为Windows和Mac编译好了安装包,我们只需在UltraVPN的网站上注册一个帐号,安装好下载来的程序,无需设置,马上可以享受穿墙而过的快感。但是ultravpn并没有为linux用户提供这样的方便,linux需要自己下载OpenVPN的源码编译安装。不过Ubuntu的用户不用那么麻烦,搞掂UltraVPN只需如下几步:

1. 注册帐号。
这里输入帐号、密码,帐号立马到手。邮箱是可选项,用于找回密码。

UltraVPN_reg

2. 获取ca证书和帐号配置文件。这一步有二个渠道完成。

2.1 借助Windows或Mac的机器安装好UltraVPN之后,复制软件安装路径中config目录下的ca.crt、client.ovpn和stealthy connect.ovpn三个文件。

2.2 或者下载偶为大家准备的

version.hversion.h (已下载288次)

3. 安装OpenVPN。

$ sudo apt-get install network-manager-openvpn

4. 建立VPN连接。这一步也有两种方式完成。

4.1 导入式

右键点击网络连接图标,选择“编辑连接…”,切换标签到“VPN”,点“导入“,选择第2步获取的client.ovpn文件(也可以选择stealthy connect.ovpn文件,用于创建安全连接),在弹出的编辑界面中填好第1 步注册的用户名、密码,”CA 认证”选择第2步获取的”ca.crt”文件,点”应用”完成。

vpn_client
4.2 输入式

右键点击网络连接图标,选择“编辑连接…”,切换标签到“VPN”,点“添加“创建连接。在弹出的“选择一个 VPN 连接类型”界面中选择“OpenVPN”, 点“创建…“,进入连接编辑页面。“网关“填“servers443.ultravpn.net”,“类型”选“密码 “,接下来填用户名、密码、CA 认证选“ca.crt“,点”应用”完成。

5. 连接VPN。左键点击网络连接图标,在“VPN 连接“中选择第3步创建的连接,就可直通巴黎了。如果在第五步时遇到“没有合法的 vpn secrets“的提示,那意味着你安装的network-manager-openvpn版本有Bug,解决方法如下:

$ sudo gedit /etc/apt/sources.list

在文件后面加入以下两行:

deb http://ppa.launchpad.net/network-manager/ppa/ubuntu <你的系统版本代号> main
deb-src http://ppa.launchpad.net/network-manager/ppa/ubuntu <你的系统版本代号> main

添加秘钥:

$ gpg --keyserver keyserver.ubuntu.com --recv-keys 248DD1EEBC8EBFE8
$ gpg --export -a 248DD1EEBC8EBFE8|sudo apt-key add -

然后接着执行命令:

$ sudo apt-get update
$ sudo apt-get dist-upgrade
 
No Comments

Posted in GFW

 

Tor+FoxyProxy

18 Jul

背景知识

  • 什么是 tor ?

Tor是第二代onion routing(洋葱路由)的一种实现,用户通过Tor可以在因特网上进行匿名交流。

  • 什么是 privoxy ?

Privoxy是一款带过滤功能的代理服务器,针对HTTP、HTTPS协议,经常跟Tor、Squid组合使用。通过Privoxy的超级过滤功能,用户从而可以保护隐私、对网页内容进行过滤、管理cookies,以及拦阻各种广告等。

  • 什么是FoxyProxy

FoxyProxy 是 Firefox 的一个代理服务器管理插件,与其他类似的插件相比较,FoxyProxy 的优势是可以自动识别需要使用代理的网站。也就是说当你访问未被封锁的网站时是正常的无代理模式,访问被封锁的网站时,可以通过你预先设定的模板进行匹配,自动切换到加密代理模式而不需要你手动切换代理。

安装与配置

由于9.04官方源中没有tor了,所以只能自行添加源

deb http://mirror.noreply.org/pub/tor etch main
deb-src http://mirror.noreply.org/pub/tor etch main

添加密钥

$ gpg --keyserver keys.gnupg.net --recv 94C09C7F
$ gpg --export 94C09C7F | sudo apt-key add -

然后执行

$ sudo apt-get update
$ sudo apt-get install tor privoxy

使用你最喜欢的编辑器打开 /etc/privoxy/config 文件,在最前面加上下面这一行(别漏了那个不起眼的“.”):

forward-socks4a / localhost:9050 .

保存修改了的 /etc/privoxy/config 文件。

重新启动 privoxy 服务

$ sudo /etc/init.d/privoxy restart

FoxyProxy下载地址

https://addons.mozilla.org/zh-CN/firefox/addon/2464

安装完后,重启Firefox

打开FoxyProxy选项[工具-附加组建-FoxyProxy-首选项] 或者双击 Firefox 状态栏上的 FoxyProxy 图标打开设置选项(快捷键 Ctrl+F2),点击文件 -> 新建代理服务器,在“常规”选项卡中勾选“启用”,Proxy Name 可任意填写,这里以 tor 为例输入:Tor。

FoxyProxy-代理设置-常规

然后点击“代理服务器细节”选项卡,勾选“手动配置代理服务器”,输入 HTTP代理服务器地址:127.0.0.1 端口:9050

FoxyProxy-代理设置-代理服务器细节

点击“URL模板”选项卡,添加新模板,“模板名称”输入:blogspot,“URL 或 URL 模板”内输入: *.blogspot.com/* ,意思是匹配 blogspot.com 所有子域和页面,确认已经勾选白名单和通配符。

FoxyProxy-代理模式-URL模式
 
1 Comment

Posted in GFW

 

Gladder for glype

18 Jul

使用firefox插件翻墙,应该是最最简单、方便的翻墙之术了!firefox的翻墙插件 gladder 前段时间突然失效,意味着万恶的 GFW 已经能对 PHPProxy 搭建的代理服务站点进行侦听以及封锁了,对于我们高墙内网友而言,PHPProxy在线代理基本可以宣布作废了!
目前gladder已经彻底升级,使用了 Glype 代理,经过下载安装测试,最新版本的 gladder 2.0.4 可以翻墙了!
gladder 最新版下载:https://groups.google.com/group/gladder

下载解压后,通过 File/Open File 安装升级,在Firefox 3.5 版本测试通过!

有一个担心,从所周知,网页在线代理目前的主要类型就是 PHPProxy 和 Glype,要是哪天GFW又升级能侦听封锁 glype 的话,怎么办?

 
No Comments

Posted in GFW

 

libstdc++.so.6链接库问题

15 Jul

ubuntu上某个未知的操作导致了firefox、opera以及很多C++实现的程序无法运行,包括apt-get,network-manager。重新启动后甚至连Xwindow也无法启动。

命令行抛出如下错误

/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9′ not found

在命令行执行如下命令

$ strings /usr/lib/libstdc++.so.6 | grep GLIBC

返回结果中并不存在GLIBCXX_3.4.9

$ ls -l  /usr/lib/libstdc++.so.6

返回如下结果

lrwxrwxrwx 1 root root 28 2009-07-15 10:30 /usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.10

原来真身是libstdc++.so.6.0.10,再比对其他机器上相同版本的ubuntu后发现文件libstdc++.so.6.0.10大小不同。

拷贝覆盖该文件后,再执行startx,看见了久违gnome窗口。

 
No Comments

Posted in linux