1 ## <a name="2 Using AFS"></a> 2 Using AFS
3 The Usage Section of the [[AFSFrequentlyAskedQuestions]].
10 <li><a href="#2 Using AFS"> 2 Using AFS</a><ul>
11 <li><a href="#2.01 What are the differences b"> 2.01 What are the differences between AFS and a unix filesystem?</a></li>
12 <li><a href="#2.02 What is an AFS protection"> 2.02 What is an AFS protection group?</a></li>
13 <li><a href="#2.03 What are the AFS defined p"> 2.03 What are the AFS defined protection groups?</a></li>
14 <li><a href="#2.04 What is an AFS access cont"> 2.04 What is an AFS access control list (ACL)?</a></li>
15 <li><a href="#2.05 What are the AFS access ri"> 2.05 What are the AFS access rights?</a></li>
16 <li><a href="#2.06 What is pagsh?"> 2.06 What is pagsh?</a></li>
17 <li><a href="#2.07 Why use a PAG?"> 2.07 Why use a PAG?</a></li>
18 <li><a href="#2.08 How can I tell if I have a"> 2.08 How can I tell if I have a PAG?</a></li>
19 <li><a href="#2.09 Can I still run cron jobs"> 2.09 Can I still run cron jobs with AFS?</a></li>
20 <li><a href="#2.10 How much disk space does a"> 2.10 How much disk space does a 1 byte file occupy in AFS?</a></li>
21 <li><a href="#2.11 Is it possible to specify"> 2.11 Is it possible to specify a user who is external to the current AFS cell on an ACL?</a></li>
22 <li><a href="#2.12 Are there any problems pri"> 2.12 Are there any problems printing files in /afs?</a></li>
23 <li><a href="#2.13 Can I create a fifo (aka n"> 2.13 Can I create a fifo (aka named pipe) in /afs?</a></li>
24 <li><a href="#2.14 If an AFS server crashes,"> 2.14 If an AFS server crashes, do I have to reboot my AFS client?</a></li>
25 <li><a href="#2.15 Can I use AFS on my diskle"> 2.15 Can I use AFS on my diskless workstation?</a></li>
26 <li><a href="#2.16 Can I test for AFS tokens"> 2.16 Can I test for AFS tokens from within my program?</a></li>
27 <li><a href="#2.17 What's the difference betw"> 2.17 What's the difference between /afs/cellname and /afs/.cellname?</a></li>
28 <li><a href="#2.18 Can I klog as two users on"> 2.18 Can I klog as two users on a machine in the same cell?</a></li>
29 <li><a href="#2.19 What are the ~/._afsXXXX f"> 2.19 What are the ~/.__afsXXXX files?</a></li>
30 <li><a href="#2.20 How do you set up IP-based"> 2.20 How do you set up IP-based ACLs?</a></li>
41 ### <a name="2.01 What are the differences b"></a> 2.01 What are the differences between AFS and a unix filesystem?
43 Essentially, from a user's point of view, there is little difference between AFS and local unix filestore. Nearly all the commands normally used to access local files can be used to access files in /afs.
45 In the following set of sections, I have attempted to "target" each section to an appropriate type of user by including to the right of each section heading one of: User, Programmer, [[SysAdmin]].
47 Here is a summary of the differences:
49 **Authentication:** [ User ]
51 Before a user can access protected AFS files (s)he needs to become authenticated to AFS using the klog command (Kerberos login) to get a Kerberos "ticket granting ticket" (called a token from here on).
53 Without a token, an unauthenticated user is given the AFS identity "system:anyuser" and as such is only able to access files in directories that have ACLs granting system:anyuser access.
55 Many systems have the klog function built into the system login program. So a user would not even have to know they gain a token on logging in. If you use a system where you have to issue the klog command after login then you should run the pagsh command first (see below).
57 AFS provides access control lists to give more precise control to users wishing to protect their files (see AFS ACL below).
59 **File permissions:** [ User ]
61 Unix mode bits for group and other are ignored. The mode bits for the file owner don't work the way they used to.
63 Users should protect their AFS files with (directory) ACLs only. Just use mode bits to make a file executable.
65 **Data protection with AFS ACLs:** [ User ]
67 Some versions of unix (eg IBM's AIX version 3) allow ACLs on local files. In AFS, ACLs protect directories and used with AFS protection groups (see below) provide a finer granularity of protection than can be achieved with basic unix file permissions. (AFS ACLs are described in more detail below.)
69 **Protection groups:** [ User ]
71 Users can create and maintain their own protection groups in AFS - as opposed to unix where only sys admins can manage protection groups.
73 **Hard links:** [ User ]
75 In AFS, hard links (eg: ln old new) are only valid within a directory. This is because AFS ACLs protect directories (not individual files) and allowing hard links that span directories would subvert ACL protection.
77 Symbolic links work in AFS because they reference a pathname and not an i-node directly. (Hard links reference an i-node directly.)
79 **Changing file protection by moving a file:** [ User ]
81 Moving a file to a different directory will change the protection of a file if the ACL on the new directory if different to the ACL on the original directory.
83 **chown and chgrp:** [ User ]
85 Only members of the AFS group "system:administrators" can use these commands on files in /afs.
87 **Save on close:** [ Programmer ]
89 AFS Cache Manager does not send file modifications to a file server until the close() or fsync() system call.
91 write() system calls only update the local cache copy on the client.
93 Note the difference in semantic of writing a file:
95 <table border="1" cellpadding="0" cellspacing="0">
97 <th bgcolor="#99CCCC"><strong> local unix file: </strong></th>
98 <td> writes update the file "immediately" </td>
101 <th align="center" bgcolor="#99CCCC"><strong> AFS file: </strong></th>
102 <td> local cached copy updated "immediately" but the server copy is only updated when the file is closed or fsync'ed. </td>
106 It is important to understand that most applications (eg: vi, emacs, frame, interleaf, wingz, dogz, etc) issue the close() system call when the user chooses/issues the "save" command in the application.
108 Users are not required to exit the application to "save" their changes back to the server.
110 **byte-range file locking:** [ Programmer ]
112 AFS does not support byte-range locking within a file, although lockf() and fcntl() calls will return 0 (success). The first time a byte-range lock is attempted, AFS will display:
114 "afs: byte-range lock/unlock ignored; make sure no one else else is running this program."
116 **whole file locking:** [ Programmer ]
118 AFS does support advisory locking an entire file with flock(). Processes on the same client workstation that attempt to lock a file obey the proper locking semantics.
120 Processes on different AFS clients requesting a lock on the same file would get EWOULDBLOCK returned.
122 **character and block special files:** [ [[SysAdmin]] ]
124 AFS does not support character and block special files. The mknod command does not create either character or block special files in /afs.
126 **AFS version of fsck:** [ [[SysAdmin]] ]
128 On an AFS server, the partitions containing served files are NOT unix filesystems and standard fsck **must** not be used - use the AFS version instead.
130 ### <a name="2.02 What is an AFS protection"></a><a name="2.02 What is an AFS protection "></a> 2.02 What is an AFS protection group?
132 A named list of users.
134 Group names are used in AFS ACLs to identify lists of users with particular access permissions.
136 In AFS, users can create and maintain their own protection groups. This is different to unix where only the system administrator can manage /etc/group.
138 AFS groups are stored in the protection database on fileserver(s) and managed by using the "pts" command.
140 An AFS group typically has the format:
142 - owner-id:group-name
144 By default, only the owner of a group can change its members.
146 It is possible to have both users and IP addresses as members of an AFS group. By using an IP address like this you can specify all the users from the host with that IP address.
148 ### <a name="2.03 What are the AFS defined p"></a> 2.03 What are the AFS defined protection groups?
151 - Everyone who has access to an AFS client in any cell that is on the same network as your cell.
154 - Everyone who has access to an AFS client in any cell that is on the same network as your cell **and** has valid tokens for your cell (ie has been authenticated in your cell).
156 - system:administrators
157 - Users who have privileges to execute some but not all system administrator commands.
159 ### <a name="2.04 What is an AFS access cont"></a> 2.04 What is an AFS access control list (ACL)?
161 There is an ACL for every directory in AFS. The ACL specifies protection at the directory level (not file level) by listing permissions of users and/or groups to a directory. There is a maximum of 20 entries on an ACL.
165 An AFS ACL is displayed by using the "fs" command as shown below:
167 tweety@toontown $ fs listacl .
173 This ACL shows that members of the AFS protection group "fac:coords" have full access rights to the current directory and "system:anyuser" has only read and lookup rights.
175 The members of "fac:coords" can be determined by accessing the protection group database using the "pts" command as shown below:
177 tweety@toontown $ pts membership fac:coords
178 Members of fac:coords (id: -1577) are:
183 ### <a name="2.05 What are the AFS access ri"></a> 2.05 What are the AFS access rights?
185 In AFS, there are seven access rights that may be set or not set:
187 <table border="1" cellpadding="0" cellspacing="0">
189 <th bgcolor="#99CCCC"><strong> lookup </strong></th>
190 <td><code>l</code></td>
191 <td> Permission to examine the ACL and traverse the directory (needed with most other access rights). Permission to look up filenames in a directory. </td>
194 <th bgcolor="#99CCCC"><strong> read </strong></th>
195 <td><code>r</code></td>
196 <td> View the contents of files in the directory </td>
199 <th bgcolor="#99CCCC"><strong> insert </strong></th>
200 <td><code>i</code></td>
201 <td> Add new files or sub-directories </td>
204 <th bgcolor="#99CCCC"><strong> write </strong></th>
205 <td><code>w</code></td>
206 <td> Modify file contents, use "chmod" </td>
209 <th bgcolor="#99CCCC"><strong> delete </strong></th>
210 <td><code>d</code></td>
211 <td> Remove file(s) in directory </td>
214 <th bgcolor="#99CCCC"><strong> lock </strong></th>
215 <td><code>k</code></td>
216 <td> Permission for programs to "flock" files in the directory </td>
219 <th bgcolor="#99CCCC"><strong> administer </strong></th>
220 <td><code>a</code></td>
221 <td> Ability to change the ACL </td>
225 There are short-hand forms:
227 <table border="1" cellpadding="0" cellspacing="0">
229 <th bgcolor="#99CCCC"><strong> read </strong></th>
230 <td><code>rl</code></td>
231 <td> read and lookup </td>
234 <th bgcolor="#99CCCC"><strong> write </strong></th>
235 <td><code>rlidwk</code></td>
236 <td> all rights except administer </td>
239 <th bgcolor="#99CCCC"><strong> all </strong></th>
240 <td><code>rlidwka</code></td>
241 <td> all rights </td>
244 <th bgcolor="#99CCCC"><strong> none </strong></th>
246 <td> removes all rights </td>
250 ### <a name="2.06 What is pagsh?"></a> 2.06 What is pagsh?
252 A command to get a new shell with a process authentication group (PAG).
254 This is normally used if your system does not use the AFS version of login. It is used to get a PAG prior to running klog.
256 The PAG uniquely identifies the user to the Cache Manager. Without a PAG the Cache Manager uses the unix UID to identify a user.
258 ### <a name="2.07 Why use a PAG?"></a> 2.07 Why use a PAG?
260 There are two reasons:
262 1. Child processes inherit the PAG and the Kerberos token so they are AFS authenticated.
264 1. For security: if you don't have a PAG then the Cache Manager identifies you by unix UID. Another user with root access to the client could su to you and therefore use your token.
266 ### <a name="2.08 How can I tell if I have a"></a> 2.08 How can I tell if I have a PAG?
268 You can tell if you have a PAG by typing "groups". A PAG is indicated by the appearance of two integers in the list of groups.
272 sylvester@toontown $ groups
273 33536 32533 staff catz
275 ### <a name="2.09 Can I still run cron jobs"></a><a name="2.09 Can I still run cron jobs "></a> 2.09 Can I still run cron jobs with AFS?
277 Yes, but remember that in order to fully access files in AFS you have to be AFS authenticated. If your cron job doesn't klog then it only gets system:anyuser access.
279 The klog command has a "-pipe" option which will read a password from stdin. IF (yes, that's a big if :-) you are prepared to store your password in a local (non-AFS) file then you might use the following:
281 (a) create a "wrapper" script to get a PAG, get your AFS token and execute a command:
283 #!/usr/afsws/bin/pagsh
286 # AUTHOR Paul Blackburn <mpb@acm.org>
287 # PURPOSE Run an AFS authenticated cron job.
288 # Get a PAG, get the user's token,
289 # then exec user's command
294 echo "Usage: ${CMD} [ -principal AFSID ] passwordfile command" >&2
297 if [ ${1} = "-principal" ]; then
298 PRINCIPAL="${1} ${2}"
302 if [ -z "${1}" ]; then
303 echo "${CMD} error: need name of password file" >&2
311 /usr/afsws/bin/klog ${PRINCIPAL} -pipe < ${passwordfile}
313 if [ -z "${1}" ]; then
314 echo "${CMD} error: need name of command to run" >&2
319 command=`echo ${command_line} | awk '{print $1}'`
321 # Check if we can run the command.
322 # If we got this far, it is likely that the command name is correct
323 # but there may be a problem in accessing the command file.
324 # If there is an error, log it via syslog (logger) rather than ">&2"
326 if [ ! -x "${command}" ]; then
327 M="error: unable to execute command ${command}"
328 logger -i -t "${CMD}" "${M}"
334 (b) Store your password in a local (non-AFS) file that only you have access to (perhaps: /home/$USER/.p).
336 Make sure that this file is mode 600 and also be sure that you trust whoever has root access on this system and whoever has access to backup tapes! Also, don't forget to change this file if you change your AFS password.
338 (c) In your crontab file, run afs\_wrap\_cron followed by unlog:
340 0 6 * * * /usr/local/bin/afs_wrap_cron /home/$USER/.p \
341 $HOME/bin/6AMdaily; /usr/afsws/bin/unlog
343 Note that you can still run a cron job without getting a token if the task does not need to be AFS authenticated. In this case, you may get stderr from the cron job if your .profile is not accessible because of the ACL protecting your $HOME. Simply redirect to /dev/null:
345 0 7 * * * $sys_anyuser_readable_dir/7AMdaily 2>/dev/null
347 ### <a name="2.10 How much disk space does a"></a> 2.10 How much disk space does a 1 byte file occupy in AFS?
351 Other filesystems allocate different file block sizes. For example, IBM's AIX version 3 journaled file system (JFS) uses 4K blocks (exception: 2K for the 160MB disk drive).
353 Such blocksize differences lead to variations on the amount of disk space required to store files. Copying a directory from AFS to AIX JFS would require more space in JFS because of the block fragmentation.
357 (a) Create a one byte file in AFS and use "ls -s" to show how many kilobytes it occupies:
359 ariel@atlantica $ echo z >/afs/dsea/tmp/one_byte_file
360 ariel@atlantica $ ls -s /afs/dsea/tmp/one_byte_file
361 1 /afs/dsea/tmp/one_byte_file
363 (b) Create same file in local filesystem (AIX JFS):
365 ariel@atlantica $ echo z >/tmp/one_byte_file
366 ariel@atlantica $ ls -s /tmp/one_byte_file
369 ### <a name="2.11 Is it possible to specify"></a><a name="2.11 Is it possible to specify "></a> 2.11 Is it possible to specify a user who is external to the current AFS cell on an ACL?
371 No. You cannot reference a particular user from another AFS cell.
373 You can specify an IP address on the ACL; this means any and all users from the host with that IP address.
375 Another solution to this problem is to give the external user an "authentication-only" account in your AFS cell. This means that (s)he can klog (but has no home directory) in your cell.
377 # Example: AFS administrator creates an authentication-only user
378 $ uss add daffy "Daffy Duck" -t /dev/null
379 $ kas setpassword daffy -admin admin
381 Cross-realm authentication (where co-operating cells are able to specify remore users as "user@remote.cell" on an ACL) is an **unsupported** feature of AFS 3.3a. That means that Transarc doesn't promise to make it work for you, nor keep it running in future releases.
383 ### <a name="2.12 Are there any problems pri"></a> 2.12 Are there any problems printing files in /afs?
385 The issue of printing in AFS is almost always the same: what do you send to the printing daemon? Do you send it the bytes you want to print or do you just send the file name containing those bytes? If you send it a file name, you have to be sure that the printing daemon can read it. Most daemons run with no AFS tokens, so can't access directories unless they are open for system:anyuser read access. Often, printing commands (lpr, lp, enq) have an option that allows for both modes of operation, though the default behavior varies from system to system. If you're interested in making your daemons authenticate to AFS, check out the example scripts in AFS-Contrib:
387 - <file:///afs/transarc.com/public/afs-contrib/tools/reauth-example>
388 - <ftp://ftp.transarc.com/pub/afs-contrib/tools/reauth-example/MANIFEST>
390 Another common problem is setuid printing commands. For instance, the "enq" command runs as root, daemon, or some such user. If you aren't using the AFS login and simply issue "klog" to get tokens, those tokens are associated with your uid. When setuid programs run, they lose access to your token and often can't read the file name given as an argument. The solution in this case is to use "pagsh" before "klog" so that your tokens are transferred to subprocesses automatically by group membership. This works even if the uid changes, as for setuid programs.
392 ### <a name="2.13 Can I create a fifo (aka n"></a> 2.13 Can I create a fifo (aka named pipe) in /afs?
394 No. AFS does not support "mknod fifofile p".
396 ### <a name="2.14 If an AFS server crashes,"></a><a name="2.14 If an AFS server crashes, "></a> 2.14 If an AFS server crashes, do I have to reboot my AFS client?
400 Typically, if an AFS server becomes unavailable, the AFS Cache Manager on your AFS client will see you through the outage until the server returns. This robustness is dependent on the way your AFS cell has been configured including the following factors:
402 - On the client side:
403 - How big is the cache?
404 - Are the files you need already in the cache?
406 - On the server side:
407 - How many servers? It's best to have a minimum of three.
408 - Is the data you are accessing replicated? In AFS, replicas are [[ReadOnly]] copies.
410 With replicated volumes, the AFS Cache Manager knows about all of the servers on which the replicas are located. Therefore, when the Cache Manager accesses a replicated volume, if the RPC times out, the Cache Manager automatically retrys the RPC, using a different file server.
412 If necessary, the Cache Manager will attempt to contact all file servers on which a replica of the volume resides.
414 If you are accessing [[ReadWrite]] volumes on a crashed server then you will not be able to save changes back to the server until it returns.
416 You don't need to reboot, and the Cache Manager activity is "invisible" to the user.
418 ### <a name="2.15 Can I use AFS on my diskle"></a> 2.15 Can I use AFS on my diskless workstation?
420 Yes. The AFS Cache Manager can be configured to work with either a disk based cache or a memory (RAM) based cache. With the latter, you can expect file access from the cache with a whizz!
422 <http://www.uni-hohenheim.de/~schaefer/afs/info-afs/1306.html>
424 ### <a name="2.16 Can I test for AFS tokens"></a><a name="2.16 Can I test for AFS tokens "></a> 2.16 Can I test for AFS tokens from within my program?
426 Yes. Some sample code showing how to do this can be found in:
428 <file:///afs/transarc.com/public/afs-contrib/tools/auth-samples/listtokens.c> <ftp://ftp.transarc.com/pub/afs-contrib/tools/auth-samples/listtokens.c>
430 ### <a name="2.17 What's the difference betw"></a> 2.17 What's the difference between /afs/cellname and /afs/.cellname?
432 AFS has [[ReadOnly]] (RO) and [[ReadWrite]] (RW) volumes.
434 The convention in AFS is to mount the RW volume "root.cell" as /afs/.cellname and the RO volume "root.cell.readonly" as /afs/cellname.
436 This is so that when you travel down the /afs/.cellname link, AFS will always use the RW site of any volumes that have RO clones.
438 This allows your administrator to update the RW copy of a volume and "vos release $volname" so that it will appear in /afs/cellname.
440 ### <a name="2.18 Can I klog as two users on"></a> 2.18 Can I klog as two users on a machine in the same cell?
442 Yes, if you use two different PAGs.
444 It's: "One token per PAG per client system."
446 From one shell you can only authenticate as a single user of a cell. If you open another shell (with another PAG) you can klog as a different user of the same cell from the same client.
448 You can authenticate into many cells from one client shell.
450 ### <a name="2.19 What are the ~/._afsXXXX f"></a> 2.19 What are the ~/.\_\_afsXXXX files?
452 They are temporary reference files used by the AFS Cache Manager.
454 In UNIX filesystems, when you a remove a file that is kept open by a process, the file stays around physically while it is no longer referenced in any directory (which you will see as a mismatch between disk space usage according to df and du).
456 Some applications rely on that feature, e.g. they create a temporary file and remove it immediatley while keeping the file descriptor open. The file then disappears from the filesystem automagically when the process terminates or the file descriptor gets closed otherwise. Such applications could get into trouble with older versions of AFS, where the file could really disappear while it was held open.
458 Newer versions of AFS rename such files to .\_\_afsXXXX, thus making sure that the data stays around as expected by the application. As soon as the file gets closed, the associated .\_\_afsXXXX should disappear.
460 ### <a name="2.20 How do you set up IP-based"></a> 2.20 How do you set up IP-based ACLs?
462 See <http://www.duke.edu/~jhv/answers/afs-ip-acls.html> and [[IPAccessControl]].
464 [http://www.gsyb.com 压力表] [http://www.shop263.com/i-410/1.htm 活性炭] [http://www.shop263.com/i-410/2.htm 火柴专用胶] [http://www.shop263.com/i-410/3.htm 基准试剂] [http://www.shop263.com/i-410/4.htm 甲基庚烯酮] [http://www.shop263.com/i-410/5.htm 甲基乙烯酮] [http://www.shop263.com/i-410/6.htm 钾明矾] [http://www.shop263.com/i-410/7.htm 酵母抽提物] [http://www.shop263.com/i-410/8.htm 精炼油] [http://www.shop263.com/i-410/9.htm 精酶] [http://www.shop263.com/i-410/10.htm 精细化学品] [http://www.shop263.com/i-410/11.htm 酒石酸] [http://www.shop263.com/i-410/12.htm 聚丙烯酰胺] [http://www.shop263.com/i-410/13.htm 聚合物添加剂] [http://www.shop263.com/i-410/14.htm 抗氧化剂] [http://www.shop263.com/i-410/15.htm 抗氧化剂TBHQ] [http://www.shop263.com/i-410/16.htm 抗氧化剂特丁基对苯二酚] [http://www.shop263.com/i-410/17.htm 昆仑酶] [http://www.shop263.com/i-410/18.htm 昆仑酶003A] [http://www.shop263.com/i-410/19.htm 昆仑酶004A] [http://www.shop263.com/i-410/20.htm 辣椒红色素] [http://www.shop263.com/i-410/21.htm 冷制品] [http://www.shop263.com/i-410/22.htm 邻苯基苯酚] [http://www.shop263.com/i-410/23.htm 磷酸脲] [http://www.shop263.com/i-410/24.htm 硫酸镁] [http://www.shop263.com/i-410/25.htm 硫酸铜] [http://www.shop263.com/i-410/26.htm 硫酸亚铁] [http://www.shop263.com/i-410/27.htm 柳酸甲酯] [http://www.shop263.com/i-410/28.htm 六偏磷酸钠] [http://www.shop263.com/i-410/29.htm 氯丙酸] [http://www.shop263.com/i-410/30.htm 氯化胆碱] [http://www.shop263.com/i-410/31.htm 氯氰碘柳胺] [http://www.shop263.com/i-410/32.htm 氯氰碘柳胺钠] [http://www.shop263.com/i-410/33.htm 没食子酸丙酯] [http://www.shop263.com/i-410/34.htm 面包素] [http://www.shop263.com/i-410/35.htm 明矾] [http://www.shop263.com/i-410/36.htm 明胶] [http://www.shop263.com/i-410/37.htm 柠檬酸] [http://www.shop263.com/i-410/38.htm 柠檬酸钙] [http://www.shop263.com/i-410/39.htm 柠檬酸钾] [http://www.shop263.com/i-410/40.htm 柠檬酸镁] [http://www.shop263.com/i-410/41.htm 柠檬酸钠] [http://www.shop263.com/i-410/42.htm 柠檬酸苹果酸钙] [http://www.shop263.com/i-410/43.htm 柠檬酸盐] [http://www.shop263.com/i-410/44.htm 泡打粉] [http://www.shop263.com/i-410/45.htm 山梨酸钾] [http://www.shop263.com/i-410/46.htm 山梨酸盐] [http://www.shop263.com/i-410/47.htm 砷酸] [http://www.shop263.com/i-410/48.htm 生化试剂] [http://www.shop263.com/i-410/49.htm 生物工程产品] [http://www.shop263.com/i-410/50.htm 生育酚] [http://www.shop263.com/i-410/51.htm 石油化工催化剂] [http://www.shop263.com/i-410/52.htm 食品级] [http://www.shop263.com/i-410/53.htm 食品配料] [http://www.shop263.com/i-410/54.htm 食品添加剂] [http://www.shop263.com/i-410/55.htm 食品用香精] [http://www.shop263.com/i-410/56.htm 食用酒精] [http://www.shop263.com/i-410/57.htm 薯蓣皂素] [http://www.shop263.com/i-410/58.htm 双烯醇酮醋酸酯] [http://www.shop263.com/i-410/59.htm 水果蔬菜保鲜剂] [http://www.shop263.com/i-410/60.htm 水溶性药物包衣材料] [http://www.shop263.com/i-410/61.htm 水杨酸] [http://www.shop263.com/i-410/62.htm 饲料级] [http://www.shop263.com/i-410/63.htm 饲料添加剂] [http://www.shop263.com/i-410/64.htm 羧甲基纤维素钠CMC] [http://www.shop263.com/i-410/65.htm 碳酸钡] [http://www.shop263.com/i-410/66.htm 碳酸钙] [http://www.shop263.com/i-410/67.htm 碳酸镁] [http://www.shop263.com/i-410/68.htm 碳酸盐] [http://www.shop263.com/i-410/69.htm 无水磷酸氢二钠] [http://www.shop263.com/i-410/70.htm 无水磷酸三钠] [http://www.shop263.com/i-410/71.htm 无水柠檬酸] [http://www.shop263.com/i-410/72.htm 烯炔醇] [http://www.shop263.com/i-410/73.htm 香甜泡打粉] [http://www.shop263.com/i-410/74.htm 橡胶助剂] [http://www.shop263.com/i-410/75.htm 硝酸钡] [http://www.shop263.com/i-410/76.htm 畜禽生物技术产品] [http://www.shop263.com/i-410/77.htm 畜禽药品] [http://www.shop263.com/i-410/78.htm 选矿药剂] [http://www.shop263.com/i-410/79.htm 烟酰胺] [http://www.shop263.com/i-410/80.htm 颜料] [http://www.shop263.com/i-410/81.htm 氧化锌] [http://www.shop263.com/i-410/82.htm 叶黄素] [http://www.shop263.com/i-410/83.htm 液体硫酸铝] [http://www.shop263.com/i-410/84.htm 一水柠檬酸] [http://www.shop263.com/i-410/85.htm 医药级] [http://www.shop263.com/i-410/86.htm 医药原料] [http://www.shop263.com/i-410/87.htm 异植物醇] [http://www.shop263.com/i-410/88.htm 益生素] [http://www.shop263.com/i-410/89.htm 有机硅] [http://www.shop263.com/i-410/90.htm 有机试剂] [http://www.shop263.com/i-410/91.htm 玉米超氧化物岐化酶] [http://www.shop263.com/i-410/92.htm 指示剂] [http://www.shop263.com/i-410/93.htm 着色剂] [http://www.shop263.com/i-410/94.htm 色素色淀] [http://www.shop263.com/i-410/95.htm 山苍子油] [http://www.shop263.com/i-410/96.htm 山梨酸钙] [http://www.shop263.com/i-410/97.htm 生物添加剂] [http://www.shop263.com/i-410/98.htm 泛醇] [http://www.shop263.com/i-410/99.htm 生物素] [http://www.shop263.com/i-410/100.htm 半胱氨酸碱] [http://www.shop263.com/i-410/101.htm 丙氨酸] [http://www.shop263.com/i-410/102.htm 精氨酸] [http://www.shop263.com/i-410/103.htm 精氨酸盐酸盐] [http://www.shop263.com/i-410/104.htm 天冬酰胺水合物] [http://www.shop263.com/i-410/105.htm 天门冬氨酸] [http://www.shop263.com/i-410/106.htm NPK复混肥] [http://www.shop263.com/i-410/107.htm PVP系列] [http://www.shop263.com/i-410/108.htm 氨基酸] [http://www.shop263.com/i-410/109.htm 氨基乙酸] [http://www.shop263.com/i-410/110.htm 铵明矾] [http://www.shop263.com/i-410/111.htm 按叶油] [http://www.shop263.com/i-410/112.htm 巴豆醛] [http://www.shop263.com/i-410/113.htm 白砂糖] [http://www.shop263.com/i-410/114.htm 保健食品] [http://www.shop263.com/i-410/115.htm 保鲜剂] [http://www.shop263.com/i-410/116.htm 焙烤食品] [http://www.shop263.com/i-410/117.htm 苯甲酸] [http://www.shop263.com/i-410/118.htm 苯甲酸钾] [http://www.shop263.com/i-410/119.htm 苯甲酸钠] [http://www.shop263.com/i-410/120.htm 苯氯化产品] [http://www.shop263.com/i-410/121.htm 苯乙醇] [http://www.shop263.com/i-410/122.htm 表面活性剂] [http://www.shop263.com/i-410/123.htm 冰片] [http://www.shop263.com/i-410/124.htm 丙氨酸] [http://www.shop263.com/i-410/125.htm 丙氨酰] [http://www.shop263.com/i-410/126.htm 超临界] [http://www.shop263.com/i-410/127.htm 超氧化物歧化酶SOD] [http://www.shop263.com/i-410/128.htm 赤砂糖] [http://www.shop263.com/i-410/129.htm 醋酸钠] [http://www.shop263.com/i-410/130.htm 碘醚柳胺] [http://www.shop263.com/i-410/131.htm 电子化学品] [http://www.shop263.com/i-410/132.htm 动物饲料添加剂] [http://www.shop263.com/i-410/133.htm 豆粕] [http://www.shop263.com/i-410/134.htm 豆油] [http://www.shop263.com/i-410/135.htm 对虾饵料添加剂] [http://www.shop263.com/i-410/136.htm 对硝基苯砷酸] [http://www.shop263.com/i-410/137.htm 二苯醚] [http://www.shop263.com/i-410/138.htm 泛酸钙] [http://www.shop263.com/i-410/139.htm 复合氨基酸] [http://www.shop263.com/i-410/140.htm 复合肥] [http://www.shop263.com/i-410/141.htm 果蔬保鲜剂] [http://www.shop263.com/i-410/142.htm 甘氨酸] [http://www.shop263.com/i-410/143.htm 甘氨酸铝锆] [http://www.shop263.com/i-410/144.htm 甘氨酸衍生物] [http://www.shop263.com/i-410/145.htm 肝素] [http://www.shop263.com/i-410/146.htm 高纯试剂] [http://www.shop263.com/i-410/147.htm 高蛋白饲料] [http://www.shop263.com/i-410/148.htm 高分子材料] [http://www.shop263.com/i-410/149.htm 工业防霉剂] [http://www.shop263.com/i-410/150.htm 谷氨酰胺] [http://www.shop263.com/i-410/151.htm 骨胶] [http://www.shop263.com/i-410/152.htm 固体硫酸铝] [http://www.shop263.com/i-410/153.htm 合成樟脑粉] [http://www.shop263.com/i-410/154.htm 胡萝卜素] [http://www.shop263.com/i-410/155.htm 花生油] [http://www.shop263.com/i-410/156.htm 化学试剂] [http://www.shop263.com/i-410/157.htm 黄原胶] [http://www.shop263.com/i-410/158.htm 茴脑] [http://www.shop263.com/i-410/159.htm 糖果] [http://www.shop263.com/i-410/160.htm 特丁基对苯二酚] [http://www.shop263.com/i-410/161.htm 天门冬氨酸] [http://www.shop263.com/i-410/162.htm 天然薄荷脑] [http://www.shop263.com/i-410/163.htm 天然食品着色剂] [http://www.shop263.com/i-410/164.htm 透明质酸] [http://www.shop263.com/i-410/165.htm 脱水明矾] [http://www.shop263.com/i-410/166.htm 维生素A] [http://www.shop263.com/i-410/167.htm 维生素AD3粉] [http://www.shop263.com/i-410/168.htm 维生素A油醋酸酯] [http://www.shop263.com/i-410/169.htm 维生素B] [http://www.shop263.com/i-410/170.htm 维生素B3] [http://www.shop263.com/i-410/171.htm 维生素D3油] [http://www.shop263.com/i-410/172.htm 维生素E] [http://www.shop263.com/i-410/173.htm 维生素烟酰胺] [http://www.shop263.com/i-410/174.htm 文化用纸] [http://www.shop263.com/i-410/175.htm 无机试剂] [http://www.shop263.com/i-410/176.htm 无水磷酸二氢钠] [http://www.shop263.com/i-410/177.htm 无水磷酸氢二钾] [http://www.shop263.com/i-410/178.htm 苹果酸] [http://www.shop263.com/i-410/179.htm 苹果酸钙] [http://www.shop263.com/i-410/180.htm 苹果酸盐] [http://www.shop263.com/i-410/181.htm 葡萄糖] [http://www.shop263.com/i-410/182.htm 岐化酶] [http://www.shop263.com/i-410/183.htm 氢氧化铝] [http://www.shop263.com/i-410/184.htm 轻质碳酸钙] [http://www.shop263.com/i-410/185.htm 氰化产品] [http://www.shop263.com/i-410/186.htm 肉碱] [http://www.shop263.com/i-410/187.htm 乳制品] [http://www.shop263.com/i-410/188.htm 三甲基氢醌] [http://www.shop263.com/i-410/189.htm 三氧化二锑] [http://www.shop263.com/i-410/190.htm 色氨酸]