装机

昨天的时候,我把贝若干年前用过的一台有些过时的笔记本电脑重新设置,准备用它做测试机。

由于这台机器的硬件有些老,很多较新的操作系统(譬如Linux Mint 14,Ubuntu 12.04+)它都不支持。于是我只好先安装一个旧版本的Linux系统,然后通过系统升级来引进一些新系统的功能。新系统安装好了之后,我还要安装一些软件包。这个过程是漫长而又无聊的。而我在此过程中犯的一个错误,使得我不得不把这个过程从头再来一遍。在第二次安装的过程正在继续之时,我决定把这个错误记录下来,以供后来参考。

这个错误是这样发生的。由于我安装的软件里有一个是setuid程序,它要求用户必须要在特定的组(group)里才能有执行它的权限。所以我必须把用户user1加入到组group1里去。正确的做法是

sudo usermod -a -G group1 user1

这里’-a’这个选项很关键:它把用户加入到新的组里,同时不改变用户所在的别的组的成员属性。而我犯的错误,是忽略了这个选项。这导致用户user1被从除了group1组之外别的组内删除——而这也包括sudoer组!于是重新登录之后,我发现自己失去了sudo权限。本来这个问题可以通过在恢复模式中将文件系统载入然后修改/etc/group文件来解决,但由于我开启了全磁盘加密,这使得这个方法变得异常困难。于是重新将这个安装过程进行一遍,似乎成了最可行的问题解决方案。


Advertisements


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s